千家信息网

android中使用关键字进行功能破解

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,本文小编为大家详细介绍"android中使用关键字进行功能破解",内容详细,步骤清晰,细节处理妥当,希望这篇"android中使用关键字进行功能破解"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入
千家信息网最后更新 2024年11月22日android中使用关键字进行功能破解

本文小编为大家详细介绍"android中使用关键字进行功能破解",内容详细,步骤清晰,细节处理妥当,希望这篇"android中使用关键字进行功能破解"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

工具准备

x64dbg

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

Winhex

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

keymaker2

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

OllyDbg

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

暴力破解

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

  • 所用工具:
    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)跳转不执行删除注册文件

读到这里,这篇"android中使用关键字进行功能破解"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0