飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 50149|回复: 63

[原创] 某软件的暴破思路(一种常用的修改AL返回值方法)

[复制链接]

该用户从未签到

发表于 2007-2-24 21:40:22 | 显示全部楼层 |阅读模式
刚才转载了一个另类暴破,思路挺不错的,这补充一个修改代码以达到修改算法CALL返回值的目的。
软件不写了 只简单写一下过程。
暴破 常用的一种方法就是修改返回值达到破解目的
因为 我们如果只是修改跳向注册成功的跳转 而 忽视算法部分的返回值 可能软件的破解就不完美
因为 软件在验证软件是否注册
大多都是直接调用的算法CALL来分析 这时 算法CALL的返回值就成为软件是否注册的标志
这里就举一个简单的方法 是AL返回值为1(暴破的话 一般都是修改为1)


修改关键CALL返回值:

原代码:
  0053BAD0      56              push    esi
  0053BAD1      8BF1            mov     esi, ecx
  0053BAD3      807E 70 00      cmp     byte ptr [esi+70], 0
  0053BAD7   .  75 12           jnz     short 0053BAEB
  0053BAD9   .  6A 00           push    0
  0053BADB   .  90              nop
  0053BADC   .  E8 518F6300     call    00B74A32
  0053BAE1   .  24 01           and     al, 1
  0053BAE3   .  83C4 04         add     esp, 4
  0053BAE6   .  04 01           add     al, 1
  0053BAE8   .  8846 70         mov     byte ptr [esi+70], al
  0053BAEB   >  807E 70 02      cmp     byte ptr [esi+70], 2
  0053BAEF   .  5E              pop     esi
  0053BAF0   .  0F94C0          sete    al
  0053BAF3   .  C3              retn
--------------------------------------------------------------------------------
在0053BAF3处返回时,al为0。

暴力修改成这样:
修改后代码:
  
  0053BAD0      33C0            xor     eax, eax  ;EAX清零
  0053BAD2      40              inc     eax       ;EAX加1
  0053BAD3      C3              retn              ;返回时 AL值为1
--------------------------------------------------------------------------------
  
  返回值为1.

OK 相信大家都明白我的意思了~~

评分

参与人数 1威望 +20 收起 理由
tigerisme + 20 好文

查看全部评分

PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-7 09:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2007-2-24 22:01:03 | 显示全部楼层
    谢谢,又学了标志位破解。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2007-2-25 13:21:58 | 显示全部楼层
    不错,不错。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2022-12-19 19:56
  • 签到天数: 55 天

    [LV.5]常住居民I

    发表于 2007-3-1 09:51:05 | 显示全部楼层
    经典的方法,谢谢
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-3-16 15:36:31 | 显示全部楼层
    又学了一招
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-3-16 16:36:08 | 显示全部楼层
    0053BAD3      807E 70 00      cmp     byte ptr [esi+70], 0 这里变1
    或者 0053BAF0   .  0F94C0          sete    al  变 setne    al

    可能这样改也可以,没有原程序所以不保证可以

    如果每次都是 在开头 MOV EAX,1 或者 xor eax,eax  inc eax 好象没有什么意思,并不是每个程序都需要返回1 如果讲错,请回帖讨论...
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2024-12-29 08:33
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2007-3-19 17:38:52 | 显示全部楼层
    密界高人,佩服。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-6-8 07:13
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-4-29 08:12:07 | 显示全部楼层
    不错的想法,谢谢。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-5-3 15:46:36 | 显示全部楼层
    又学习了个新方法,哈哈,有点坏坏的感觉~!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2022-11-10 18:02
  • 签到天数: 76 天

    [LV.6]常住居民II

    发表于 2007-5-10 12:53:36 | 显示全部楼层
    又学习了个新方法,哈哈,
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表