王永波 发表于 2007-5-16 15:16:39

顶猫兄---我太菜

我的问题是:他怎么知道在ASCII "0000000"这一行附近观察修改?他怎么知道这一段是重启验证的代码段?


重启验证暴破之《中国跳棋大师Chinese Checkers Master 1.03》

------------------------------------------------------------------------
一、程序查无壳,Microsoft Visual C++ 6.0编写。
二、程序注册失败有提示,根据这个提示我们很快找到关键代码段。
+++++++++++++++++++++++++++++++++++++++++++
文本字符串参考位于 Chinese_:.text,项目 268
地址=004229B8
反汇编=push Chinese_.004971E4
文本字符串=ASCII "The registration code you entered in incorrect.Please try again."
+++++++++++++++++++++++++++++++++++++++++
『这里省略了一般的爆破』

但可是太早了!这个程序有重启验证~我晕~拍马屁拍到马脚上了。。。
看我的~OD中下断 d 536038 ,重新运行程序,程序中断在此~

004296B3   C605 38605300 01   mov byte ptr ds:,1
004296BA   BB DF900F00      mov ebx,0F90DF

兄弟们,是不是很熟悉呀~

004296B3   C605 38605300 01   mov byte ptr ds:,1         ; mov byte ptr ds:,0
004296BA   BB DF900F00      mov ebx,0F90DF                        ; mov ebx,0
004296BF   BF 20734900      mov edi,Chinese_.00497320                        ; ASCII "0000000"
004296C4   83C9 FF            or ecx,FFFFFFFF
004296C7   33C0               xor eax,eax
004296C9   8D5424 14          lea edx,dword ptr ss:
004296CD   F2:AE            repne scas byte ptr es:
004296CF   F7D1               not ecx
004296D1   2BF9               sub edi,ecx
004296D3   8BC1               mov eax,ecx
004296D5   8BF7               mov esi,edi
004296D7   8BFA               mov edi,edx
004296D9   8A95 14150000      mov dl,byte ptr ss:
004296DF   C1E9 02            shr ecx,2
004296E2   F3:A5            rep movs dword ptr es:,dword ptr ds:
004296E4   8BC8               mov ecx,eax
004296E6   8A85 18150000      mov al,byte ptr ss:
004296EC   83E1 03            and ecx,3
004296EF   F3:A4            rep movs byte ptr es:,byte ptr ds:
004296F1   8A8D 13150000      mov cl,byte ptr ss:
004296F7   884424 16          mov byte ptr ss:,al
004296FB   8A85 1B150000      mov al,byte ptr ss:
00429701   80E9 14            sub cl,14
00429704   884C24 14          mov byte ptr ss:,cl
00429708   8A8D 19150000      mov cl,byte ptr ss:
0042970E   885424 15          mov byte ptr ss:,dl
00429712   8A95 1A150000      mov dl,byte ptr ss:
00429718   2C 15            sub al,15
0042971A   80E9 18            sub cl,18
0042971D   884424 19          mov byte ptr ss:,al
00429721   884C24 17          mov byte ptr ss:,cl
00429725   8A8D 1C150000      mov cl,byte ptr ss:
0042972B   885424 18          mov byte ptr ss:,dl
0042972F   8A95 1D150000      mov dl,byte ptr ss:
00429735   8D4424 14          lea eax,dword ptr ss:
00429739   50               push eax
0042973A   884C24 1E          mov byte ptr ss:,cl
0042973E   885424 1F          mov byte ptr ss:,dl
00429742   E8 54A10000      call Chinese_.0043389B
00429747   83C4 04            add esp,4
0042974A   3BC3               cmp eax,ebx                                     ; cmp eax,0
0042974C   75 07            jnz short Chinese_.00429755                      ; NOP
0042974E   C605 38605300 00   mov byte ptr ds:,0
00429755   83C3 11            add ebx,11
00429758   81FB FF439100      cmp ebx,9143FF
0042975E   ^ 0F8C 5BFFFFFF      jl Chinese_.004296BF
00429764   803D 38605300 01   cmp byte ptr ds:,1
0042976B   0F85 72050000      jnz Chinese_.00429CE3

看到了没有?有共有四种更改的方法,都是考虑到到标志位的~一次暴个够~

我的问题是:他怎么知道在ASCII "0000000"这一行附近观察修改?他怎么知道这一段是重启验证的段?

[ 本帖最后由 王永波 于 2007-5-16 22:37 编辑 ]

Nisy 发表于 2007-5-16 15:56:42

回复一下,猫最近很忙,可能很少上线.

兄弟提问的应该是软件重启验证的问题, 我让兄弟思考一个问题: 软件验证时候的算法和重启时候验证KEY的算法是否是相同的?

思考了这个问题后,我想兄弟就应该明白了吧. 如果两处验证的算法不一样,那可就出乱子了,呵呵~

应该我们在第一次注册的时候已经看过算法流程 所以当重启时下断后:d 536038

我们发现断到的指令部分和我们软件注册时候的算法是相同的,所以就知道这里是重启验证的部分.

软件没有跟,只是看了下猫的文章 ,如果出错之处, 还望大家指正.

不知这样回复楼主懂我的意思了没?

王永波 发表于 2007-5-16 16:42:43

歉意--猫兄

我太菜!
重启后下什么断?
d 536038是什么是在断什么?
nisy就是nisy   ^_^服了
听君一席话....哈哈

rayicy 发表于 2007-5-16 17:19:24

d 536038

查看 536038 中的数据 :)

王永波 发表于 2007-5-16 21:26:07

步骤哪里错误?

od载入,写上“d 536038”,点回车,点运行,软件没有断下来啊,怎么回事,哪里出错了?
谢谢解答菜鸟非常感激

Nisy 发表于 2007-5-16 21:49:37

应该是下硬件断点 d 536038 就是来到这个地址 然后和ESP定律下断方式一样 兄弟试一下~ 有问题再跟帖~~

王永波 发表于 2007-5-16 22:29:35

回复 #6 Nisy 的帖子

看到了哈支持pyg 支持nisy
非常感谢总坛主    pyg真好

小子贼野 发表于 2007-5-20 15:17:16

为什么不尝试追下码?

eopenfang 发表于 2007-5-27 01:03:59

建议

希望先学点基础,打好基础之后才能融会贯通,个人理解,不对的地方请指教!

lxk836 发表于 2007-6-5 20:59:49

PYG就是初学者的天堂,老大都这么热心
页: [1] 2
查看完整版本: 顶猫兄---我太菜