feng100s 发表于 2017-3-26 17:19

新手试炼160之acid burn

本帖最后由 feng100s 于 2017-4-3 18:30 编辑

这个程序应该是160的第一个,说实话,太难了,对于菜鸟来说第一个相比第2、3个感觉难了好多啊。困扰了我很长时间。通过观察,作为练手用,需要解决3个问题。1.程序开始时的提示框。这个暂时没办到,回头补上,或者请大神。本程序提供了2个验证程序一个是serial/name一个是serial。直接方案2.od载入程序,查找—所有参考文本字符串。通过观察输入“try again”上图

通过观察发现有一个“good job dute”,这个很有意思,接着变化思路,开始查找“good job dute”,总共有2个,这时发现有个神奇的现象,有一个是“god job dute”,不知道这是大神的一时疏忽,还是故意在考验我们。这里我们选择good job dude,双击来到调试器。

3.记下位置0042fbd8。一定要记下,实在不行就用纸笔。
4.然后在调试区查找---常量,输入0042fbd8。来到0042fb0c

5.往上找能看到一个关键跳转。Jnz

6.通过观察如果跳转实现就来到了“try again”,我们的目标是不能跳转,怎么办呢?Nop掉 然后保存文件就OK了。保存程序验证。发现是serial的破解。

7.同理,找到下一个“god job dude”重复2-6就完美解决问题了。


求大神解答:关于刚开始的提示框,断点调试后,发现最终调用的是user32.XXX,这个好像是系统上的东西,改完之后不能保存,或者只能保存为.dll动态链接库文件,无法保存到可执行文件。。求大神赐教。或者有什么方法能去掉“Welcome to this Newbies crackme made by acid burn”的提示框。跪谢


补充:上回说到如何能够不让“welcome……”跳出来的想法,感谢大家的支持与指导。经过一段时间的考虑今天试了试,成功了,现在补上。1.      od载入程序,然后一路F8,F2下断点。2.      来到42a1a9,发现call了一个<jmp.&user32.messageboxa>的地方。3.      因为我不知道怎么能不让他call出来,所以干脆讲call函数Nop掉。4.      然后保存程序,OK成功。图示如下



虚无的饭 发表于 2019-3-21 11:47

不让“welcome……”跳出来的方法好像会让注册成功也跳不出来

Hmily 发表于 2017-3-27 16:34

你可以从user32那的代码继续执行,看看到exe的代码位置在哪,应该实际代码在exe那。

yssun 发表于 2017-3-27 17:53

不明觉厉啊

byh3025 发表于 2017-3-27 18:21

你从user32.XXX那儿继续回溯,一直到程序领空就可以改了,然后也可以保存了

xubinche8888 发表于 2017-3-27 19:30

来看看,学习了

萌萌哒新人 发表于 2017-3-27 20:15

顺便学习学习~~

freecode 发表于 2017-3-28 01:39

学习一下160

xy16 发表于 2017-3-28 07:13

建议了解一下系统领空和用户领空的概念

xiaohong 发表于 2017-4-8 18:38

建议了解一下系统领空和用户领空的概念

buddama 发表于 2017-4-9 22:11

这不是最简单的那一类吗?我是新手,也给写个注册机出来了。
页: [1] 2
查看完整版本: 新手试炼160之acid burn