能力值:
( LV7,RANK:100 )
|
-
-
2 楼
一种BASE32加密法
|
能力值:
(RANK:1290 )
|
-
-
3 楼
哥们发个答案吧。。。 我真想知道怎么弄的。。
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
5 - 8 反向的扩充时候那三位 填0 ?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
恩 是得 头三位填0
|
能力值:
( LV7,RANK:100 )
|
-
-
6 楼
好像好多人都死在这个BASE32编码算法上了
char *Base32(char *sha1,char *code,int len)
{
char base[]={"ABCDEFGHJKMNPQRSTVWXYZ1234567890"};
int length =(len*8+4)/5;
char* sb = code;
int cur_i = 0;
byte cur_b = 0;
int index;
int k;
for (int i = 0; i < length; i++)
{
index = 0;
for (int j = 0; j < 5; j++)
{
k = i * 5 + j;
if (k == len * 8)
break;
if (k % 8 == 0)
{
cur_b = *(BYTE*)(sha1+cur_i);
cur_i++;
}
index <<= 1;
index |= (cur_b & 128) == 0 ? 0 : 1;
cur_b <<= 1;
}
*(BYTE*)(code+i)=base[index];
}
return code;
}
|
能力值:
( LV9,RANK:160 )
|
-
-
7 楼
实际上看出这段比较代码
00401556 |> /8B32 /mov esi, dword ptr [edx]
00401558 |. |3B31 |cmp esi, dword ptr [ecx]
0040155A |. |75 12 |jnz short 0040156E
0040155C |. |83E8 04 |sub eax, 4
0040155F |. |83C1 04 |add ecx, 4
00401562 |. |83C2 04 |add edx, 4
00401565 |. |83F8 04 |cmp eax, 4
00401568 |.^\73 EC \jnb short 00401556
0040156A |. 3BC3 cmp eax, ebx
0040156C |. 74 5D je short 004015CB
0040156E |> 0FB632 movzx esi, byte ptr [edx]
00401571 |. 0FB639 movzx edi, byte ptr [ecx]
00401574 |. 2BF7 sub esi, edi
00401576 |. 75 45 jnz short 004015BD
00401578 |. 83E8 01 sub eax, 1
0040157B |. 83C1 01 add ecx, 1
0040157E |. 83C2 01 add edx, 1
00401581 |. 3BC3 cmp eax, ebx
然后硬件断点0012F9D4,找出些这段数据的代码
00407F50 > /83FB 03 cmp ebx, 3
00407F53 . |8B4424 18 mov eax, dword ptr [esp+18]
00407F57 . |0FB60C28 movzx ecx, byte ptr [eax+ebp]
00407F5B . |8B4424 10 mov eax, dword ptr [esp+10]
00407F5F . |8A0401 mov al, byte ptr [ecx+eax]
00407F62 . |77 10 ja short 00407F74
00407F64 . |83C3 FD add ebx, -3
00407F67 . |83E3 07 and ebx, 7
00407F6A . |75 1E jnz short 00407F8A
00407F6C . |08043E or byte ptr [esi+edi], al
00407F6F . |83C6 01 add esi, 1
00407F72 . |EB 22 jmp short 00407F96
00407F74 > |83C3 FD add ebx, -3
00407F77 . |83E3 07 and ebx, 7
00407F7A . |8AD0 mov dl, al
00407F7C . |8ACB mov cl, bl
00407F7E . |D2EA shr dl, cl
00407F80 . |08143E or byte ptr [esi+edi], dl
00407F83 . |8B5424 1C mov edx, dword ptr [esp+1C]
00407F87 . |83C6 01 add esi, 1
00407F8A > |B9 08000000 mov ecx, 8
00407F8F . |2BCB sub ecx, ebx
00407F91 . |D2E0 shl al, cl
00407F93 . |08043E or byte ptr [esi+edi], al
00407F96 > |83C5 01 add ebp, 1
00407F99 . |3BEA cmp ebp, edx
00407F9B .^\7C B3 jl short 00407F50
到这就看出怎么回事了。。。不过懒得写注册机了,要抠代码。。。
|