Mac OSX 下破解软件的一般方法及过程、 mark一下

最近下载了一些好用的软件、凭着好东西齐分享、想着能不能动手破解mac软件、自己顺便学习学习一下这个流程。

先mark一下、后期认真研究研究咯~

OS : Mac OSX 10.6 a432
工具:Xcode 中的 otool、 gdb;文本编辑器;hex 编辑器;计算器;终端
目标:以下为 “或” 的关系

  • 找出注册码计算方法,计算出真实有效的注册码
  • 绕过程序的注册验证,使之认为已经注册
  • 开放软件所有注册后应有的功能

方法:

  1. 动态调试,主要工具 gdb

      首先,ps -ax|grep "要破解的程序名",得到其进程 id,如 1234
      接着,使用 gdb,用 attach “进程 id”
      然后,bt 查看函数调用栈,找到可疑函数后,使用 up 
      继续,用 si 等命令单步跟踪,set 等命令改变参数的值
      再来,使用 disassemble 命令,查看确认要修改的二进制字符串
      最后,用十六进制编辑器查找并修改二进制字符串
     2. 动静结合,主要工具 otool + gdb
      a. otool -tV "目标程序" > dis.asm
      b. 文本编辑器打开 dis.asm,查找可疑的函数
      c. 使用 gdb 打开目标程序,并在可疑的函数中设置断点,如 b *0x00001234
      d. run 运行程序,断点处,si 等跟踪, set 设置关键参数值
      e. 用计算器计算需要修改的序列偏移,或 disassemble 命令
      f. 用十六进制编辑器查找并修改二进制字符串

常用的命令
attach 1234
b *0x1234
clear *0x1234
bt
disassemble
si
finish
set $eax

gcc test.c -o test
otool -tV target > dis.asm

猜你喜欢

转载自blog.csdn.net/u011516972/article/details/88970762