OD载入程序,执行脚本到达:
0043103F 6A 02 push 2
00431041 FF15 405C4300 call dword ptr [435C40] ; msvcrt.__set_app_type
00431047 59 pop ecx
00431048 830D 80FE5C00 F>or dword ptr [5CFE80], FFFFFFFF
0043104F 830D 84FE5C00 F>or dword ptr [5CFE84], FFFFFFFF
00431056 FF15 445C4300 call dword ptr [435C44] ; msvcrt.__p__fmode
0043105C 8B0D 74FE5C00 mov ecx, dword ptr [5CFE74]
00431062 8908 mov dword ptr [eax], ecx
00431064 FF15 485C4300 call dword ptr [435C48] ; msvcrt.__p__commode
0043106A 8B0D 70FE5C00 mov ecx, dword ptr [5CFE70]
00431070 8908 mov dword ptr [eax], ecx
00431072 A1 4C5C4300 mov eax, dword ptr [435C4C]
00431077 8B00 mov eax, dword ptr [eax]
00431079 A3 7CFE5C00 mov dword ptr [5CFE7C], eax
0043107E E8 28010000 call 004311AB
00431083 391D 208E4400 cmp dword ptr [448E20], ebx
00431089 75 0C jnz short 00431097
0043108B 68 A8114300 push 004311A8
00431090 FF15 505C4300 call dword ptr [435C50] ; msvcrt.__setusermatherr
00431096 59 pop ecx
00431097 E8 FA000000 call 00431196
0043109C 68 B0614400 push 004461B0
004310A1 68 AC614400 push 004461AC
004310A6 E8 E5000000 call 00431190 ; jmp 到 msvcrt._initterm
经比较确定应该是Microsoft Visual C++ 7.0 Method2 [调试]程序,经核对Stolen Code如下:
0046BD79 > $ 6A 70 push 70 ;OEP
0046BD7B . 68 40D74700 push 0047D740 ;(1)
0046BD80 . E8 53020000 call 0046BFD8 ;(2)
0046BD85 . 33DB xor ebx, ebx
0046BD87 . 53 push ebx ; /pModule => NULL
0046BD88 . 8B3D 7C414700 mov edi, dword ptr [<&KERNEL32.GetModuleHandleA>] (3) ; |kernel32.GetModuleHandleA (原动力为:03C0B7BC SRO)
0046BD8E . FFD7 call edi ; \GetModuleHandleA
0046BD90 . 66:8138 4D5A cmp word ptr [eax], 5A4D
0046BD95 . 75 1F jnz short 0046BDB6
0046BD97 . 8B48 3C mov ecx, dword ptr [eax+3C]
0046BD9A . 03C8 add ecx, eax
0046BD9C . 8139 50450000 cmp dword ptr [ecx], 4550
0046BDA2 . 75 12 jnz short 0046BDB6
0046BDA4 . 0FB741 18 movzx eax, word ptr [ecx+18]
0046BDA8 . 3D 0B010000 cmp eax, 10B
0046BDAD . 74 1F je short 0046BDCE
0046BDAF . 3D 0B020000 cmp eax, 20B
0046BDB4 . 74 05 je short 0046BDBB
0046BDB6 > 895D E4 mov dword ptr [ebp-1C], ebx
0046BDB9 . EB 27 jmp short 0046BDE2
0046BDBB > 83B9 84000000>cmp dword ptr [ecx+84], 0E
0046BDC2 .^ 76 F2 jbe short 0046BDB6
0046BDC4 . 33C0 xor eax, eax
0046BDC6 . 3999 F8000000 cmp dword ptr [ecx+F8], ebx
0046BDCC . EB 0E jmp short 0046BDDC
0046BDCE > 8379 74 0E cmp dword ptr [ecx+74], 0E
0046BDD2 .^ 76 E2 jbe short 0046BDB6
0046BDD4 . 33C0 xor eax, eax
0046BDD6 . 3999 E8000000 cmp dword ptr [ecx+E8], ebx
0046BDDC > 0F95C0 setne al
0046BDDF . 8945 E4 mov dword ptr [ebp-1C], eax
0046BDE2 > 895D FC mov dword ptr [ebp-4], ebx
------------------------------------------------------------------------------------------------
上面(1)、(2)、(3)处地址需要修改,其中(1)、(3)的我觉得我找的应该是对的,就是不知道如何去找(2)出Call XXXXXXXX 的地址,哪位知道如何找麻烦告诉我一声,先谢谢了
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课