【文章标题】: [JKS]Crack.exe 爆破分析
【文章作者】: 小鸡拜拜
【软件名称】: 论坛CM区
【下载地址】: 自己搜索下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
今天在论坛逛发现了这个CM下来看了看。。难度不是太大。 只是字符串转16进制有些费劲罢了
E语言脱机脱掉
还有玩这个CM的时候注意下 不知道作者这里 cmd.exe /c del 是为了吓唬 还是真的实现了 不知道
所以还是直接C3的好
0040C24D 55 push ebp // RETN
就可以了 先保存份出来
运行下程序 发现不可以运行 自效验咯。 OD载入
运行E语言按钮事件脚本 当然 也可以直接查找FF55FC 一样的
F9运行。 断下后 F7步入
00404EEC 55 push ebp //到了这里 F8单步
00404EED 8BEC mov ebp,esp
00404EEF 81EC 28000000 sub esp,0x28
00404EF5 C745 FC 0000000>mov dword ptr ss:[ebp-0x4],0x0
00404EFC 68 01000100 push 0x10001
00404F01 68 00000106 push 0x6010000
00404F06 68 01000152 push 0x52010001
00404F0B 68 01000000 push 0x1
00404FB9 8945 F4 mov dword ptr ss:[ebp-0xC],eax
00404FBC 8B5D F8 mov ebx,dword ptr ss:[ebp-0x8]
00404FBF 85DB test ebx,ebx
00404FC1 74 09 je short 1.00404FCC
00404FC3 53 push ebx
00404FC4 E8 ECB90000 call 1.004109B5
00404FC9 83C4 04 add esp,0x4
00404FCC 8B45 F4 mov eax,dword ptr ss:[ebp-0xC]
00404FCF A3 80069F00 mov dword ptr ds:[0x9F0680],eax
00404FD4 E8 9E160000 call 1.00406677 //到这如果继续F8程序就终止了 F7跟入
00404FD9 6A 00 push 0x0
00404FDB 6A 00 push 0x0
00404FDD 6A 00 push 0x0
00404FDF 68 04000080 push 0x80000004
00406677 55 push ebp //RETN
00406678 8BEC mov ebp,esp
0040667A 81EC 04000000 sub esp,0x4
00406680 B8 B2334000 mov eax,1.004033B2 ; ASCII "[JKS]Crack.exe" //这里我想应该是效验文件名吧
00406685 8945 FC mov dword ptr ss:[ebp-0x4],eax
00406688 8D45 FC lea eax,dword ptr ss:[ebp-0x4]
0040668B 50 push eax
不管是效验什么了 RETN完保存份 运行下程序 可以正常运行了 好了 继续下面的工作 先送大家份东西 这个CM里
因为字符串都是16进制了 为了大家分析方便 我把16进制都转换出来贴出来 对照着来就好。
%BB%FA%C6%F7%C2%EB%D2%D1%B8%B4%D6%C6%B5%BD%C4%E3%B5%C4%BC%F4%C7%D0%B0%E5%A3%A1 //机器码已复制到你的剪切板!
%D6%BB%CD%EA%B3%C9%C1%CB%D2%BB%B2%BD%A3%A1 //只完成了一步!
%C4%E3%D7%DC%B9%B2%CD%EA%B3%C9%C1%CB2%B2%BD%A3%AC%BC%D3%D3%CD%A3%A1 //你总共完成了2步,加油!
%B9%A7%CF%B2%C4%E3%A3%AC%C8%AB%B2%BF%B6%BC%CD%EA%B3%C9%C1%CB%A3%A1%BC%D7%BF%C7%B3%E6%D3%D0%C4%E3%B8%FC%BE%AB%B2%CA%A3%A1 //恭喜你,全部都完成了!甲壳虫有你更精彩!
%C4%E3%B3%C9%B9%A6%C1%CB%A3%A1 //你成功了!
%B9%A7%CF%B2%C4%E3%A3%AC%D2%D1%D7%A2%B2%E1%A3%A1 //恭喜你,已注册!
%C4%E3%BB%B9%B2%EE%D2%BB%B2%BD%BE%CD%CD%EA%B3%C9%C1%CB%A3%A1 //你还差一步就完成了!
%D7%A2%B2%E1%C2%EB%B4%ED%CE%F3%A3%AC%C7%EB%C1%AA%CF%B5%D7%F7%D5%DF%A3%A1 //注册码错误,请联系作者!
%D7%A2%B2%E1%CA%A7%B0%DC%A3%AC%C7%EB%B5%BDJKS%D1%A7%CF%B0%A3%A1 //注册失败,请到DJK学习!
%B1%AC%C6%C6%CE%B4%B3%C9%B9%A6%A3%A1 //爆破未成功!
%C7%EB%CE%F0%D0%DE%B8%C4%B3%CC%D0%F2%A3%AC%B1%A3%BB%A4%CF%B5%CD%B3%C6%F4%B6%AF%A3%A1 //请勿修改程序,保护系统启动!
%B1%AC%C6%C6%CA%A7%B0%DC%A3%A1 //爆破失败!
这样就简单多了 把程序运行起来随便输入注册码 注册失败请到XXX学习
找到这个字符串 双击进去 找到段首
0040C2EF 55 push ebp //F2下断
0040C2F0 8BEC mov ebp,esp
0040C2F2 81EC 18000000 sub esp,0x18
0040C2F8 6A FF push -0x1
0040C2FA 6A 08 push 0x8
0040C2FC 68 53060116 push 0x16010653
0040C301 68 01000152 push 0x52010001
0040C306 E8 C2460000 call 2.004109CD
0040C30B 83C4 10 add esp,0x10
0040C30E 8945 FC mov dword ptr ss:[ebp-0x4],eax
F9运行程序 随便输入注册码 点验证注册
好程序断下来了 F8向下走
0040C33F /74 09 je short 2.0040C34A
0040C341 |53 push ebx
0040C342 |E8 6E460000 call 2.004109B5
0040C347 |83C4 04 add esp,0x4
0040C34A \837D F8 08 cmp dword ptr ss:[ebp-0x8],0x8
0040C34E 0F8D 9F000000 jge 2.0040C3F3 //这里是判断是否输入注册码
0040C354 B8 73384000 mov eax,2.00403873 ; %D7%A2%B2%E1%C2%EB%B4%ED%CE%F3%A3%AC%C7%EB%C1%AA%CF%B5%D7%F7%D5%DF%A3%A1
0040C359 8945 FC mov dword ptr ss:[ebp-0x4],eax
0040C35C 8D45 FC lea eax,dword ptr ss:[ebp-0x4]
0040C35F 50 push eax
0040C460 837D EC 00 cmp dword ptr ss:[ebp-0x14],0x0
0040C464 0F84 07000000 je 2.0040C471
0040C46A B8 01000000 mov eax,0x1
0040C46F EB 02 jmp short 2.0040C473
0040C471 33C0 xor eax,eax
0040C473 85C0 test eax,eax
0040C475 0F84 27000000 je 2.0040C4A2 //走到这里 NOP
0040C47B E8 BA1A0000 call 2.0040DF3A //走到这里 会弹出 请勿修改程序,保护系统启动!直接NOP 保存一份出去
0040C480 6A 00 push 0x0
点验证注册 。 OK啦 真的成功吗? 亮了 点一下 程序就消失了。。继续搞 OD重新载入 查找字符串
%B9%A7%CF%B2%C4%E3%A3%AC%C8%AB%B2%BF%B6%BC%CD%EA%B3%C9%C1%CB%A3%A1%BC%D7%BF%C7%B3%E6%D3%D0%C4%E3%B8%FC%BE%AB%B2%CA%A3%A1 //恭喜你,全部都完成了!甲壳虫有你更精彩!
找到这句
00408F90 55 push ebp //找到段首 F2下断
00408F91 8BEC mov ebp,esp
00408F93 81EC 1C000000 sub esp,0x1C
00408F99 E8 90010000 call 1.0040912E //这里 F7跟入
00408F9E E8 D4D6FFFF call 1.00406677
00408FA3 E8 86010000 call 1.0040912E
00408FA8 8945 F8 mov dword ptr ss:[ebp-0x8],eax
00408FAB 837D F8 01 cmp dword ptr ss:[ebp-0x8],0x1
00408FAF 0F85 72000000 jnz 1.00409027
0040912E 55 push ebp
0040912F 8BEC mov ebp,esp
00409131 81EC 0C000000 sub esp,0xC
00409137 B8 B2334000 mov eax,1.004033B2 ; [JKS]Crack.exe
0040913C 8945 FC mov dword ptr ss:[ebp-0x4],eax
0040913F 8D45 FC lea eax,dword ptr ss:[ebp-0x4]
00409142 50 push eax
00409143 E8 A3D5FFFF call 1.004066EB //这里 NOP
00409148 8BD8 mov ebx,eax
0040914A 85DB test ebx,ebx
0040914C /74 09 je short 1.00409157 //这里要跳
0040914E |53 push ebx
0040914F |E8 61780000 call 1.004109B5
00409154 |83C4 04 add esp,0x4
00409157 \8B5D FC mov ebx,dword ptr ss:[ebp-0x4]
004091A8 E8 17020000 call 11.004093C4
004091AD 8945 FC mov dword ptr ss:[ebp-0x4],eax
004091B0 E8 AC280000 call 11.0040BA61
004091B5 3945 FC cmp dword ptr ss:[ebp-0x4],eax
004091B8 0F85 8C010000 jnz 11.0040934A
004091BE E8 01020000 call 11.004093C4
004091C3 8945 F8 mov dword ptr ss:[ebp-0x8],eax
004091C6 837D F8 01 cmp dword ptr ss:[ebp-0x8],0x1
004091CA 0F85 FF000000 jnz 11.004092CF //到了这里 大家可以自己跟下分析下 我就不跟了 直接NOP
004091D0 E8 8C280000 call 11.0040BA61
004091D5 8945 F8 mov dword ptr ss:[ebp-0x8],eax
004091D8 837D F8 01 cmp dword ptr ss:[ebp-0x8],0x1
004091DC 0F85 B2000000 jnz 11.00409294 //这里也NOP
004091E2 E8 90D4FFFF call 11.00406677
004091E7 B8 41374000 mov eax,11.00403741 ; ASCII "%C4%E3%B3%C9%B9%A6%C1%CB%A3%A1"
老样子 保存一份出去 运行下 随便添注册码 点验证 点是否成功 OK了 搞定。
没啥技术含量大牛直接飘过吧
--------------------------------------------------------------------------------
【经验总结】
作者写CM之余 还不忘加广告 精神可嘉.......
--------------------------------------------------------------------------------
【版权声明】: 本文原创于小鸡拜拜, 转载请注明作者并保持文章的完整, 谢谢!
2009年10月30日 15:27:57 |