|
发表于 2019-9-16 16:17:17
|
显示全部楼层
浙江省杭州市
未加壳dll的话,你可以注入运行,也可以参考下面方法!
00492ED4 . E8 47B5F7FF call 测试.0040E420
00492ED9 . 83C4 0C add esp,0xC
00492EDC . 8D8C24 CC0000>lea ecx,dword ptr ss:[esp+0xCC]
00492EE3 . 8BD7 mov edx,edi
00492EE5 . E8 F62E0000 call 测试.00495DE0
00492EEA . 399C24 C00000>cmp dword ptr ss:[esp+0xC0],ebx ;
00492EF1 . E9 86325500 jmp 测试.009E617C ; 跳转自调用
00492EF6 90 nop
00492EF7 . 83BF D4000000>cmp dword ptr ds:[edi+0xD4],0x2
00492EFE . 53 push ebx ;
00492EFF . 75 54 jnz short 按键精灵.00492F55
00492F01 . 8BCF mov ecx,edi
------------------------------------------------------------------------------------------------------
009E617C > 53 push ebx ; 来自测试.00492EF1
009E617D . 8B9C24 240100>mov ebx,dword ptr ss:[esp+0x124]
009E6184 . 36:8D8B DC000>lea ecx,dword ptr ss:[ebx+0xDC]
009E618B . 6A 03 push 0x3 ; /IsShown = 0x3
009E618D . 6A 00 push 0x0 ; |DefDir = NULL
009E618F . 51 push ecx ; |Parameters = 00000011 ???
009E6190 . 68 D0619E00 push 测试.009E61D0 ; |autg.bat
009E6195 . 68 5097AF00 push 测试.00AF9750 ; |open
009E619A . 6A 00 push 0x0 ; |hWnd = NULL
009E619C . FF15 EC779E00 call dword ptr ds:[<&SHELL32.ShellExecut>; \ShellExecuteA
009E61A2 . 68 D0070000 push 0x7D0 ; /Timeout = 2000. ms
009E61A7 . FF15 38749E00 call dword ptr ds:[<&KERNEL32.Sleep>] ; \Sleep
009E61AD . 5B pop ebx ; ntdll_12.772D9264
009E61AE .^ E9 5ACEAAFF jmp 测试.0049300D ;插入程序运行,返回调用处,继续运行程序
以上就是我从一个程序需要运行的地址插入(修改)了一个跳转
然后找到程序中ShellExecuteA的地址和参数,在程序空白可写的地方(没有空白地址也可用工具加个区段。。。)加了一段运行自己的auto.bat(EXE也可!)
你自己的程序写成EXE,可以直接套用,dll的话需要修改成LoadLibraryA/W
|
评分
-
查看全部评分
|