乐趣区

关于大数据:抖音爬虫教程逆向分析使用关键字进行功能破解

抖音爬虫教程 - 逆向剖析 - 应用关键字进行性能破解

备注

只是学习交换探讨,切勿其它用处。

前言

此次分享以理论案例进行解说,波及:

  • 暴力破解
  • 实在注册码寻找
  • 注册机编写
  • 去除软件暗桩等知识点

工具筹备

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

退出移动版