首页
社区
课程
招聘
[原创]逆向分析:利用泄露的特征信息进行爆破破解
发表于: 2021-2-2 19:50 2818

[原创]逆向分析:利用泄露的特征信息进行爆破破解

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 被梦幻的彼岸编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//