第三课碰到的疑问 感觉自己钻进去一时半会转不出来了
{:17_1051:} 我在做第三课的作业二的时候 右下角的弹窗 我看了一下午都没有解决掉 尝试了20多次还是没有改掉希望大家帮忙指指错误 自己钻进去绕不过弯来了
我下了断点 跟进call里面
追到了这里
把这个地方修改掉NOP掉
保存出去 虽然右下角的框没了 但是程序直接闪退了 只显示一下就退了
第二次跟入这个里面 它的窗口中
把头直接返回
不闪退了 但是左上角出来了这个 是怎么回事呢?
作业一完成了 作业二和作业一样啊...我怎么也想不起一时怎么完成得了。。 就是这个右下角的框的问题 希望大家帮忙解决下 {:1_893:}
{:17_1082:}{:17_1084:}{:17_1085:}求助啊
我测试了一下~ 第一:nop大法-可以使用的
下面的不需要nop,你只需要nop掉到call的位置,就好了。
00402C45 .5D pop ebp ;吾爱破解.00402C45
第二:ret大法-这个地方不能用,要用要改堆栈平衡。
00402C28 .6A 00 push 0x0 ; /lParam = NULL
00402C2A .68 E0274000 push 吾爱破解.004027E0 ; |DlgProc = 吾爱破解.004027E0
00402C2F .6A 00 push 0x0 ; |hOwner = NULL
00402C31 .68 84000000 push 0x84 ; |pTemplate = 0x84
00402C36 .6A 00 push 0x0 ; |/pModule = NULL
00402C38 .FF15 30745200 call dword ptr ds:[<&KERNEL32.GetModuleH>; |\GetModuleHandleW
00402C3E .50 push eax ; |hInst = 00400000
00402C3F .FF15 38785200 call dword ptr ds:[<&USER32.DialogBoxPar>; \DialogBoxParamW
是这样的,函数调用时的push的参数和call是需要nop掉的。
要是ret的话,需要保留push的参数和call以外的pop和push,就可以保证堆栈平衡。 @奋斗丶小Z 小Z我不知道你作业做了没有.. 你帮忙看看呗?{:17_1084:} {:17_1085:} @Kido Kido老师 向您请教一下我哪里出了问题{:1_893:}希望您抽出一点时间帮忙解答一下 在此谢过 话说你确定你把@Kido 第三课视频看完了? 第三课是加弹窗第二课是去弹窗吧? 349875904 发表于 2015-8-14 19:43
话说你确定你把@Kido 第三课视频看完了?
{:17_1054:} 看完了啊。。 只是这个地方有点蒙圈了 {:17_1084:} 救命救命啊 应该是第二课讲的。第三次课讲的改资源,先更正一下。
吾爱破解培训第二课作业2.exe 应该是这个程序吧。
奋斗丶小Z 发表于 2015-8-15 02:01
我测试了一下~ 第一:nop大法-可以使用的
下面的不需要nop,你只需要nop掉到call的位置,就好了。
{:17_1084:} 还得是小Z啊 {:17_1084:}{:17_1084:}{:17_1084:}NOP掉这里我去试试
为什么Retn会破坏堆栈呢?破坏之后就是打开一会就退出了是吧小Z {:1_893:}多谢多谢
页:
[1]
2