记录一下 160个适合新手的crackme--7,8(爆破)
本帖最后由 moshengdada 于 2022-4-27 14:00 编辑运行环境:
WIN7
涉及工具:
OD,DarkDe4,VB Decompiler
教程类型:爆破
是否讲解思路和原理:
是
以下为图文内容:
第七关和第六关是一个作者,所以爆破的方式也相同,就是改变了注册码生成的方法我本来想追码的,但追了几个小时也没搞出来 然后我去看了也没看懂...... 于是我干脆直接爆破了
7 这个CM和6的要求一样,都是时按钮消失 显示出后面的log
一样使用DEDE找到事件的段首 然后Ctrl+G转到
在段首下断 F9运行点Register按钮
断下
然后单步
这个跳是判断输入的是什么类型的数的,如果输入字符型它就不会跳 输入的是数整型就会跳过这个弹窗 因为我什么都没输它默认是0所以跳了
00442F9D这个判断是判断是否为零 我什么都没输入肯定跳向了失败 所以不让它跳,把他nop掉
继续单步就可以看到 test al,al这个熟悉的判断了
到了关键跳,如果不跳就给dl赋值1 按钮就隐藏了
直接nop掉让它不跳
F9运行程序 Register按钮消失了 然后出现了个新按钮
这个按钮也是可以用DEDE找到事件的 爆破的思路也一样
DEDE找事件段首,OD下断 运行程序点按钮断下然后nop掉关键跳转
nop掉后运行 按钮消失
至于追码我之后再找找别的帖子看看能不能看懂吧{:7_266:}
第八个CM是个非常简单的VB程序
有弹窗
那我们可以尝试多种方法
有弹窗可以试试:
1、搜字符串
2、下个rtcMsgBox断点
无弹窗可以试试:
3、下_vbastrCmp断点
4、FF 25 特征码看到它调用了那些函数
5、按钮事件特征码 816C24
6、用VB Decompiler工具直接分析出按钮事件
1、搜索字符串
找到错误字符直接双击
这就是报错 我们看看有那个跳转可以跳过这个报错
发现了一个jmp可以跳过失败,但是有个跳转跳过了jmp很明显跳过jmp的这个跳就是关键跳
转到跳过jmp的跳转,将它nop掉 然后运行,成功了
2、rtcMsgBox断点
下好断点后,输入假码点确定
看堆栈窗口有个返回到 我们选中然后反汇编窗口中跟随(Enter)
跟过去之后 我们找能跳过错误弹窗的跳转
向上一看,熟悉的位置,接下来就是吧跳过jmp的跳给nop掉就成功了
3、下_vbastrCmp断点
下好后输入假码点确定
由于很简单所以一断下就可以再堆栈窗口看到真码了
此时我们可以直接打上真码 也可以继续找关键跳
这里找关键跳 同样再返回到那个按Enter回车
跟到反汇编窗口一看就找到了关键跳
剩下的就是再次nop掉它
4、FF 25 特征码看到它调用了那些函数
载入OD Ctrl+B 搜FF 25
过去后会发现一堆jmpjmp的注释就是调用它的函数名
可以看到rtcMsgBox 和_vbastrCmp
找到想看的函数鼠标选中然后按Enter就跳转过去了
这里跟了个_vbaStrCmp 可以看到和下的断点是一样的位置
剩下的按之前的做就可以了
5、按钮事件特征码 816C24
载入OD Ctrl+B816C24 点确定
因为这个cm只有一个按钮事件所以只有一个jmp
我们可以直接选中jmp按回车跟随过去(如果有多个我们又不确定那个按钮对应那个jmp我们可以都下断然后运行程序按 按钮 看那个断下了就是那个jmp)
选中jmp嗯回车后 jmp跳向的位置 就是按钮事件的段首(00401CD0)
再段首下断就可以F8运行 输入假码点确定然后单步跟踪了
找到了熟悉的地方了 剩下的就是爆破了
6、用VB Decompiler工具直接分析出按钮事件
将程序载入工具 直接一览无余了后面的那个401CD0就是事件的段首了 和我们刚刚找到的一样
这里直接就看到真码了 剩下的可以直接输入真码 或者再载入OD去爆破了
如果各位有更好的方法和我有什么不对的地方都请提出来 我会努力学习的
等等我再去看看第7个的追码的,我不信我追不出来,我再去看看大佬的帖子跟着追一下吧
来向大佬学习 被标题吸引进来了,回复看看 楼主好强啊!学习了! 刚好需要 谢谢大佬 谢谢分享 感谢楼主 谢谢分享 谢谢分享 膜拜大神!