记一次用逆向程序逆向逆向程序的经历

本文介绍使用IDA Pro逆向010Editor注册过程,通过分析二进制代码,找到并修改注册验证逻辑,实现软件注册绕过。涉及逆向工程、二进制分析及代码修改技巧。

这里大概介绍一下如何用ida pro逆向,完成010 editor中注册的部分,绕过他的注册

如何逆向二进制文件

1.安装010editor

所以我们先装一个,[010 editor](https://www.sweetscape.com/download/)

正常官网下载,一步步安装就可以了

安装成功之后,恭喜你,已经完成一半了!

2.啥010editor要破解?

正常启动之后,会提示你有30天的试用,纳尼,难道这个还要破解?

啥破解,咋破解,破解啥呀?萌新三连

来来来,我们一步步,先找点线索,点Tools - Register注册试试,随便输入Name password,咦有个弹窗的提示。(疯狂暗示

 

 3.逆向 ‘逆向程序’ 的程序

 这时候就需要装一个可以 逆向 逆向二进制程序  的程序 IDA Pro了。就是这个女人!

 

安装IDA pro之后选择打开010Editor.exe这个可执行程序
界面的基础介绍,可以看这里(https://www.freebuf.com/column/157939.html)了解一下

1. 代码块, 蓝色代码段,棕色数据段,红色内核
2. 该程序的函数表,双击后可查看详细信息
3. 主要分析的查看窗口

 

搜索刚才找到的提示的关键字Invalid name or password

在0707DC2这行黄色的地方右键Xrefs graph to

看到了function sub_140707870,这个就是比较关键的一个地方了

 

再找到这行放在黄色的上面,F5,会显示Decompliling,这个地方会卡很久,之前不知道,其实直接cancel掉就可以,取消就会拿到这块逆向出来的代码

可以看到比较关键的一个判断就是这个v16 == 219。 如果是真,执行注册成功的操作

那就找找看有没有别的线索,试着去IDA VierA里面搜一下MMMM d, yyyy,
这个地方有个jnz操作,可以试着直接把jnz改成jz,jnz在汇编里全称就是jump if not zero。
改成jz就相当原来的等于换成不等于了。
Edit-Patch Program - Assemble

点ok之后,在这行F5,在看下是否生效了,真的变成else分支了。记得点下edit-patch program - apply patch to input file 保存。

补充:
其实这里有很多种改法,也可以直接nop掉这个判断,但是我用nop改了之后,看代码的时候看这个判断是被干掉了,但是后面程序里面验证的时候,点注册未响应了,可能是我改的方法又问题,所以这个地方选择改jnz成jz的方法。

4.验证结果

 用刚才保存的exe,进入register,随便输入用户名和密码点击注册。显示accept,完毕,验证成功

(逆向真香,真好玩,纪念第一次试验,感谢钱总和XD的技术支持

转载于:https://www.cnblogs.com/SeekHit/p/11146280.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值