Based on Safengine Licensor with the combination of:
- Safengine Code Protection (Mutation & Virtualization)
- Safengine Licensor Local License Verification
All protection options enabled:
- Anti Debug
- Anti Trace
- Anti Virtualization
- Anti Attach
- Anti Dump
- Anti API Hooks
- Self Integrity Check
- Code & Data Encryption
- Metamorphic Code Generation
- Branch Obfuscation
- Code Mutation
- Code Virtualization
- Advanced Code Replace
- Import Elimination
- API Relocation
Try to unpack it.
Enjoy! ; )
所有保护选项
享受 ! ; )
#include <stdio.h> #include <windows.h> #include "resource.h" #include "SESDK.h" #include "blowfish.c" /*-------------------------------------------------------------*/ /* */ /*-------------------------------------------------------------*/ HINSTANCE hInst; #define MAXINPUTLEN 200 /*-------------------------------------------------------------*/ /* */ /*-------------------------------------------------------------*/ BOOL CALLBACK MainDlg (HWND, UINT, WPARAM, LPARAM) ; BOOL CheckSerial( HWND) ; /*-------------------------------------------------------------*/ /* WinMain - */ /*-------------------------------------------------------------*/ int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { hInst=hInstance; DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_MAINDLG), NULL, (DLGPROC)MainDlg,0); return 0; } /*-------------------------------------------------------------*/ /* MainDlg - */ /*-------------------------------------------------------------*/ BOOL CALLBACK MainDlg(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CLOSE: EndDialog(hDlg,0); break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_Check: CheckSerial(hDlg); break; case IDC_Exit: PostQuitMessage(0); } break; case WM_INITDIALOG: SendMessage(hDlg,WM_SETICON,(WPARAM) 1,(LPARAM) LoadIconA(hInst,MAKEINTRESOURCE(IDI_ICON))); break; } return 0; } BOOL CheckSerial(HWND hWnd) { TCHAR szWaterMark[]="coded by cnbragon belong to iNsidE PaNdoRa's BoX and Reverse Code Team"; BLOWFISH_CTX context; long lsLength; int i; TCHAR szCipher[MAXINPUTLEN]={0}; TCHAR szBuffer[MAXINPUTLEN]={0}; TCHAR szSerial[MAXINPUTLEN]={0}; BYTE bf_key[MAXINPUTLEN]={0}; DWORD xL,xR,dwVolumeSn,dwXor; SE_PROTECT_START_ULTRA(); xL=xR=dwVolumeSn=dwXor=0; lsLength=GetDlgItemText(hWnd,IDC_Serial,szSerial,sizeof(szSerial)/sizeof(TCHAR)+1); if (lsLength!=32) { SetDlgItemText(hWnd,IDC_Serial,"Wrong Serial!"); return FALSE; } for (i=0;i<16;i++) { sscanf((szSerial+i*2),"%02X",(szBuffer+i)); } memcpy(bf_key,szBuffer,8); Blowfish_Init(&context,bf_key,8); xL=*(DWORD*)(&szBuffer[8]); xR=*(DWORD*)(&szBuffer[12]); Blowfish_Decrypt(&context,&xL,&xR); dwXor=xL^xR; memset(&context,0,sizeof(BLOWFISH_CTX)); GetVolumeInformation("C:\\",NULL,0,&dwVolumeSn,NULL,NULL,NULL,0); if (dwXor==dwVolumeSn) { SetDlgItemText(hWnd,IDC_Serial,"Success!"); } else { SetDlgItemText(hWnd,IDC_Serial,"Wrong Serial!"); return FALSE; } SE_PROTECT_END(); return TRUE; }
-
Recommended Comments
There are no comments to display.