无聊来发个 CM
这不是我写的,昨天休假回到广州。今天吃完午饭,闲来无聊翻了一下硬盘,见到这个 CM ,感觉难度适中,就发生来给大家玩一下 。。。。 /:001只能说一句好难好难~~~ 不要忽悠了 /:014 不要忽悠了 /:014
/:018 真的没忽悠,我看还是留给其他兄弟玩吧,这个东西真的太费精力了~~~
/:017 放张图(首先说明这是PS效果图,仅当娱乐下哈)
囧!!! 弱弱的问下, ssbg是什么意思?
[ 本帖最后由 hflywolf 于 2010-4-18 16:04 编辑 ] 膜拜下楼上的两位大牛 其实这个 CM 我也搞不出注册码 (我和狼一样是爆破的)昨天发上来时本来就是希望有人能搞出个 注册码的 。
现在还不确定是否有陷阱,穿过了才可以注册
还有昨天上传错了那个 CM 是我 NOP 了 NAG 的 ,也就是 狼说的那个 SSBG 的对话框
那个 SSBG 我也不知道什么意思,这个 CM 躺再硬盘也忘了什么地方搞回来的
我翻了一下代码,貌似没有对密码进行检测的地方,要爆破就很容易
只需用把
00401090 lea eax, dword ptr 这句替换成
00401090 mov eax, dword ptr 这个样子就 OK 了
对新手来说,可见现在很多注册已不需要用JE JNE 等跳转了 , 希望大家继续看看 char input; //输入的字符串
//3E 52 50 51 5D 41
char *pStr = ">RPQ]A";
int result = 6;
for (int n = 5; n >= 0; n--)
{
result += pStr - (input ^ 0x36 - n);
}
/*
x1 ^ 36= 3f + 5
x2 ^ 36= 53 + 4
x3 ^ 36= 51 + 3
x4 ^ 36= 52 + 2
x5 ^ 36= 5E + 1
x6 ^ 36= 42 + 0
sn:rabbit
*/
只要满足result = 0即可。kengen写起来太麻烦了,我这里是令每一次运算等于-1.因为result初始为len(6)。所以一个可用pass:rabbit
关键跳00401236 85C0 test eax,eax
00401238 74 37 je short crack4.00401271
算法部分0040109E 8B65 E8 mov esp,dword ptr ss:
004010A1 8B5D D0 mov ebx,dword ptr ss:
004010A4 33D2 xor edx,edx
004010A6 8B75 08 mov esi,dword ptr ss:
004010A9 8D45 D8 lea eax,dword ptr ss:
004010AC 2BF0 sub esi,eax
004010AE FF4D E4 dec dword ptr ss:
004010B1 8D4C15 D8 lea ecx,dword ptr ss:
004010B5 0FBE040E movsx eax,byte ptr ds:
004010B9 83F0 36 xor eax,36
004010BC 2B45 E4 sub eax,dword ptr ss:
004010BF 0FBE09 movsx ecx,byte ptr ds:
004010C2 2BC8 sub ecx,eax
004010C4 03D9 add ebx,ecx
004010C6 42 inc edx
004010C7 83FA 06 cmp edx,6
004010CA ^ 7C E2 jl short crack4.004010AE
关键标记位置位004010D2 85DB test ebx,ebx
004010D4 0F94C0 sete al
原帖由 lgjxj 于 2010-4-19 11:23 发表 https://www.chinapyg.com/images/common/back.gif
其实这个 CM 我也搞不出注册码 (我和狼一样是爆破的)昨天发上来时本来就是希望有人能搞出个 注册码的 。
现在还不确定是否有陷阱,穿过了才可以注册
还有昨天上传错了那个 CM 是我 NOP 了 NAG 的 ,也就是 狼 ...
开始被你误导了...还以为真是SMC呢……
其实那call到栈里是为了触发异常,不是执行shellcode.真正算法在SEH异常处理函数中。 最后来个广告……
信秦哥,得SN/:013 /:001 boy /:good哈哈,很厉害~~~
/:017 佛云:不可曰,不可曰
页:
[1]
2