欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]关于010EditorV9.0的暴力破解

[原创]关于010EditorV9.0的暴力破解

010Editor是一款快速且强大的十六进制编辑器,用来编辑二进制文件,功能非常强大,由于是一款收费软件,所以对它尝试进行破解。

使用工具:OD

首先安装010Editor V9.0,安装之后,查看帮助,发现有试用期30天


想要破解一款软件,重要的是先收集信息,要了解到它是用的什么编译器,用的什么图形界面库,知己知彼,才能百战百胜。

打开文件的安装目录:


发现用的是QT的图形界面库,再用Exeinfo PE扫描一下:


没有加壳,可能用的编译器是VS2013,接下来,开始破解

找到010Editor的注册界面


点进去,输入一个假的用户名和序列号,会弹出一个用户名或序列号错误的窗口


看到这样的界面,我们这时候就有了多种选择:
1. 根据给出的错误信息,搜索对应的字符串

2. 下 API 断点,栈回溯分析

首先就用简单的方法对字符串进行搜索,如果搜索不到,可能字符串已经加密,再改用第二种方法

打开OD,将010Editor拖入OD,右键中文搜索引擎,搜索ASCII


如图,已经搜索到注册失败的字符串


双击进入


可以得知这就是我们要找的地方


分析上下文,找到了可能是注册成功的字符串


这里可能是我们要找的关键跳转


我们把它nop掉试一试,同时复制到可执行文件,保存。

我们打开修改后的010Editor


输入同样的信息,显示已经授权,但是我们发现之后的每次打开都需要重新授权一下

说明在其他的地方一直还是有检查,虽然已经破解成功,可以正常使用,但是还是不是

很完美,每次弹框都很烦,所以我们进一步分析


我们nop掉的跳转的比较cmp dei,0xDB

转到跳转过来的位置


发现上下两个位置都调用了这个call,更确切说明了这是一个关键call,要想注册成功,需要这个call返回的结果是0xDB,我们进入这个call里面进行分析。


在这个call里面我们可以看到有多种返会结果,用方框圈的是我们想要的返回结果,0Xdb


光标移动到pop edi,发现是通过跳转到达的这里,转到跳转处


这回判断的是需要让这个call的返回值为0x2D

进入这个call

看这个call里面的汇编代码,这应该是关于序列号的算法,由于代码量很大,不详细分析,直接将返回值改为0x2D


保存文件,重新启动修改后的010Editor,正常进入,点击help


已经注册成功,破解完成

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功