Skip to content

Instantly share code, notes, and snippets.

@kyle-go
Last active April 19, 2019 06:10
Show Gist options
  • Save kyle-go/6ee798b1ad7d484cafb4097395b2c78a to your computer and use it in GitHub Desktop.
Save kyle-go/6ee798b1ad7d484cafb4097395b2c78a to your computer and use it in GitHub Desktop.
内网通破解
/*
by https://www.52pojie.cn/thread-930853-1-1.html
*/
#include "windows.h"
#include "stdio.h"
#include <string>
#include <openssl/aes.h>
#pragma comment(lib, "libcrypto.lib")
int main()
{
printf("输入 右键托盘=>我的积分=>开通免广告=>ID号:");
char szID[64] = { 0 };
scanf_s("%s", &szID, 64);
DWORD id = _byteswap_ulong(strtoul(szID, NULL, 16));
BYTE InitValue[] = { 0x11,0x22,0x33,0x44,0x8A,0x19,0xB7,0x5F,0,0,0,0, 0x7D, 0x0D, 0, 0x79 };
*(DWORD*)(InitValue + 8) = id;
BYTE ivec[16] = {
0xE9, 0x8D, 0x5B, 0x07, 0xA7, 0xD2, 0xC9, 0x7E,
0x27, 0x16, 0x45, 0x20, 0x88, 0xC6, 0xDE, 0x36 };
BYTE ivec_src[16] = { 0 };
BYTE out[64] = { 0 };
BYTE src[32] = { 0 };
memset(src, 0, 32);
memcpy(src, InitValue, 16);
memcpy(ivec_src, ivec, 16);
AES_KEY aeskey;
AES_set_encrypt_key((BYTE*)"rdnRk8FezbqVDOGAHL520ymb1jWEoA60", 256, &aeskey);
AES_cbc_encrypt(InitValue, out, 16, &aeskey, ivec, 1);
memcpy(src, out, 16);
memcpy(src + 16, ivec_src, 16);
memset(ivec, 0, 16);
AES_cbc_encrypt(src, out, 32, &aeskey, ivec, 1);
std::wstring result;
for (int i = 0; i<32; i++)
{
wchar_t sz[64] = { 0 };
wsprintfW(sz, L"%02X", out[i]);
result += sz;
}
printf("The KEY:%ws\n", result.c_str());
while (true) {
Sleep(1);
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment