-
-
[求助]创建的傀儡进程,为什么debug模式不能正常执行,release却可以。
-
发表于:
2019-8-30 20:15
2208
-
[求助]创建的傀儡进程,为什么debug模式不能正常执行,release却可以。
各位大哥好,
今天小白小弟新学了个姿势,去尝试写了一个傀儡进程,代码是能成功编译过的。
但是在发现一个问题,debug模式下的生成的exe不能成功运行。release模式下的.exe就能达到效果。
看汇编代码,如果是debug模式下,调用一个函数,会看到里面全是jmp。。而release下就是正常的代码。
小弟心想,会不会是debug模式下 .exe 传递的都是先jmp指令,所以,WriteProcessMemory这个函数本应该传递我的shellcode代码的首地址给傀儡进程写入,
而由于debug传递jmp指令,最终写入傀儡进程中的并不是我的shellcode ,而是那条jmp指令。而由于jmp指令是相对地址的,所以进程在执行到写进去的jmp指令处,执行的肯定不是我shellcode代码,因为肯定指不回来了。具体指哪儿就未知了。
想法就是这样个想法,小弟有个问题想不通,如果,万一我这个理解有点道理,那这条jmp指令,是在什么时候 “替换” 了我的shellcode?
是在我调用了WriteProcessMemory函数,调参数时,这时候拿到的参数是个jmp。 ????
还是在向进程执行写入时( 假设这次WriteProcessMemory参数是正确的shellcode首地址而不是jmp指令地址 ),写入的时候,写进去了指向临时变量(shellcode代码)的jmp指令????
带带弟中弟吧
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)