逆向分析010 editor

逆向分析010 editor
0x01 什么是010 editor
010 editor 是一款专业的文本编辑器和十六进制编辑器,旨在快速轻松地编辑计算机上任何文件的内容。该软件可以编辑文本文件,包括 unicode 文件、批处理文件、c/c++、xml 等,但 010 editor 擅长的地方在于编辑二进制文件。二进制文件是计算机可读但人类不可读的文件(如果在文本编辑器中打开,二进制文件将显示为乱码)。十六进制编辑器是一个程序,允许您查看和编辑二进制文件的各个字节,包括 010 编辑器在内的高级十六进制编辑器还允许您编辑硬盘驱动器、软盘驱动器、内存密钥、闪存驱动器、cd-rom、 流程等。
0x02 od暴力破解
在软件逆向破解的过程中,od暴力破解是比较有效的方式,通过修改jcc指令或者nop掉一些跳转让程序按照正确的流程走下去。
主要流程大概是:1、寻找关键函数;2、分析整体流程;3、修改程序验证逻辑。
本次测试的010 editor版本为v13.0
首先查壳
既然无壳那就直接上od
首先我们要找到注册的函数,首次下载010 editor可以试用30天,点击注册按钮
程序会让输入用户名和注册码,随便输入试试
程序会提示无效的用户名和密码,可以根据程序提示的内容来找到对应的函数
通过od的中文搜索引擎-智能搜索功能查找对应字符串
找到对应的字符串,跟进函数
跟进后可以看到,程序执行到输出无效的用户名和密码处,是通过一个跳转到该位置的,继续往上跟看看是那个地方跳转
发现是从0x0144b62a位置处跳转过来的,这样的话是否可以直接修改jcc执行来让程序不跳转呢
改成je试下,改成je后发现不对,程序会执行到0x0144b6c6的位置,提示 password accepted but the trial period is already over,那么就继续往上跟踪
在跳转前边有三个cmp指令,其中0x0144b60d是从0x0144b4e2 处跳转来的
在0x0144b4e2处下断点调试一下
在这里发现0x0144b51d的位置会输出password accepted,所以这里把jnz改成je或者nop掉就可以了
保存出来看一下
可以看到输入任意的内容已经激活成功,但是这样的话每次打开都需要点击一下check license,那么继续看看能不能让程序直接打开。
首先来梳理一下正常的逻辑程序是怎么运行的:首先在0x0030b3fc的位置处eax和0xe7进行比较,此时eax的值为0xe7,所以je跳转成立,程序运行到0x0030b4dc 处,cmp ebx,0xdb,这时候ebx的值为0x177,jnz不等于则跳转,所以此时跳转成立,跳转到0x0030b60d的位置处,这个时候程序已经跳过了验证成功的地方,继续执行,有三个cmp语句后跟jcc跳转指令,cmp ebx,0xed和cmp ebx,0x20c,这时ebx的值还是0x177,所以两个je都没有跳转,运行到第三个cmp指令cmp eax,0x93的位置,eax此时的值为0xe7,这里是jnz指令所以跳转成功,跳转到0x0030b6e8的位置,输出无效的用户名密码,验证函数到此结束。
通过上面的分析当ebx等于0xdb的时候程序才会走到验证成功的位置,也就是说想要程序不每次运行都弹验证框,需要直接将0xdb赋给ebx
返回到0x0030b3fc的位置继续往上跟踪可以看到ebx的值就是eax的值,所以需要将0xdb赋给eax,那么需要继续跟踪看看eax的值是谁赋给的,在0x0030b3e9的位置处下断点,f8执行,发现在执行call 0x0013808a的时候eax的值发生了变化,所以直接跟进call里面
在开头直接给eax赋值,mov eax,0x2d retn 0x8
最后把程序dump出来,发现程序直接打开就能使用了也不用每次都点击验证了。
0x03 总结
其实010 editor对于新手逆向来说还是挺友好的,没有加壳,然后整个函数的逻辑也算比较清晰,更改起来也很简单,以后有时间的还是要研究一下注册验证的算法,然后写个注册机出来。


基于FPGA的谐波电压源离散域建模与仿真
DS1821在汽车空调制冷控制中的应用?
变压器空负载试验测试方法接线图
NRK3301语音芯片在小夜灯的应用
SmartCow的Apollo音频/视频AI工程套件
逆向分析010 editor
薄膜倒装UVB发光二极管设计方案
小米移动电源3 45W/20000mAh高配版拆解:做工用料上佳
红外热成像测温系统可以从哪方面评估电梯安全?它具有哪些优势?
type-c接口的重要性
小米mix2携手小米6plus,本月底发布?
六联搭扣生产制造中的流程和规范是怎样的
232和485串口Modbus调试助手软件工具上位机通讯协议项目开发
十一出游 EDIFIER漫步者蓝牙耳机做你的旅途好伙伴
导热绝缘片解决变频器散热问题
5G融合创新,释放数字经济发展潜力
加速GTM及联合销售,华为云与全球伙伴共成长
对无线鼠标节电的一点小改进
CCFL另外一种驱动电路,CCFL DRIVER
浅谈参数约束关系的工业相机的线性标定法