首页
社区
课程
招聘
[求助]Please Find Password
发表于: 2009-8-1 17:01 5192

[求助]Please Find Password

2009-8-1 17:01
5192
收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
2
我不厚道 不会算法
直接抠代码出来
来了一个for循环遍历
生成了16363个Key
2009-8-1 20:33
0
雪    币: 20
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
算法挺长,分析了一小半.明天在继续.
+11111,+22222,+33333,+44444.....
2009-8-2 00:14
0
雪    币: 15
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Thanks For Analyze
Hard Find Password!
2009-8-2 05:26
0
雪    币: 20
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
bp GetDlgItemTextA

注意[EBP-5]=12FBA7处的值,此处是标志,为零则失败。
注册码等于8位,必需是“0123456789ABCDEF”字符

假码=“12345678”
将“1234”转化为1234H,将“5678”转化为5678H

算法分析:所有计算结果都只取4位16进制....

(11111=2B67H,22222=56CEH)

设A=1234H B=5678H
X=(B +11111) xor A
Y=(X +22222) xor B

X、Y取4位16进制,前后2位交换位置,如xchang 1234H,结果为3421H
X前后交换后->X
Y前后交换后->Y
X=(X +33333) xor Y
Y=(X +44444) xor X

同样,将X取4位16进制,前后2位交换、Y也是。
X前后2位交换->X
Y...........->Y
X=(X+44444) xor Y
Y=(X+33333) xor X

又是前后交换
X=(X+22222) xor Y
Y=(X+11111) xor X

Y取4位,右移后=33H就OK!

现在求逆向过程。
不知道对不对,因为编了个程序自动算注册码,,到现在也没结果,...可能没搞定.


无解!!
我试了最后一句Y=(X+11111) xor X
设Y=3300~33FF循环,而X从1~FFFF循环,,想碰撞出33XXH出来,(XX是任意数)
可是根本不存在此数.
for(y=0x3300;y<0x33FF;y++)
    {   for(x=0;x<0xFFFF;x++)
            if(((x+0x2b67)^x)==y)
                    break;
            printf(" %d %x ",count++,x);

     }
请楼主解释原因.HEHE

作者:看雪论坛.thatsme
2009-8-2 14:56
0
雪    币: 15
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
Thanks thatsme Very Nice Solved

Error Compiled This Code Please Upload Poject
2009-8-2 18:10
0
雪    币: 20
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
无解!!
我试了最后一句Y=(X+11111) xor X
设Y=3300~33FF循环,而X从1~FFFF循环,,想碰撞出33XXH出来,(XX是任意数)
可是根本不存在此数.
for(y=0x3300;y<0x33FF;y++)
    {   for(x=0;x<0xFFFF;x++)
            if(((x+0x2b67)^x)==y)
                    break;
            printf(" code  %x ",x);

     }
请楼主解释原因.HEHE
2009-8-9 08:27
0
雪    币: 15
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
Thanks You thatsme
2009-8-10 17:14
0
雪    币: 378
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
IDA直接扣出来就好了...我是来膜拜2L的

[color=#0000D0]void[/color] main([color=#0000D0]int[/color] argc, [color=#0000D0]char[/color]* argv[])
{
        [color=#0000D0]int[/color] v5; [color=#008000]// edx@10[/color]
        [color=#0000D0]int[/color] v7; [color=#008000]// ebx@10[/color]
        [color=#0000D0]int[/color] v8; [color=#008000]// edx@10[/color]
        [color=#0000D0]int[/color] v9; [color=#008000]// eax@10[/color]
        [color=#0000D0]int[/color] v10; [color=#008000]// ebx@10[/color]
        [color=#0000D0]int[/color] v11; [color=#008000]// edx@10[/color]
        [color=#0000D0]int[/color] v12; [color=#008000]// eax@10[/color]
        [color=#0000D0]int[/color] v13; [color=#008000]// ebx@10[/color]
        [color=#0000D0]int[/color] v14; [color=#008000]// edx@10[/color]
        [color=#0000D0]int[/color] v15; [color=#008000]// eax@10[/color]
        [color=#0000D0]int[/color] v16; [color=#008000]// ebx@10[/color]
        [color=#0000D0]int[/color] v17; [color=#008000]// [sp+8h] [bp-Ch]@1[/color]
        [color=#0000D0]int[/color] v18; [color=#008000]// [sp+4h] [bp-10h]@1[/color]
        [color=#0000D0]int[/color] v19; [color=#008000]// [sp+0h] [bp-14h]@1[/color]

        [color=#0000D0]char[/color] v22; [color=#008000]// [sp+Fh] [bp-5h]@1[/color]
        
        v17 = 0;
        v18 = 0;
        v19 = 0;

        [color=#008000]//FILE* fp = fopen("psd.txt","a+");[/color]
        [color=#008000]//char buffer[20] = {0};[/color]
        [color=#0000D0]for[/color] ([color=#0000D0]int[/color] n = 0x10000000; n <= 0xFFFFFFFF; n++)
        {
                v7 = n%0x10000;
                v19 = n/0x10000;
                v8 = v19 ^ (v7 + 11111) % 65536;
                v9 = v7 ^ (v8 + 22222) % 65536;
                v10 = v8 / 256 + (v8 % 256 << 8);
                v11 = (v9 / 256 + (v9 % 256 << 8)) ^ (v10 + 33333) % 65536;
                v12 = v10 ^ (v11 + 44444) % 65536;
                v13 = v11 / 256 + (v11 % 256 << 8);
                v14 = (v12 / 256 + (v12 % 256 << 8)) ^ (v13 + 44444) % 65536;
                v15 = v13 ^ (v14 + 33333) % 65536;
                v16 = v14 / 256 + (v14 % 256 << 8);
                v5 = (v15 / 256 + (v15 % 256 << 8)) ^ (v16 + 22222) % 65536;
                [color=#0000D0]if[/color] ( (v16 ^ (v5 + 11111) % 65536) / 256 != 51 || v5 / 256 != 37 )
                        v22 = 0;
                [color=#0000D0]else[/color]
                {
                        [color=#008000]//sprintf(buffer,"%04X%04X\n",v19,v7);[/color]
                        [color=#008000]//fwrite(buffer,1,sizeof(buffer),fp);[/color]
                       [color=#FF0000]printf[/color]([color=#808080]"%04X%04X\n"[/color],v19,v7);
                }
        }
        [color=#008000]//fclose(fp);[/color]
}
2009-8-12 21:24
0
雪    币: 15
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
Thanks You nissassA Very Nice
2009-8-13 01:22
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
LoL,Nice!
The best of best cracker,疯子 and nissassA.
2009-8-13 09:00
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
好好学习  天天向上
2009-8-25 17:04
0
游客
登录 | 注册 方可回帖
返回
//