http://www.sendspace.com/file/1zlk2e
Build 0.802; short changelog:
- x64-compatible
- New tricks added, blah blah
- Switched from class to linear C
In this sample, I show how you can use functions in the SiberianTiger library to verify anti-debug functions run; e.g.
The main line of interest:Code:void MessageBoxA_( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption, UINT uType ) { int user32[] = { 'u', 's', 'e', 'r', '3', '2', '.', 'd', 'l', 'l' }; int MessageBoxA[] = { 'M', 'e', 's', 's', 'a', 'g', 'e', 'B', 'o', 'x', 'A' }; FARPROC MBA_Addr = ( FARPROC ) Chameleon_GetProcAddressA( LoadLibrary( decode( user*** 10 ) ), decode( MessageBoxA, 11 ) ); typedef void ( NTAPI *Function ) (...); Function MessageBox_A = ( Function ) ( ( DWORD ) MBA_Addr ^ ( SiberianTiger_Execute ^ 1 ) ); MessageBox_A( hWnd, lpText, lpCaption, uType ); }
Regards,Code:Function MessageBox_A = ( Function ) ( ( DWORD ) MBA_Addr ^ ( SiberianTiger_Execute ^ 1 ) );
Guy
---------- Post added at 02:47 AM ---------- Previous post was at 01:23 AM ----------
Quick patch for Vista:
Replace the following lines:
Code:int user32[] = { 'u', 's', 'e', 'r', '3', '2', '.', 'd', 'l', 'l' }; int MessageBoxA[] = { 'M', 'e', 's', 's', 'a', 'g', 'e', 'B', 'o', 'x', 'A' };
Forgot to null-terminate the encoded strings; I'm surprised this didn't cause problems on XP.Code:int user32[] = { 'u', 's', 'e', 'r', '3', '2', '.', 'd', 'l', 'l', 0 }; int MessageBoxA[] = { 'M', 'e', 's', 's', 'a', 'g', 'e', 'B', 'o', 'x', 'A', 0 };



Reply With Quote

