nubi belajar, nubi memantau dari thread ke thread dan nubi mencoba....
mencoba mandiri tapi tak sanggup ...
nubi build dll dan dari dev-c++ ada tulisan seperti ini :
Code:
C:\Documents and Settings\phantom\My Documents\Makefile.win [Build Error] No rule to make target `"Cross', needed by `asd.dll'. Stop.
mungkin bisa sedikit pencerahan karena benar2 tidak punya inspirasi lagi
nubi lupa credit SC dari mana karena gabung2 dengan SC yg lain tapi seperti ini kegagalan saya :
Code:
//mboh
#define WIN32_LEAN_AND_MEAN //buang yg tidak berguna
#include <windows.h> // include untuk createthread
#include <stdio.h>
#include <stdlib.h>
#define OFS_PF 0x8FF2CE //pf normal
#define OFS_GREAT 0x8FF2D2 //great
#define OFS_COOL 0x8FF2D6 //cool
LPTSTR ModulGame = "Audition.exe";
//////////////assembly /////////////////////
void Patch(void *adr, void *ptr, int size)
{
DWORD OldProtection;
VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
memcpy(adr,ptr,size);
VirtualProtect(adr,size,OldProtection, &OldProtection);
}
///////////write memory////////////////////
void WritePointer(unsigned long ulBase, int iOffset, int iValue)
{
if (!IsBadReadPtr((VOID*)ulBase, sizeof(unsigned long)))
{
if (!IsBadWritePtr((void*)(*(unsigned long*)ulBase + iOffset), sizeof(unsigned long)))
{
*(int*)(*(unsigned long*)ulBase + iOffset) = iValue;
}
}
}
DWORD WINAPI MemPacth(LPVOID param) // Perulangan
{
while (1) { // Jika nilai 1 atau True jalankan fungsi dibawah ini !
if (GetAsyncKeyState(VK_F3)&1) {
MessageBeep(MB_ICONINFORMATION);
DWORD adrMin1, adrMin2 = 0;
DWORD dwPB = (DWORD)GetModuleHandleA(ModulGame);
if (dwPB > 0) {
adrMin1 = dwPB + (DWORD)OFS_PF;
Patch((void *)(adrMin1),(void*)(PBYTE)"\x00\x00\x00\x00\x7D\x3F\x33\x33", 8);
adrMin1 = dwPB + (DWORD)OFS_COOL;
Patch((void *)(adrMin1),(void*)(PBYTE)"\xx59\x3F\x14\xAE\x47\x3F\x00\x00", 8);
}
}
if (GetAsyncKeyState(VK_F4)&1) {
MessageBeep(MB_ICONINFORMATION);
DWORD adrMin1, adrMin2 = 0;
DWORD dwPB = (DWORD)GetModuleHandleA(ModulGame);
if (dwPB > 0) {
adrMin1 = dwPB + (DWORD)OFS_PF;
Patch((void *)(adrMin1),(void*)(PBYTE)"\x7D\x3F\x33\x33\x73\x3F\x9A\x99", 8);
adrMin1 = dwPB + (DWORD)OFS_GREAT;
Patch((void *)(adrMin1),(void*)(PBYTE)"\x00\x00\x00\x00\x73\x3F\x9A\x99", 8);
}
}
if (GetAsyncKeyState(VK_F8)&1) {
MessageBeep(MB_ICONINFORMATION);
DWORD adrMin1, adrMin2 = 0;
DWORD dwPB = (DWORD)GetModuleHandleA(ModulGame);
if (dwPB > 0) {
adrMin1 = dwPB + (DWORD)OFS_GREAT;
Patch((void *)(adrMin1),(void*)(PBYTE)"\x73\x3F\x9A\x99\x59\x3F\x14\xAE", 8);
adrMin1 = dwPB + (DWORD)OFS_COOL;
Patch((void *)(adrMin1),(void*)(PBYTE)"\x00\x00\x00\x00\x59\x3F\x14\xAE", 8);
}
}
DWORD adrMin1, adrMin2 = 0;
DWORD dwPB = (DWORD)GetModuleHandleA(ModulGame);
if (dwPB > 0) {
adrMin1 = dwPB + (DWORD)OFS_PIN;
Patch((void *)(adrMin1),(void*)(PBYTE)"\x00", 1);
}
Sleep(5); // Berikan jeda
}
return (0); // unhook
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
if (dwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hDll);
if(dwReason == DLL_PROCESS_ATTACH){//jangan lupa Thanks To nya..
MessageBox(0, "tes1", "tes2", MB_OK + MB_ICONINFORMATION );
MessageBox(0, "tes3\n tes4", "prek!!", MB_OK + MB_ICONINFORMATION );
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)MemPacth, 0, 0, 0);
//kuncinama
char strDLLName [_MAX_PATH];
GetModuleFileName(hDll, strDLLName , _MAX_PATH);
if (strstr(strDLLName, "asd.dll") <= 0) {//nama dll asli
// tampilkan pesan, kalo dll nya sdh bukan asli / sudah di rename
MessageBox(0, "Hayo...!!!", "", 0);
MessageBox(0, "Mau Rename ya???", "", 0);
MessageBox(0, "Ketauan ya???", "", 0);
MessageBox(0, "Makanya klo ngerename jgn sampe ketauan....", "", 0);
ExitProcess(0);//ERROR
}
}
else if(dwReason == DLL_PROCESS_DETACH)
{
}
}
return TRUE;
}
terimakasih sebelum dan sesudahnya..moga2 g salah kamar