KaQqi 发表于 2016-10-27 20:42

160cm之005 爆破、追码 by cqr2287

本帖最后由 cqr2287 于 2017-6-12 20:03 编辑

   这个软件还是ajj大牛的。小白我望而生畏。
有壳,用堆栈法脱壳即可,一个简单的upx。
经过两天的努力完成了我的第二个CKme----"CKme之层层设防"。
怎么样名字不错吧。      8)
这可是我一边看着Delphi的E文HELP一边写的,(还没来的及去买本书。)太累了!
由于第一个CKme被jojo兄6分钟搞定,所以在我的这个"层层设防"里加大了点难度。
争取让jojo兄在6分钟后还是一脸茫然。(哈哈。。想到这里我就想大笑。。)
说实话,我不太相信有人能在6分钟内成功的破解掉它。不信你就试试。
说说程序吧:
    开始你也许会觉得中间的图片很好看,但我保证你会讨厌它的。
注册成功后程序的外观会作一点小的变化,注意不到可不要怪我。    8)
就说这么多吧,各位大侠抄家伙上吧。但我希望最好只用SOFTICE或TRW,
如果实在不行了再用"砍"的办法。上面的6分钟一说可不承认用"砍"来解决问题。
最后祝各位大侠好运!!!
好吧。

static/image/hrline/2.gif
爆破是个很简单的事情。字符串查找。
00447465    BA 8C744400   mov edx,CKme002d.0044748C                ; 厉害厉害真厉害!佩服佩服真佩服!!
0044746A    E8 EDC4FBFF   call CKme002d.0040395C
0044746F    BA B8744400   mov edx,CKme002d.004474B8                ; 注册了

找到如上字符串。向上跟,看看有没有跳转。
004473F1   /0F84 88000000   je CKme002d.0044747F
004473F7   |81BB 08030000 0>cmp dword ptr ds:,0x230D
00447401   |74 7C         je short CKme002d.0044747F
00447403   |81BB 10030000 9>cmp dword ptr ds:,0xF94
0044740D   |75 70         jnz short CKme002d.0044747F
0044740F   |8B83 18030000   mov eax,dword ptr ds:
00447415   |3B83 14030000   cmp eax,dword ptr ds:
0044741B   |75 62         jnz short CKme002d.0044747F
0044741D   |81BB 1C030000 E>cmp dword ptr ds:,0x3E7
00447427   |74 56         je short CKme002d.0044747F
00447429   |33D2            xor edx,edx
0044742B   |8B83 D8020000   mov eax,dword ptr ds:

四个跳转都可以调走。全都nop。

哈哈。下面开始追码

追码才能真正看出层层设防是什么意思。
对于ajj的cm,经过经验,我觉得用按钮事件比较好。
上dede。
dede只能分析无壳程序。提前跟新手们说一声。
找到过程,之看到一个按钮。

哈哈,反汇编追踪。
446FA4。
锻炼记忆力的时刻到了,打开od。
扯淡一句:今天上午背英语课文我只用了3分钟。
继续,追踪地址。
00446FA4    55            push ebp
00446FA5    8BEC            mov ebp,esp
00446FA7    8B90 08030000   mov edx,dword ptr ds:
00446FAD    81FA 0D230000   cmp edx,0x230D
00446FB3    74 20         je short CKme002d.00446FD5
00446FB5    80F9 01         cmp cl,0x1
00446FB8    75 09         jnz short CKme002d.00446FC3
00446FBA    8380 08030000 0>add dword ptr ds:,0x3
00446FC1    EB 12         jmp short CKme002d.00446FD5
00446FC3    81FA 94020000   cmp edx,0x294
00446FC9    7D 0A         jge short CKme002d.00446FD5
00446FCB    C780 08030000 0>mov dword ptr ds:,0x230D
00446FD5    5D            pop ebp                                  ; 0068EF00
00446FD6    C2 0C00         retn 0xC
00446FD9    8D40 00         lea eax,dword ptr ds:
00446FDC    81B8 08030000 9>cmp dword ptr ds:,0x29D
00446FE6    75 0D         jnz short CKme002d.00446FF5
00446FE8    B2 01         mov dl,0x1
00446FEA    8B80 F0020000   mov eax,dword ptr ds:
00446FF0    8B08            mov ecx,dword ptr ds:
00446FF2    FF51 5C         call dword ptr ds:
00446FF5    C3            retn

我擦,什么个玩意,成功提示都没有
下段,运行,跟踪。
断下后f8跟踪。
法克,成功没见着,直接到失败了{:301_995:}
这就说明,按确定按钮注册一定不成功。(fuck)
cm一般不会有可疑举动。第一反应注册表。

没有可疑的。
对了,刚才dede的时候是不是看到了时钟?莫非……
莫非程序用时钟检测鼠标位置?因为我刚才鼠标图标变了。
好,从settimer进行跟踪。
==0xF94
我们需要讲鼠标移动到==0xF94的位置。
这个位置在哪?动态跟踪后找指针追踪即可获得坐标
然后用ty(这里我的方法不好,这是编程里的。)就能获得具体位置


static/image/hrline/2.gif
感慨
ajj大牛太牛了,小白我太烂了
对于这种cm,dede非常合适

a961960337 发表于 2016-11-6 01:35

我也做到这了两分钟爆破完成,可是也是找不到他以上调用对比的地方很奇怪,明天再看看,这是一个三星难度,主要在于四个call失败,然后成功一个,成功会再图片中显示,你这么一说我大概知道了注册按钮是百分百调用失败的

KaQqi 发表于 2016-11-18 14:42

WYWZ 发表于 2016-11-17 11:53
只能看懂楼主修改4个NOP ,后面的照楼主讲的试了下还是不懂楼主想表达的意思......

爆破不能提现层层设防。作者通过鼠标指针以及注册码对应判断软件流程

小补 发表于 2016-10-27 20:56

小白的我看不懂。不过感觉好牛逼的样子。

Sound 发表于 2016-10-27 20:59

只能看懂爆破部分修改4个跳转NOP 其他的看不懂楼主想表达的意思。

Very_good 发表于 2016-10-27 21:42

同上   呵呵

onspee 发表于 2016-10-27 21:57

追码在那?

Sendige 发表于 2016-10-27 22:13

楼主是说爆破后要鼠标放到指定位置才能显示破解成功??

苏紫方璇 发表于 2016-10-27 22:29

同只能看懂爆破部分的

bnjzzheng 发表于 2016-10-28 00:11

观摩学习中

ljy4460607 发表于 2016-10-28 00:58

现在程序越来越牛逼啦

QNLY 发表于 2016-10-28 09:43

过来学习一下
页: [1] 2 3
查看完整版本: 160cm之005 爆破、追码 by cqr2287