010 Editor 8.0.1 之 暴力破解
二、破解
1、打开调试程序
2、打开注册页面
3、在弹出窗口API中下断
4、点击注册按钮
5、逐一进去观察
6、找到正确的授权字符串
7、找到函数头
8、找到计算出EBX的CALL
9、进入函数跟踪分析
10、保存文件
一、工具及软件介绍
- 逆向工具:x64 dbg
- 平台:Win10_1803 x64
- 破解软件:010 Editor v8.0.1 x64

二、破解
注:本次破解为暴力破解,不过网络验证及编写注册机。
1、打开调试程序
使用x64dbg直接打开010 Editor软件,F9使其正常运行
2、打开注册页面
输入任意Name、Password,回到调试器

3、在弹出窗口API中下断
由于010 Editor是QT5编写的界面,所以会触发Windows API中的CreateWindowEx,我们将这个设置为断点

我们将x64dbg切换到符号标签页,按照图中①、②的方式搜索到user32.dll下的CreateWindow,使用F2键将CreateWindowExA、CreateWindowExW设置为断点。该处断点最终会走的是CreateWindowExW,也就是Unicode窗口函数,这个大家在跟踪的时候就会知道,一般情况下都会设置断点,以保证能够正常断下。
4、点击注册按钮
程序被断下来,这时候我们切换到调用堆栈页

调用的东西还挺多的,其实大部分是QT调取的栈,我们往下找,找到3个用户区的函数栈,现在就是去一个一个看这三个哪个符合要求
5、逐一进去观察
在进入第二个,会发现有很多字符串,其中就会找到弹出用户名、密码错误弹出的字符串

红线部分就是堆栈链,这个不重要
6、找到正确的授权字符串
往上滚动一下,发现了正确授权的英文

继续往上观察,发现只有一个cmp ebx,DB,这个判断确定了注册成功还是失败
也就是ebx等于0xDB的时候,会提示注册成功的弹窗,我们先在这个cmp处下断,F9重新运行之后,再次点击注册按钮,这时候右边的FPU窗口,显示RBX是0x177,肯定不等于0XDB,这个时候可以将jne改成je,就能够弹出注册成功的提示窗了,不过这样改动在每次启动的时候都会提示注册,所以这个改动没有实际意义,这时我们需要去改动它的注册验证函数,做到重启之后都判断为注册成功。
7、找到函数头
我们继续往上滚动,找的这个函数的段首,也就是push rbp、push rbx的地方,设置断点后,重新运行并点击注册按钮,然后使用x64dbg对该函数进行分析

8、找到计算出EBX的CALL
我们观察到该函数下面有很多调用,其中大多数都与QT相关,排除这些找到了5个非QT相关的CALL,这时我们选中cmp ebx, 0xDB,在回到这些CALL附近

我们发现有2处比较是跳转的cmp ebx, 0xDB处的,接着向上观察会发现ebx的赋值处,也就是第5个call

2个跳转处大概是if(esi == 0xe7 || ds:[rcx + 3c] == 0),我们根据ebx赋值处确定了是哪个函数返回的
9、进入函数跟踪分析
我们在第五个CALL处下断,F7跟进去分析一下

在这个函数的结尾我们发现了mov eax, DB,选中该行找到跳转处

这时,我们发现有2个跳转,第二个就是跳转到DB赋值的代码处的,第一个跳转是判断是否将113作为返回值的,我们可以在这两处着手,将这个函数的返回值强制指向DB作为返回值处

我们将这两处的jne改成jmp使其强制跳转到DB作为返回值处,修改后让程运行起来查看效果

可以看到提示注册成功,自此,修改就结束了
10、保存文件
使用x64dbg 补丁功能保存文件,并替换原始启动文件,重新运行程序,发现不会提示注册了,并且可以注册任意内容

010 Editor 8.0.1 之 暴力破解的更多相关文章
- 010 Editor 8.0.1 之 逆向分析及注册机编写
前言一.工具及软件介绍二.逆向分析2.1.找到提示错误注册弹窗2.2.分析跳转处代码2.3.=2D 函数分析2.3.1.获取注册码处分析2.3.2.3处分支分析2.3.2.1.9C情况2.3.2.2. ...
- 010 Editor v8.0.1(32 - bit) 算法逆向分析、注册机编写
010 Editor 的逆向分析整体算下来还是比较简单的,将程序拖入OD,通过字符串搜索定位到核心代码,经过分析,主要是如下图所示的两个关键函数,返回正确的值,才算是注册成功. 00409C9B 这个 ...
- 分享一个撩妹、装13神技能,0基础用Python暴力破解WiFi密码
WiFi密码Python暴力破解 Python密码破解部分截图 获取视频资料,转发此文+点击喜欢,然后获取资料请加Python交流群:580478401,就可以获取视频教程+源码 环境准备: py ...
- 暴力破解工具hydra与Medusa
---恢复内容开始--- 暴力破解工具hydra与Medusa 内容 (一)hadry (二)Medusa (一)hydra 选项 -l LOGIN 指定破解的用户名称,对特定用户破解. -L FIL ...
- 使用Medusa美杜莎暴力破解SSH密码
使用Medusa美杜莎暴力破解SSH密码 1.Medusa简介 Medusa(美杜莎)是一个速度快,支持大规模并行,模块化的爆力破解工具.可以同时对多个主机,用户或密码执行强力测试.Medusa和hy ...
- SSH密码暴力破解及防御实战
SSH密码暴力破解及防御实战 一.Hydra(海德拉) 1.1 指定用户破解 二.Medusa(美杜莎) 2.1 语法参数 2.2 破解SSH密码 三.Patator 3.1 破解SSH密码 四.Br ...
- 开源服务专题之------ssh防止暴力破解及fail2ban的使用方法
15年出现的JAVA反序列化漏洞,另一个是redis配置不当导致机器入侵.只要redis是用root启动的并且未授权的话,就可以通过set方式直接写入一个authorized_keys到系统的/roo ...
- Fail2ban 防止暴力破解centos服务器的SSH或者FTP账户
次尝试登陆root账户失败的情况.[说明服务器被攻击了] logtarget = SYSLOG #我们需要做的就是把这行改成/var/log/fail2ban.log,方便用来记录日志信息 so ...
- ssh访问控制,多次失败登录即封掉IP,防止暴力破解
ssh访问控制,多次失败登录即封掉IP,防止暴力破解 一.系统:Centos6.3 64位 二.方法:读取/var/log/secure,查找关键字 Failed,例如(注:文中的IP地址特意做了删减 ...
随机推荐
- 同一台windows下配置安装多个mysql实例,实现主从同步
一.安装多个mysql 参见: https://blog.csdn.net/wrh_csdn/article/details/80198795 https://www.cnblogs.com/qjoa ...
- Android开发 静态static类与static方法持有Context是否导致内存泄露的疑问
简述 在Android开发的过程中,难免会使用单例模式或者静态方法工具类.我们会让它们持有一些外部的Context或者View一般有以下几种情况: 单例模式,类的全局变量持有Context 或 Vie ...
- 2019“嘉韦思杯”3.30初赛一部分Write Up
同学们TQL.佩服李长兴同学的超神瓜皮思维. 一.飞虎队(希尔密码) 本题是我今天大部分时间的花费处.先百度学习了希尔密码,然后尝试手动计算逆矩阵和矩阵乘法,还求助于线性代数课本,可谓苦不堪言. 做题 ...
- 在Ubuntu上升级SQLite,并让Python使用新版SQLite
(本文适用于Debian系的Linux,如Ubuntu.Raspbian等等.) 在Linux上,Python的sqlite3模块使用系统自带的SQLite引擎,然而系统自带的SQLite可能版本太老 ...
- ARTS打卡计划第二周-Algorithm
665. 非递减数列 https://leetcode-cn.com/problems/non-decreasing-array/ 给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元 ...
- cmake: error: symbol(s) not found for architecture x86_64 mac os 使用boost asio
最近在使用boost的asio库,在mac osx 上编写网络服务程序报错: :-1: error: symbol(s) not found for architecture x86_64 然后在CM ...
- linux大文件读取
在生产环境中有时候可能会遇到大文件的读取问题,但是大文件读取如果按照一般的手法.如cat这种都是对io的一个挑战,如果io扛得住还好,如果扛不住 造成的后果,如服务器内存奔溃,日志损坏 方法一: se ...
- oslo_db使用
oslo_db是openstak中封装数据库访问sqlachmy的模块,网上搜索的资源并不多,除了openstack官方文档,在实际使用中的例子凤毛麟角. 有感于资源太少,在学习heat源码的过程中, ...
- css的继承和层叠
标签(空格分隔): css css称为层叠样式表,CSS有两大特性:继承性和层叠性,本章简单介绍一下继承性: 继承性: 定义:继承就是给父及设置了一些属性,子级继承了父及的该属性,这就是我们的css的 ...
- svn仓库迁移
注意事项 1.仅迁移代码.日志.版本信息,(用户.权限.配置即conf目录需要手动移动或重新配置) 2.新仓库需无代码,即新建仓库后不要进行上传操作,否则迁移可能造成冲突,导致迁移失败 操作步骤 1. ...