抖音爬虫教程-逆向分析-使用关键字进行功能破解

抖音爬虫教程-逆向分析-使用关键字进行功能破解

备注

只是学习交流讨论,切勿其它用途。

前言

此次分享以实际案例进行讲解,涉及:

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

工具准备

x64dbg

Windows 的开源二进制调试器,用于恶意软件分析和对没有源代码的可执行文件进行反向工程。

Winhex

WinHex 本质上是一个通用十六进制编辑器。专为最低级别的数据处理而设计,作为计算机系统犯罪学(取证)调查的多功能工具,用于数据恢复和 IT 安全 - 在日常使用和紧急情况中。

keymaker2

KeyMake是一款功能强大的注册机编写器,该软件采用汇编模板为核心,可方便用户省去复杂的指令算法,从而快速制作出所需的注册机!

OllyDbg

Ollydbg是一款专业的反汇编调试工具,主要用于一些应用程序的编译操作,软件最擅长分析函数过程、循环语句、API调用、函数中参数的数目和import表等等

暴力破解

此节讲解如何通过修改汇编代码来跳过程序验证部分(俗称打补丁)的形式来过掉程序的最终校验

  • 所用工具:
    x64dbg
    外加中文搜索插件(简体中文关键字:需搜索中文字符串)
  • 将要分析的程序用x64dbg载入
  • 点击x64dbg运行按钮,运行程序,让其运行,使其可载入更多的信息用于分析,之后使用字符串搜索工具进行搜索
  • 根据关键字查找有用信息

    发现一些注册判断跳转,并在跳转处下断点,使其可以中断进行分析
  • 注册信息没有填写齐全判断


image.png

  • 想不管输入什么都不提示“注册信息没有填写齐全”这个提示就要使00510465处的跳转不成立,
    因原je为等于转移,但出现不等于时跳转不执行,故需二进制编辑废除此跳转, 0051047F处的跳转成立,因原jne为不等于转移,但出现不等于时跳转不执行,故需将其修改为jmp无条件转移指令

    注意:因之前在je指令处下载过断点,若想修改指令需删除此处断点
  • 注册码正确,感谢你的注册!判断

image.png

  • 想不管输入什么都提示“注册码正确,感谢你的注册!”这个提示就要使00510543处的跳转不成立,
    因原jne为不等于时转移,但出现等于时跳转不执行,故需二进制编辑废除此跳转

    注意:此方法废除跳转指令后,其背景颜色变灰,显示信息为跳转不会执行
  • 运行测试
    修改完毕,填写任意注册信息,点击注册

    填写任意信息,提示注册成功,显示已注册

真实注册码寻找

思路:在软件运行时监测内存数据,查询是否有敏感或可利用信息
所用工具:Winhex

  • 运行软件点击注册
    订单号:112233
    注册码:china123study
  • 打开Winhex进行分析

image.png

注册机编写

在关键判断("注册码正确,感谢你的注册!")处发现EDX存在正确的注册码与所输入的注册码进行对比,导致正确的注册码泄露,根据这一特点读取EDX数据,利用软件自身算码机制计算出正确的注册码并调取使用
所用工具:x64dbg、keymaker2

  • 关键点

    可在0051053E处下断点读取EDX数据
  • 因EDX数据在内存内,估使用keymaker2制作内存注册机进行读取数据


  • 自身注册码对比机制泄露正确的注册码
  • 使用keymaker2读取内存数据,制作注册机

image.png

  • 使用生成的注册机在内存数据中读取出正确的注册码

暗桩

所用工具:x64dbg、od、winhex

  • 注册判断通过会在本机存储注册数据文件“hdwlz.dll”,其保存在“C:\Windows\system32”目录
  • 因系统防护原因导致它写入注册信息失败,进一步验证了其注册机制
  • 切换环境成功写入
  • 查看写入的数据

    对比发现写入的是订单信息
  • 关闭程序后,发现注册文件被删除,暗桩出现

image.png

  • 因删除文件使用的是DeleteFile函数,使用OD分析函数进行分析

image.png

  • 发现有两次引用该删除功能

  • 在这两次调用处下断点进行分析

image.png

image.png

  • 关闭程序,查看断点分析
    关闭时,成功断在入口处
  • 步过分析到读取hdwlz.dll文件订单信息点

image.png

  • 步过分析到对比处

image.png

  • 其中EAX数据未订单号的十进制信息
  • 关键跳转大于1CD6D0(1890000)跳转不删除注册文件,小于1CD6D0(1890000)跳转不执行删除注册文件

总结

  • 订单号需大于1CD6D0(1890000)才不会触发暗桩删除注册文件(但程序关闭时执行判断)
    解决办法:
  • 注册时填写的订单号大于1890000
  • 或修改005181D3处的关键跳转使其必跳JG改为JMP


TiToData:专业的短视频、直播数据接口服务平台,网址: TiToData

覆盖主流平台:抖音,快手,小红书,TikTok,YouTube

你可能感兴趣的:(大数据)