以下是一个CALL指令的内容:
:0040DDCC 6854C14000 push 0040C154
:0040DDD1 64A100000000 mov eax, dword ptr fs:[00000000]
:0040DDD7 50 push eax
:0040DDD8 8B442410 mov eax, dword ptr [esp+10]
:0040DDDC 896C2410 mov dword ptr [esp+10], ebp
:0040DDE0 8D6C2410 lea ebp, dword ptr [esp+10]
:0040DDE4 2BE0 sub esp, eax
:0040DDE6 53 push ebx
:0040DDE7 56 push esi
:0040DDE8 57 push edi
:0040DDE9 8B45F8 mov eax, dword ptr [ebp-08]
:0040DDEC 8965E8 mov dword ptr [ebp-18], esp
:0040DDEF 50 push eax
:0040DDF0 8B45FC mov eax, dword ptr [ebp-04]
:0040DDF3 C745FCFFFFFFFF mov [ebp-04], FFFFFFFF
:0040DDFA 8945F8 mov dword ptr [ebp-08], eax
:0040DDFD 8D45F0 lea eax, dword ptr [ebp-10]
:0040DE00 64A300000000 mov dword ptr fs:[00000000], eax
:0040DE06 C3 ret
本人近来对破解突然感了兴趣,也是受一个朋友的影响,正在苦看《加密与解密》第二版,汇编我学过,好久不用,已经忘得差不多了,正在向老师讨要回来,呵呵。
请教在以上这段代码中,0040DDD1 和0040DE00两行,用了FS段寄存器,如何知道数据倒底存哪里去了?
声明段的话,应该用到ASSUME这条指令,像我用W32DASM反汇编后,根本找不到这条指令,可能ASSUME是伪指令,而W32DASM只是显示代码段的内容是吧?
请高手不吝赐教,谢谢!
哦,再问一下,这个方法,是不是所谓的“自修改”技术?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课