阿卡林
发表于 2015-5-2 09:58
本帖最后由 Security 于 2015-5-2 10:14 编辑
千千万是福朋友 发表于 2015-5-1 20:57
连接地址:www.myu7.com/i/1.asp
连接密码:12
分割符:Const qjdlbz = "{}"
我的CM呢?
怎么,只能找真码,没真码就不会玩了?
1000HB还等着你呢
之前逆向的都不算
要求爆破,发成功截图
就不用给逆向数据了,你之前发的数据确定能成功?
大牛不会看不起我这个从乡下来的孩子吧
千千万是福朋友
发表于 2015-5-2 11:01
本帖最后由 千千万是福朋友 于 2015-5-2 11:04 编辑
Security 发表于 2015-5-2 09:58
我的CM呢?
怎么,只能找真码,没真码就不会玩了?
1000HB还等着你呢
爆破不是发过了,如果你是最后一个没真码的版本就是下面这两个位置
0040BB28 90 nop ; 假码是否与解密后相同
0040BB29 90 nop
0040BB2A 90 nop
0040BB2B 90 nop
0040BB2C 90 nop
0040BB2D 90 nop
0040C185 6A 01 push 0x1 ; 生成66666组数改生成1组
0040C187 90 nop
0040C188 90 nop
0040C189 90 nop
阿卡林
发表于 2015-5-2 13:23
千千万是福朋友 发表于 2015-5-2 11:01
爆破不是发过了,如果你是最后一个没真码的版本就是下面这两个位置
0040BB28 90 nop ...
让你发成功的截图,你发数据有用?
你自己试试,能不能成功?
千千万是福朋友
发表于 2015-5-3 01:52
本帖最后由 千千万是福朋友 于 2015-5-3 01:53 编辑
Security 发表于 2015-5-2 13:23
让你发成功的截图,你发数据有用?
你自己试试,能不能成功?
我不知道你什么时候又更新了一个
最新地址
0040C2D2 68 6A040100 push 0x1046A ; 生成66666组数改生成1组 push 01
0040BC75 /0F84 1C010000 je Security.0040BD97 ;判断是否与假码相同 直接NOP
补丁不发了
说下你软件判断的流程
53 65 63 75 72 69 74 79 Security// 解密密码
D1 EB 19 5A 45 75 31 38 央ZEu18 // "失败"提示的密文
71 85 FB 7C E5 B8 C0 FE q咞|甯俐 // “成功”提示的密文
对加密算法没有研究,不知道你用的什么算法
初始化:
软件初始化两组66666大小的数组,全部保存的是失败提示
随机生成一个1-数组长度大小(66666)之间的整数n
对第一组数组赋值真码的密文(比如第一版:QingGe、第二版:XiaoQi的加密密文),当然后面的版本没有这步操作
对第二组数组赋值"成功"或"OK"之类的加密密文
软件判断:
点击按钮判断假码是否为6位数(也是前两个有真码的版本才有)
循环对第一个数组的66666个解密和假码进行对比(其中的66665组对比都是为了干扰作用,真正有用的对比是第n个数组后的解密密文)
如果假码和第n个解密后的密文相同,则弹出提示内容是第二个数组的第n个元素解密后的密文(也是"成功"提示)
如果假码和全部的66666组解密密文都不相同,调用默认的按钮事件,弹出明文提示“失败”
爆破思路:
把初始化时的两个数组大小从66666改成1,这样第二个提示数组大小只有1,保存的也就是"成功"的提示
这个时候其实已经存在一个真码,那就是输入假码"失败",软件会提示成功(原软件不支持中文,CTRL+C和CTRL+V搞定)
爆破的话要把上面一个假码和解密密文的判断跳转NOP掉,这样不管输入什么或不输入假码
源码的大概流程:细节可能有出入,只有关键部分代码
最后来一张爆破的截图:
阿卡林
发表于 2015-5-3 07:39
千千万是福朋友 发表于 2015-5-3 01:52
我不知道你什么时候又更新了一个
最新地址
不错,我也是时候更新CM了。
软件的关键部分除了这个,还有几个,所以你逆的源码是不能达到那样的效果的。
改天我把程序开源下,也祝贺你成功获得1000HB。
我之前还有几个CM呢,也去试试吧!
千千万是福朋友
发表于 2015-5-4 11:38
Security 发表于 2015-5-3 07:39
不错,我也是时候更新CM了。
软件的关键部分除了这个,还有几个,所以你逆的源码是不能达到那样的效果的 ...
都很有难度,最近不是很有时间,下次有机会再去玩一玩
tantanxin147
发表于 2015-5-5 15:44
你们真牛逼