160个crakeme之006aLoNg3x.1题目分析
0x01:
先运行一下看看有什么提示特点
发现OK是灰色的 点击Cancella是用来清空***框 点击About-Help连着出现四个弹窗
这个"CrackMe"的目的是为了让用户隐藏"OK"和"Cancella"按钮,以便于看到Ringzero标志。所以你必须输入正确的***。
(人名)诺塔:如果这些按钮没有被看不见,那么你就没有**这个Crackme:)
如果你需要一些帮助 给我发电子邮件,或者你解决了这个问题,请把你的解决方案写下来。多谢。
由"aLoNg3x"电子邮件所写的"CrackMe v.1":[email protected]。"RingzerO"成员网址:http://ringzer0.cjb.net
0x02:
PEiD查下壳 发现无壳 并且是Delphi的程序
OD载入不好找关键字符串(我尝试了 只找到那几个弹窗提示) 既然是Delphi的程序 那么就用DeDe
0x03:
载入DeDe
点击窗体 查看一下窗体的各个组件
点击过程 看到OkClick
找到地址是00442D64
将程序载入OD
接着输入地址 点击ok 来到段首 F2下个断点
F9运行程序 输入假码 发现程序无法中断下来 那就换一个
Ctrl+G
接着输入地址00442C78 点击ok 来到段首 F2下个断点
F9运行程序 输入假码 发现程序断了下来(找到关键了)
F8单步慢慢向下走
取到假码
取到用户名
经过几次调试 发现
只要将jnz nop掉 让它顺利走到下边那个jmp Ok键就可以用
其他的我们先不去管 先点击Ok 让程序运行 发现断在了第一次下的断点处
经过分析发现需要将第一个jnz改为jmp
下边这个je nop掉 即可将ok这个按钮隐藏
隐藏效果如图
接着就是用DeDe找到Cancella这个按钮的位置
Ctrl + G
输入00442EA8
点击ok 来到段首 F2下个断点
F9运行程序 输入假码 发现程序断了下来
F8单步进行分析(就是各个跳转分析下 实验实验)
分析可知只需要将第一个je跳转nop掉即可 接着F9运行程序就可以隐藏Cancella这个按钮
好了 任务完成 嘻嘻
算法分析还是看这两位大神的:
https://www.cnblogs.com/bbdxf/p/3788289.html
https://www.52pojie.cn/thread-610580-1-1.html
(还有关于怎样汉化这个crakeme的讲解)