-
-
[原创]逆向分析:利用泄露的特征信息进行爆破破解
-
发表于: 2021-2-2 19:50 2818
-
前言
此篇文章主要描述利用泄露的特征信息进行爆破破解,学习软件的验证与执行流程,为后期的病毒分析做准备
信息收集
- 查看软件关于信息,发现一个可利用点
Unregistered(Trial Mode) 中文含义:未注册(试用模式) 此特征信息表示为:未注册当前处于试用模式 猜测应该有一个特征信息对应注册版本
动态调试分析
退出之前打开的主程序,使用x64dbg载入主程序进行调试分析
- 点击运行,在程序入口出暂停(设置-事件-入口断点-勾选:就会运行到程序入口暂停)
- 搜索泄露的特征码
Unregistered (Trial Mode)
视图-CPU:右键-搜索-所有模块-字符串
- 双击进入,上下文查看
主要查看是否有其它信息泄露,以及一个流程判断
看到了一个注册判断流程 外加一个泄露的特征码:Registered 中文含义:已注册
- 验证流程
这里使00C4032F此处的跳转不成立运行看效果 修改汇编指令jne-je 反着来使其到达未注册变为注册、注册变为未注册(模拟思路,需运行验证) 下个断点方便之后调试
点击about,在之前下的断点处暂停,并显示跳转不会执行,判断:之前分析的思路正确
运行后,显示为注册版本
但点击功能发现存在限制,判断存在功能验证需继续分析
- 深入分析
JNE/JNZ 不等于时转移 这里EAX数值与3做比较,若不等于3这标志着未注册,判断等于3未注册
- 分析EAX数值来源
往上找看到EAX来源
EAX=ebx+1C8A8
- 分析1C8A8来源
看到有个压入数值的 地址=00C091C3 反汇编=mov dword ptr ds:[ebx+1C8A8],2 进入分析
- 赋值判断
此处之上的两个判断跳转不执行就会赋值 逆思路改汇编指令(需把之前修改的指令改回来,思路变了) 原: 00C091B8 | 74 2B | je dfx.C091E5 00C091C1 | 75 22 | jne dfx.C091E5 改: 00C091B8 | 75 2B | jne dfx.C091E5 00C091C1 | 74 22 | je dfx.C091E5 或直接废除这两个跳转使其不执行,思路很多,不要被局限
注:避免失败最好此处下断点之后重新运行(这个程序是开始运行读这里之后点击关于不在这里计算数据了)
这里补录制一个修改的动态图片,方便了解是如何进行修改的
总结
利用泄露的特征信息进行针对分析,往往会节约很多时间,可能一下子就到点了
上下文多层次分析往往决定了成败
避免不必要的干扰关键点最好下断点重新运行之后在看看
参考资料
《飘云阁54教学》
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2021-2-2 19:59
被梦幻的彼岸编辑
,原因:
赞赏
他的文章
- [原创]物联网安全:基础篇 4099
- 威胁情报小课堂:阻止活跃勒索软件的感染 2167
- [翻译]发现利用 Facebook 和 MS 管理控制台实施的 Kimsuky APT 攻击 7044
- 威胁情报小课堂:LockBit Black 2042
- 威胁情报小课堂:Nitrogen 2067
看原图
赞赏
雪币:
留言: