【纯小白】【玩玩破解,写给新人看(第九集) 】有提示,但搜不到-实践
大佬@yyhd 原文写得很详细的那集(比如第八集),我会去手动做一次,但不会再写一次,大家去看大佬原文即可,然后针对第九集,我可能有疑惑了,就会再写一次:自己先运行一次CM(有错误提示,OD搜不到).exe,确认有提示信息:
以管理员身份运行OD,拖入程序:CM(有错误提示,OD搜不到).exe,按照之前做过的,先使用中文搜索引擎智能搜索下,发现没有我们想要的:
继续换之前说的,使用F9先跑起来,然后定位到00401000处,再搜索,发现依旧搜不到,那便去内存中搜,点击"m",进入内存模块
然后右键空白处,点击查找,输入“登录失败”,进行查找,乱码也不用管:
找到后,会显示在小窗口中,然后记住地址00481BAF,并右键选择“B5 ”那,下个“内存访问”断点:
然后点击上方的窗口,先择LCG....那个,就又回到了5大区窗口:
之后就F9跑起来,随便输入后,点击确定,程序会断在我们的断点处,停下,我们在数据区Ctrl+G定位到开始让记住的地址00481BAF处:
此时所处的位置在验证call后弹提示信息之间,然后我们在数据区找到我们刚刚下断点那,还是右键-->断点-->删除断点(其实这一步可以不用做,因为我发现,会自动删除):
然后一路F8下去,但我也不知道要经历多少个retn,只管一路执行下去,后来发现执行到一个call时,会执行不下去了,然后会发现此时弹框了,我猜应该是需要关闭信息提示框后,才能继续执行下去,那么这个call就是我们要找的call:
知道了这个call是弹错误信息的call后,我们就可以根据前面所学,找可以跳过这个call,不让他执行的跳转,发现一个jnz,emmm,跳不过,继续往上,找到一个jmp倒是可以跳过,但jmp下面一行又有“>”,说明有跳过来的:
因此,我们得找到跳过来的跳转,然后干掉他,就成功了。
然后还有一种思路,是我在上一篇用到的,直接BP MessageBoxA,也可以,就不再复述了。 实践才是真正的学习,才有真正的收获。
目前这些方法是基础,尤其是断下来后往回一层层Call回溯是新人必过的关口。
只有如此,你才能了解程序的执行流程。
至于快速破解的方法,在后面的课程会逐步学到。
俗话说:心急吃不了热豆腐。
你现在一步步坚持了,一个月后你就不再是小白。
总想一步登天,最后发现还站在原点。 yyhd 发表于 2021-2-24 23:04
实践才是真正的学习,才有真正的收获。
目前这些方法是基础,尤其是断下来后往回一层层Call回溯是新人必过 ...
大佬哥哥 我也是纯小白,想问下,为啥是步过3个retn是因为返回了3次吗,还是什么 求解 {:1_893:}厉害啊大佬 真好,谢谢分享 不懂0000000000000 谢谢大佬,我学习到了 好东西,写得很详细 看了一下这个方法太繁琐了,直接F12暂停法或者信息框断点,按钮事件断点,文本对比,edug都可以搞定。我很喜欢某破解论坛的某恒说的一句话:破解,什么方法最快捷最高效才是最好的方法 看得我有点晕,不是很懂 研究一下,感谢!!! 学习了,谢谢分享.