forked from ReScrap/ScrapHacks
move PPID function to Utils
This commit is contained in:
parent
de6b0e2814
commit
934fd3881c
2 changed files with 48 additions and 47 deletions
|
@ -230,67 +230,20 @@ void H_Exit()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void hook_exit()
|
|
||||||
{
|
|
||||||
Hook::addr(reinterpret_cast<void *>(P_SCRAP_EXIT), H_Exit);
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD PPID()
|
|
||||||
{
|
|
||||||
DWORD PID = GetCurrentProcessId();
|
|
||||||
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
|
|
||||||
PROCESSENTRY32 procentry;
|
|
||||||
if (hSnapShot == INVALID_HANDLE_VALUE)
|
|
||||||
{
|
|
||||||
cout << GetLastErrorAsString() << endl;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (Process32First(hSnapShot, &procentry))
|
|
||||||
{
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (procentry.th32ProcessID == PID)
|
|
||||||
{
|
|
||||||
CloseHandle(hSnapShot);
|
|
||||||
return procentry.th32ParentProcessID;
|
|
||||||
}
|
|
||||||
procentry.dwSize = sizeof(PROCESSENTRY32);
|
|
||||||
} while (Process32Next(hSnapShot, &procentry));
|
|
||||||
}
|
|
||||||
CloseHandle(hSnapShot);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DllPreInit(HMODULE _mod)
|
void DllPreInit(HMODULE _mod)
|
||||||
{
|
{
|
||||||
char mfn[1024];
|
char mfn[1024];
|
||||||
char inj[MAX_PATH];
|
|
||||||
DWORD INJ_PID = 0;
|
|
||||||
InitConsole();
|
InitConsole();
|
||||||
GetModuleFileNameA(0, mfn, 1024);
|
GetModuleFileNameA(0, mfn, 1024);
|
||||||
Py = get_modules(P_PY_MODS);
|
Py = get_modules(P_PY_MODS);
|
||||||
cout << "[+] ScrapHacks v0.1 Loaded in " << mfn << " (PID: " << std::hex << GetCurrentProcessId() << std::dec << ")" << endl;
|
cout << "[+] ScrapHacks v0.1 Loaded in " << mfn << " (PID: " << std::hex << GetCurrentProcessId() << std::dec << ")" << endl;
|
||||||
GetEnvironmentVariableA("Inj_PID", inj, MAX_PATH);
|
|
||||||
SetEnvironmentVariableA("Inj_PID", NULL);
|
|
||||||
hook_console();
|
|
||||||
sscanf_s(inj, "%d", &INJ_PID);
|
|
||||||
cout << INJ_PID << "," << PPID() << endl;
|
|
||||||
if (PPID() == INJ_PID)
|
|
||||||
{
|
|
||||||
hook_d3d8();
|
|
||||||
overlay = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cout << "[-] No launched by Injector, not hooking DX8" << endl;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DllInit(HMODULE _mod)
|
void DllInit(HMODULE _mod)
|
||||||
{
|
{
|
||||||
initialized = true;
|
initialized = true;
|
||||||
mod = _mod;
|
mod = _mod;
|
||||||
Sleep(3000);
|
|
||||||
cout << "[*] World: " << ptr<void>(P_WORLD, 0) << endl;
|
cout << "[*] World: " << ptr<void>(P_WORLD, 0) << endl;
|
||||||
cout << "[*] Importing python dbg module" << endl;
|
cout << "[*] Importing python dbg module" << endl;
|
||||||
scrap_exec("import dbg");
|
scrap_exec("import dbg");
|
||||||
|
|
|
@ -154,3 +154,51 @@ T *ptr(uintptr_t addr, Offsets... offsets)
|
||||||
auto ret = __ptr<T>(addr, offsets...);
|
auto ret = __ptr<T>(addr, offsets...);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DWORD PPID()
|
||||||
|
{
|
||||||
|
DWORD PID = GetCurrentProcessId();
|
||||||
|
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
|
||||||
|
PROCESSENTRY32 procentry;
|
||||||
|
if (hSnapShot == INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
cout << GetLastErrorAsString() << endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (Process32First(hSnapShot, &procentry))
|
||||||
|
{
|
||||||
|
do
|
||||||
|
{
|
||||||
|
if (procentry.th32ProcessID == PID)
|
||||||
|
{
|
||||||
|
CloseHandle(hSnapShot);
|
||||||
|
return procentry.th32ParentProcessID;
|
||||||
|
}
|
||||||
|
procentry.dwSize = sizeof(PROCESSENTRY32);
|
||||||
|
} while (Process32Next(hSnapShot, &procentry));
|
||||||
|
}
|
||||||
|
CloseHandle(hSnapShot);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
vector<string> split(string str, char sep)
|
||||||
|
{
|
||||||
|
vector<string> ret;
|
||||||
|
string part;
|
||||||
|
for (auto n : str)
|
||||||
|
{
|
||||||
|
if (n == sep)
|
||||||
|
{
|
||||||
|
ret.push_back(part);
|
||||||
|
part.clear();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
part = part + n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (part != "")
|
||||||
|
ret.push_back(part);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue