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非常合适
我也做到这了两分钟爆破完成,可是也是找不到他以上调用对比的地方很奇怪,明天再看看,这是一个三星难度,主要在于四个call失败,然后成功一个,成功会再图片中显示,你这么一说我大概知道了注册按钮是百分百调用失败的 WYWZ 发表于 2016-11-17 11:53
只能看懂楼主修改4个NOP ,后面的照楼主讲的试了下还是不懂楼主想表达的意思......
爆破不能提现层层设防。作者通过鼠标指针以及注册码对应判断软件流程 小白的我看不懂。不过感觉好牛逼的样子。 只能看懂爆破部分修改4个跳转NOP 其他的看不懂楼主想表达的意思。 同上 呵呵 追码在那? 楼主是说爆破后要鼠标放到指定位置才能显示破解成功?? 同只能看懂爆破部分的 观摩学习中 现在程序越来越牛逼啦 过来学习一下