抖音爬虫教程 - 逆向剖析 - 应用关键字进行性能破解
备注
只是学习交换探讨,切勿其它用处。
前言
此次分享以理论案例进行解说,波及:
- 暴力破解
- 实在注册码寻找
- 注册机编写
- 去除软件暗桩等知识点
工具筹备
x64dbg
Windows 的开源二进制调试器,用于恶意软件剖析和对没有源代码的可执行文件进行反向工程。
- 官网
https://x64dbg.com/
Winhex
WinHex 实质上是一个通用十六进制编辑器。专为最低级别的数据处理而设计,作为计算机系统犯罪学(取证)考察的多功能工具,用于数据恢复和 IT 平安 – 在日常应用和紧急情况中。
- 官网
http://www.x-ways.net/winhex/index-m.html
keymaker2
KeyMake 是一款功能强大的注册机编写器,该软件采纳汇编模板为外围,可不便用户省去简单的指令算法,从而疾速制作出所需的注册机!
- 下载地址
https://tool.pediy.com/index-detail-103.htm
OllyDbg
Ollydbg 是一款业余的反汇编调试工具,次要用于一些应用程序的编译操作,软件最善于剖析函数过程、循环语句、API 调用、函数中参数的数目和 import 表等等
- 下载地址
https://tool.pediy.com/index-detail-1.htm
暴力破解
此节解说如何通过批改汇编代码来跳过程序验证局部(俗称打补丁)的模式来过掉程序的最终校验
- 所用工具:
x64dbg
外加中文搜索插件(简体中文关键字:需搜寻中文字符串) - 将要剖析的程序用 x64dbg 载入
- 点击 x64dbg 运行按钮,运行程序,让其运行,使其可载入更多的信息用于剖析,之后应用字符串搜寻工具进行搜寻
- 依据关键字查找有用信息
发现一些注册判断跳转,并在跳转处下断点,使其能够中断进行剖析 - 注册信息没有填写齐全判断
- 想不论输出什么都不提醒“注册信息没有填写齐全”这个提醒就要使 00510465 处的跳转不成立,
因原 je 为等于转移,但呈现不等于时跳转不执行,故需二进制编辑破除此跳转, 0051047F 处的跳转成立,因原 jne 为不等于转移,但呈现不等于时跳转不执行,故需将其批改为 jmp 无条件转移指令
留神:因之前在 je 指令处下载过断点,若想批改指令需删除此处断点 - 注册码正确,感激你的注册!判断
- 想不论输出什么都提醒“注册码正确,感激你的注册!”这个提醒就要使 00510543 处的跳转不成立,
因原 jne 为不等于时转移,但呈现等于时跳转不执行,故需二进制编辑破除此跳转
留神:此办法破除跳转指令后,其背景色彩变灰,显示信息为跳转不会执行 - 运行测试
批改结束,填写任意注册信息,点击注册
填写任意信息,提醒注册胜利,显示已注册
实在注册码寻找
思路:在软件运行时监测内存数据,查问是否有敏感或可利用信息
所用工具:Winhex
- 运行软件点击注册
订单号:112233
注册码:china123study - 关上 Winhex 进行剖析
注册机编写
在要害判断(” 注册码正确,感激你的注册!”)处发现 EDX 存在正确的注册码与所输出的注册码进行比照,导致正确的注册码泄露,依据这一特点读取 EDX 数据,利用软件本身算码机制计算出正确的注册码并调取应用
所用工具:x64dbg、keymaker2
- 关键点
可在 0051053E 处下断点读取 EDX 数据 - 因 EDX 数据在内存内,估应用 keymaker2 制作内存注册机进行读取数据
- 本身注册码比照机制泄露正确的注册码
- 应用 keymaker2 读取内存数据,制作注册机
- 应用生成的注册机在内存数据中读取出正确的注册码
暗桩
所用工具:x64dbg、od、winhex
- 注册判断通过会在本机存储注册数据文件“hdwlz.dll”,其保留在“C:\Windows\system32”目录
- 因零碎防护起因导致它写入注册信息失败,进一步验证了其注册机制
- 切换环境胜利写入
- 查看写入的数据
比照发现写入的是订单信息 - 关闭程序后,发现注册文件被删除,暗桩呈现
- 因删除文件应用的是 DeleteFile 函数,应用 OD 剖析函数进行剖析
- 发现有两次援用该删除性能
- 在这两次调用处下断点进行剖析
先上寻找在程序入口处下个断点- 关闭程序,查看断点剖析
敞开时,胜利断在入口处 - 步过剖析到读取 hdwlz.dll 文件订单信息点
- 步过剖析到比照处
取 EAX 数据与 0x1CD6D0 做比拟
- 其中 EAX 数据未订单号的十进制信息
- 要害跳转大于 1CD6D0(1890000)跳转不删除注册文件,小于 1CD6D0(1890000)跳转不执行删除注册文件
总结
- 订单号需大于 1CD6D0(1890000)才不会触发暗桩删除注册文件 (但程序敞开时执行判断)
解决办法: - 注册时填写的订单号大于 1890000
- 或批改 005181D3 处的要害跳转使其必跳 JG 改为 JMP
TiToData:业余的短视频、直播数据接口服务平台,网址:TiToData
笼罩支流平台:抖音,快手,小红书,TikTok,YouTube