添加程序以DLL函数
生活随笔
收集整理的這篇文章主要介紹了
添加程序以DLL函数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
編寫(xiě)DLL:
LIBRARY EXEdiy
EXPORTS
LoadDLL @1
添加DLL函數(shù)到程序的輸入表
0007FDE4 01004556 /CALL 到 RegisterClassExW 來(lái)自 notepad.01004550 0007FDE8 0007FDF0 \pWndClassEx = 0007FDF0 0007FDEC 77D19D69 user32.LoadCursorW 0007FDF0 00000030 0007FDF4 00000000 0007FDF8 01003429 返回到 notepad.01003429 來(lái)自 EXEdiy.LoadDLL 這里是注冊(cè)的消息過(guò)程函數(shù) 修改為 DLL 中的函數(shù)就行了 0007FDFC 00000000 0007FE00 00000000 0007FE04 01000000 ASCII "MZ@"修改notepad.01003429 為:
01003424 E8 E7DBFF0E call EXEdiy.LoadDLL //在DLL模塊中尋找我們想要加入的函數(shù)地址 01003429 90 nop 0100342A 90 nop 0100342B 55 push ebp
再返回 ?修改 注冊(cè)函數(shù):
01004528 |. C745 F4 01000>mov [local.3],0x1 ; | 0100452F |. 8975 E4 mov [local.7],esi ; | 01004532 |. C745 F8 20900>mov [local.2],notepad.01009020 ; |UNICODE "Notepad" 01004539 |. C745 D8 24340>mov [local.10],notepad.01003424 ; |這里是消息函數(shù) 修改為我們的01003424 01004540 |. C745 F0 06000>mov [local.4],0x6 ; | 01004547 |. 897D D4 mov [local.11],edi ; | 0100454A |. 897D DC mov [local.9],edi ; | 0100454D |. 897D E0 mov [local.8],edi ; | 01004550 |. FF15 D0110001 call dword ptr ds:[<&USER32.RegisterClassExW>] ; \RegisterClassExW
?最后成功HOOK了 ? ? 這種方式是 修改程序代碼 ?第一次見(jiàn)到
第二 ?可以添加程序的菜單:
//用 eXeScope 取修改 添加子菜單 記錄下 //當(dāng)消息為WM_COMMAND , ID = wParam也就是ID號(hào)case WM_COMMAND:if (wParam == 123){MessageBoxA(hwnd,"成功添加我們的按鈕","OK",MB_OK);}break;轉(zhuǎn)載于:https://www.cnblogs.com/zcc1414/p/3982498.html
總結(jié)
以上是生活随笔為你收集整理的添加程序以DLL函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Struts2+Spring3+Hibe
- 下一篇: thymeleaf 的 th:oncli