今性趣来了,把Windows自带的NotePad拿来出跟踪,想进一步有所了解。
但有点不明白。为什么一开始的时间程序就自身检查MZ和PE这些东西哇?如果不是这些那程序就可能运行了吧。
难道notepad还能在其它的什么平台上运行???
望高人指点一二。。。
0100739D >/$ 6A 70 push 70
0100739F |. 68 98180001 push NOTEPAD.01001898
010073A4 |. E8 BF010000 call NOTEPAD.01007568
010073A9 |. 33DB xor ebx, ebx
010073AB |. 53 push ebx ; /pModule => NULL
010073AC |. 8B3D CC100001 mov edi, dword ptr ds:[<&KERNEL32.GetModuleHand>; |kernel32.GetModuleHandleA
010073B2 |. FFD7 call edi ; \GetModuleHandleA
010073B4 |. 66:8138 4D5A cmp word ptr ds:[eax], 5A4D
010073B9 |. 75 1F jnz short NOTEPAD.010073DA
010073BB |. 8B48 3C mov ecx, dword ptr ds:[eax+3C]
010073BE |. 03C8 add ecx, eax
010073C0 |. 8139 50450000 cmp dword ptr ds:[ecx], 4550
010073C6 |. 75 12 jnz short NOTEPAD.010073DA
010073C8 |. 0FB741 18 movzx eax, word ptr ds:[ecx+18]
010073CC |. 3D 0B010000 cmp eax, 10B
010073D1 |. 74 1F je short NOTEPAD.010073F2
010073D3 |. 3D 0B020000 cmp eax, 20B
010073D8 |. 74 05 je short NOTEPAD.010073DF
010073DA |> 895D E4 mov [local.7], ebx
010073DD |. EB 27 jmp short NOTEPAD.01007406
010073DF |> 83B9 84000000 0E cmp dword ptr ds:[ecx+84], 0E
010073E6 |.^ 76 F2 jbe short NOTEPAD.010073DA
010073E8 |. 33C0 xor eax, eax
010073EA |. 3999 F8000000 cmp dword ptr ds:[ecx+F8], ebx
010073F0 |. EB 0E jmp short NOTEPAD.01007400
010073F2 |> 8379 74 0E cmp dword ptr ds:[ecx+74], 0E
010073F6 |.^ 76 E2 jbe short NOTEPAD.010073DA
010073F8 |. 33C0 xor eax, eax
010073FA |. 3999 E8000000 cmp dword ptr ds:[ecx+E8], ebx
01007400 |> 0F95C0 setne al
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!