المحــ البرمجى ــتوى
11-27-2006, 11:50 AM
كود فك تشفير ملفات pwdفى الةندوز كود c++
كود PHP:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#define VER "0.1"
#define KEYPATH "Control Panel\\Desktop"
#define BUFFSZ 512
void scr9x_pwd(unsigned char *pwd, int len);
int main(void) {
HKEY key;
unsigned char buff[BUFFSZ];
int len;
setbuf(stdout, NULL);
fputs("\n"
"Windows 9x screen saver password decoder "VER"\n"
"by Luigi Auriemma\n"
"e-mail: aluigi@autistici.org\n"
"web: http://aluigi.altervista.org\n"
"\n", stdout);
if(RegOpenKeyEx(HKEY_CURRENT_USER, KEYPATH, 0, 0, &key)) {
fputs("\nError: registry key has not been found\n", stdout);
fputs("\n Press RETURN to exit\n", stdout);
fgetc(stdin);
exit(1);
}
len = BUFFSZ;
if(RegQueryValueEx(
key,
"ScreenSave_Data",
NULL,
NULL,
buff,
(void *)&len)) {
fputs("\nError: impossible to read the registry key\n", stdout);
exit(1);
}
RegCloseKey(key);
scr9x_pwd(buff, len);
printf("Password: %s\n", buff);
fputs("\n Press RETURN to exit\n", stdout);
fgetc(stdin);
return(0);
}
void scr9x_pwd(unsigned char *pwd, int len) {
int tmp;
unsigned char *out = pwd,
*p;
const static unsigned char encdata[] =
"\x48\xEE\x76\x1D\x67\x69\xA1\x1B\x7A\x8C\x47\xF8\x 54\x95\x97\x5F"
"\x78\xD9\xDA\x6C\x59\xD7\x6B\x35\xC5\x77\x85\x18\x 2A\x0E\x52\xFF"
"\x00\xE3\x1B\x71\x8D\x34\x63\xEB\x91\xC3\x24\x0F\x B7\xC2\xF8\xE3"
"\xB6\x54\x4C\x35\x54\xE7\xC9\x49\x28\xA3\x85\x11\x 0B\x2C\x68\xFB"
"\xEE\x7D\xF6\x6C\xE3\x9C\x2D\xE4\x72\xC3\xBB\x85\x 1A\x12\x3C\x32"
"\xE3\x6B\x4F\x4D\xF4\xA9\x24\xC8\xFA\x78\xAD\x23\x A1\xE4\x6D\x9A"
"\x04\xCE\x2B\xC5\xB6\xC5\xEF\x93\x5C\xA8\x85\x2B\x 41\x37\x72\xFA"
"\x57\x45\x41\xA1\x20\x4F\x80\xB3\xD5\x23\x02\x64\x 3F\x6C\xF1\x0F";
p = (unsigned char *)encdata;
len = (len >> 1) & 0xff;
while(len--) {
sscanf(pwd, "%02X", &tmp);
*out++ = tmp ^ *p++;
pwd += 2;
}
*out = 0x00;
}
كود PHP:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#define VER "0.1"
#define KEYPATH "Control Panel\\Desktop"
#define BUFFSZ 512
void scr9x_pwd(unsigned char *pwd, int len);
int main(void) {
HKEY key;
unsigned char buff[BUFFSZ];
int len;
setbuf(stdout, NULL);
fputs("\n"
"Windows 9x screen saver password decoder "VER"\n"
"by Luigi Auriemma\n"
"e-mail: aluigi@autistici.org\n"
"web: http://aluigi.altervista.org\n"
"\n", stdout);
if(RegOpenKeyEx(HKEY_CURRENT_USER, KEYPATH, 0, 0, &key)) {
fputs("\nError: registry key has not been found\n", stdout);
fputs("\n Press RETURN to exit\n", stdout);
fgetc(stdin);
exit(1);
}
len = BUFFSZ;
if(RegQueryValueEx(
key,
"ScreenSave_Data",
NULL,
NULL,
buff,
(void *)&len)) {
fputs("\nError: impossible to read the registry key\n", stdout);
exit(1);
}
RegCloseKey(key);
scr9x_pwd(buff, len);
printf("Password: %s\n", buff);
fputs("\n Press RETURN to exit\n", stdout);
fgetc(stdin);
return(0);
}
void scr9x_pwd(unsigned char *pwd, int len) {
int tmp;
unsigned char *out = pwd,
*p;
const static unsigned char encdata[] =
"\x48\xEE\x76\x1D\x67\x69\xA1\x1B\x7A\x8C\x47\xF8\x 54\x95\x97\x5F"
"\x78\xD9\xDA\x6C\x59\xD7\x6B\x35\xC5\x77\x85\x18\x 2A\x0E\x52\xFF"
"\x00\xE3\x1B\x71\x8D\x34\x63\xEB\x91\xC3\x24\x0F\x B7\xC2\xF8\xE3"
"\xB6\x54\x4C\x35\x54\xE7\xC9\x49\x28\xA3\x85\x11\x 0B\x2C\x68\xFB"
"\xEE\x7D\xF6\x6C\xE3\x9C\x2D\xE4\x72\xC3\xBB\x85\x 1A\x12\x3C\x32"
"\xE3\x6B\x4F\x4D\xF4\xA9\x24\xC8\xFA\x78\xAD\x23\x A1\xE4\x6D\x9A"
"\x04\xCE\x2B\xC5\xB6\xC5\xEF\x93\x5C\xA8\x85\x2B\x 41\x37\x72\xFA"
"\x57\x45\x41\xA1\x20\x4F\x80\xB3\xD5\x23\x02\x64\x 3F\x6C\xF1\x0F";
p = (unsigned char *)encdata;
len = (len >> 1) & 0xff;
while(len--) {
sscanf(pwd, "%02X", &tmp);
*out++ = tmp ^ *p++;
pwd += 2;
}
*out = 0x00;
}