Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "camellia.h"
- #include <cstdio>
- #include <cstring>
- int main()
- {
- //unsigned char key[] = { 'D', 'i', 'e', 's', ' ', 'i', 'r', 'a', 'e', ' ', '\x90', '\xBB', '\x95', 'i', '\x94', '\xC5' }; //trial
- unsigned char key[] = "agbsvAZJVBqMwzmE";
- FILE *fp = fopen("exec.dmp", "rb");
- if (fp == NULL) return 1;
- fseek(fp, 0, SEEK_END);
- int size = ftell(fp);
- fseek(fp, 0, SEEK_SET);
- unsigned char *buff = new unsigned char[size];
- fread(buff, 1, size, fp);
- fclose(fp);
- unsigned char *decbuff = new unsigned char[size];
- memset(decbuff, 0, size);
- KEY_TABLE_TYPE kt;
- memset(kt, 0, sizeof(kt));
- Camellia_Ekeygen(128, key, kt);
- unsigned char *enc = buff, *dec = decbuff;
- for (int i = 0; i < size / CAMELLIA_BLOCK_SIZE; i++)
- {
- Camellia_DecryptBlock(128, enc, kt, dec);
- enc += CAMELLIA_BLOCK_SIZE;
- dec += CAMELLIA_BLOCK_SIZE;
- }
- fp = fopen("out.bin", "wb");
- fwrite(decbuff, 1, size, fp);
- fclose(fp);
- delete[] buff;
- delete[] decbuff;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement