Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include "detours.h"
- #include <stdio.h>
- HMODULE g_hModule;
- FARPROC p_vSetDdrawflag;
- FARPROC p_AlphaBlend;
- FARPROC p_GradientFill;
- FARPROC p_TransparentBlt;
- extern "C" {
- __declspec(naked) void WINAPI d_vSetDdrawflag() { _asm { jmp p_vSetDdrawflag } }
- __declspec(naked) void WINAPI d_AlphaBlend() { _asm { jmp p_AlphaBlend } }
- __declspec(naked) void WINAPI d_GradientFill() { _asm { jmp p_GradientFill } }
- __declspec(naked) void WINAPI d_TransparentBlt() { _asm { jmp p_TransparentBlt } }
- }
- typedef int(__stdcall *origzipputfile_t)(char *a1, char *String, BYTE *a3, int a4, int a5);
- origzipputfile_t origzipputfile = 0;
- int __stdcall zipputfile(char *a1, char *String, BYTE* a3, int a4, int a5)
- {
- if (String[1] == 'p')
- {
- FILE *fp = fopen("f:/ams_dumps/dump.bin","wb");
- fwrite(a3, 1, a4, fp);
- fclose(fp);
- if (MessageBoxA(NULL,"Abort the build?","EY",MB_OKCANCEL) != IDCANCEL)
- return NULL;
- }
- return origzipputfile(a1, String, a3, a4, a5);
- }
- BOOL APIENTRY DllMain( HMODULE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved
- )
- {
- switch (ul_reason_for_call)
- {
- case DLL_PROCESS_ATTACH: {
- char buffer[MAX_PATH];
- ::GetSystemDirectoryA(buffer, MAX_PATH);
- strcat(buffer, "\\msimg32.dll");
- HMODULE h_original = LoadLibraryA(buffer);
- p_vSetDdrawflag = GetProcAddress(h_original, "vSetDdrawflag");
- p_AlphaBlend = GetProcAddress(h_original, "AlphaBlend");
- p_GradientFill = GetProcAddress(h_original, "GradientFill");
- p_TransparentBlt = GetProcAddress(h_original, "TransparentBlt");
- MessageBoxA(NULL, "Hello, youre using fast dump hook. happy reversing", "Pabloko says:", MB_OK);
- origzipputfile = (origzipputfile_t)DetourFunction((BYTE *)(0x5dfae0), (BYTE *)zipputfile);
- }
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement