- UID
- 2198
注册时间2005-6-29
阅读权限255
最后登录1970-1-1
副坛主
  
该用户从未签到
|
刚才转载了一个另类暴破,思路挺不错的,这补充一个修改代码以达到修改算法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 相信大家都明白我的意思了~~ |
评分
-
查看全部评分
|