各位大佬早上好,我是你们好朋友旺仔,今天我来分享一下,过反调试的方法以及使用IDA还原代码 + 写注册机的过程
由于内容太多,我准备分为两个帖子写,这个帖子主要是写IDA还原代码,下一个帖子是写反调试的分析以及过反调试和异常
这个CrackMe Level3是一个朋友发我的,我也不知道他在哪里弄的,我感觉挺好玩的,对反调试 异常 以及代码还原的学习有一些帮助
反调试原文链接:https://blog.csdn.net/liuhaidon1992/article/details/103888101
C++异常处理的学习笔记:https://bbs.kanxue.com/thread-273332.htm
IDA如何使用:https://www.jianshu.com/p/ee0fcf93c8e7
调试器:X64和OD
反编译工具:IDA
PE工具:Detect It Easy
反调试插件:OD的StrongOD和虫子的ScyllaHide
ARK工具:Pchunter
MFC工具:MfcSpy
第一步先看看PE文件 工具说:软件是使用2008的MFC写的
上面得知是MFC写的软件,我们可以利用MFC的RTTI(动态类型识别)获取信息,如果不是MFC写的,我们可以运行一下软件看看,有没有报错信息
当然这个软件,输入注册码点击注册没有任何提示
打开调试器附加看看字符串,结果软件会闪退,无法附加,估计是有反调试,遇到这种情况我有三种方式可以解决
第一种:静态分析解决反调试
第二种:使用ARK工具把软件暂停,然后在用调试器附加
第三种:直接使用调试器打开程序,让软件断到入口或者系统断点
我们先使用第二种吧,因为X32调试器对中文字符串的支持不是很好,我没有装插件,所以先用OD看看字符串吧
验证函数中有一个异常 OD的反汇编已经出现了BUG,可以使用删除分析,我这里就不删除了 直接打开IDA F5吧
可以看到IDA的F5也被废掉了的
虽然不能F5 但是我们可以很清晰的看到,两个GetWindowText 估计一个是获取用户名 一个是获取密码
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2024-6-21 23:21
被旺仔_小可爱编辑
,原因: