能力值:
( LV2,RANK:10 )
|
-
-
51 楼
实在弄不出来,不过这里
004012BC /74 16 jne short 004012D4
改成
004012BC /74 16 je short 004012D4
就应该算破了把
|
能力值:
( LV2,RANK:10 )
|
-
-
52 楼
好方法!! 没想到可以这样 哈哈
有创意 学习一下
|
能力值:
( LV2,RANK:10 )
|
-
-
53 楼
我找到注册码啦,但是算法不明白,望各位大虾给解释下,多谢
1111
3572128831
1110
3572194367
0040124E . B9 0A000000 MOV ECX,0A
00401253 . A1 45634000 MOV EAX,DWORD PTR DS:[406345]
00401258 . 33DB XOR EBX,EBX
0040125A > 33D2 XOR EDX,EDX
0040125C . F7F1 DIV ECX
0040125E . 80C2 30 ADD DL,30
00401261 . 8893 49654000 MOV BYTE PTR DS:[EBX+406549],DL
00401267 . 43 INC EBX
00401268 . 85C0 TEST EAX,EAX
0040126A .^75 EE JNZ SHORT crackme.0040125A
0040126C . 68 49654000 PUSH crackme.00406549 ; /String = "7634912753"
00401271 . E8 86010000 CALL <JMP.&kernel32.lstrlenA> ; \lstrlenA
|
能力值:
( LV2,RANK:10 )
|
-
-
54 楼
!!!这个CM怎么回事?会有音乐!
楼上的人怎么没有提到这个?我把程序挂起了也有音乐出现,怎么也停不了音乐,也不知道在哪里出现 的?!!
这音乐是怎么回事啊?
|
能力值:
( LV2,RANK:10 )
|
-
-
55 楼
username: lidesaiwu
password: 906546750
新手學習中.還不知道如何推演算法!
|
能力值:
( LV2,RANK:10 )
|
-
-
56 楼
username:xuaimin
code: 670177451
|
能力值:
( LV2,RANK:10 )
|
-
-
57 楼
语言:C语言
平台:Win7 + Codeblocks
分析工具: OD + IDA
----------------------我是分割线--------------------------------------------------
#include <stdio.h>
#include <string.h>
int main()
{
unsigned char a[40] = {0xAA,
0x89, 0xC4, 0xFE, 0x46, 0x78, 0xF0, 0xD0, 0x03, 0xE7, 0xF7, 0xFD, 0xF4, 0xE7, 0xB9, 0xB5, 0x1B,
0xC9, 0x50, 0x73, 0x00, 0x48, 0x90, 0x25, 0x00, 0xDC, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
char temp[10] = "qwer";
unsigned char user[10];
int userLen = strlen(temp);
int index = 0;
unsigned int res;
unsigned char ch;
for(int i=0; i<userLen; i++)
user[i] = (unsigned char) temp[i];
user[userLen] = '\0';
index = 0;
for(int i=1; i<=userLen; i++)
{
ch = user[i];
user[i] ^= a[index];
a[index] = ch;
index++;
if(index>=5)
index -= 5;
}
index = 5;
for(int i=userLen; i>0; i--)
{
ch = user[i];
user[i] ^= a[index];
a[index] = ch;
index++;
if(index>=10)
index -= 5;
}
index = 10;
for(int i=1; i<=userLen; i++)
{
ch = user[i];
user[i] ^= a[index];
a[index] = ch;
index++;
if(index>=15)
index -= 5;
}
index = 15;
for(int i=userLen; i>0; i--)
{
ch = user[i];
user[i] ^= a[index];
a[index] = ch;
index++;
if(index>=20)
index -= 5;
}
for(int i=1; i<=4; i++)
{
for(int j=i+4; j<=userLen; j+=4)
user[i] += user[j];
}
res = (user[4]<<24) + (user[3]<<16) + (user[2]<<8) + user[1];
printf("%u\n", res);
return 0;
}
|
能力值:
( LV1,RANK:0 )
|
-
-
58 楼
干
#include <stdio.h> #include <string.h>
typedef union { int val_all; unsigned char val_[4]; }VAL;
int main(void) { VAL val = {0}; int i = 0, j = 0, m = 0; unsigned char a[512] = {0}, lenth = 0, key[1024] = {0}; int b[4][5] = {{0xAA, 0x89, 0xC4, 0xFE, 0x46}, {0x78, 0xF0, 0xD0, 0x03, 0xE7}, {0xF7, 0xFD, 0xF4, 0xE7, 0xB9}, {0xB5, 0x1B, 0xC9, 0x50, 0x73}}; printf("Please input the name: "); gets(a); lenth = strlen(a); for(i = 1, j = 0; i <= lenth; i++, j++) { if(j == 5) j = 0; m = a[i], a[i] ^= b[0][j], b[0][j] = m; } for(i = lenth, j = 0; i >= 1; i--, j++) { if(j == 5) j = 0; m = a[i], a[i] ^= b[1][j], b[1][j] = m; } for(i = 1, j = 0; i <= lenth; i++, j++) { if(j == 5) j = 0; m = a[i], a[i] ^= b[2][j], b[2][j] = m; } for(i = lenth, j = 0; i >= 1; i--, j++) { if(j == 5) j = 0; m = a[i], a[i] ^= b[3][j], b[3][j] = m; } for(i = 1, j = 0; i <= lenth; i++, j++) { if(j == 4) j = 0; val.val_[j] += a[i]; } i = 0; while(val.val_all) { key[i++] = val.val_all%10+0x30; val.val_all /= 10; } printf("the key is: "); for(i = strlen(key)-1; i >= 0; i--) putchar(key[i]); return 0; }
|
能力值:
( LV2,RANK:10 )
|
-
-
59 楼
switch ( a2 ) { case 272u: v4 = LoadIconA(hModule, 0x1F6); // 加载一个图标 SendMessageA(hWnd, 128u, 0, v4); // 将第二个参数的信息发送到第一个参数指定的窗口 SendDlgItemMessageA(hWnd, 100, 197u, 0x55u, 0);// 把一个消息发送给指定的对话框中的控件,常用于初始化控件 // 第三个参数是要发送的消息 第一个参数是窗口句柄 sub_401441(hMem); break; case 273u: 想问一下这个hMem是用来干什么的
|
能力值:
( LV1,RANK:0 )
|
-
-
60 楼
username:123456 password:894904543
|