Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void SM::sn_GetModuleBase(char* name, byte nLnght, char* Pname, byte PnLnght, byte* moduleBase)
- {
- printf("func %s is incomplete n", nov(sn_GetModuleBase()));
- allo(HANDLE, hndl);
- allo(DWORD, pid);
- SM::sn_GetProcessId(Pname, PnLnght, pid);
- allo(MODULEENTRY32, mntry);
- mntry->dwSize = sizeof(MODULEENTRY32);
- *hndl = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, *pid);
- if (*hndl == NULL)
- {
- printf("%s: snapshot failed", nov(SM::sn_GetModuleBase()));
- rtrn;
- }
- void* strptr = calloc(wmax, 1);
- if (!Module32FirstW(*hndl, mntry))
- {
- allo(DWORD, rr);
- *rr = GetLastError();
- CloseHandle(*hndl);
- printf("%s fuck'd up in %s nError code: %Xn", nov(Module32FirstW()), nov(sn_GetModuleBase()),*rr);
- dlt rr;
- free(strptr);
- rtrn;
- }
- else
- while(Module32NextW(*hndl,mntry))
- {
- if (!CharToOemW(mntry->szModule, (char*)strptr))
- printf("%s: cant compare "%s" and "%s."n", nov(sn_GetModuleBase()),(char*)strptr,name);
- if (!strcmp((char*)strptr, name))
- {
- printf("%sn%sn", (char*)strptr, name);
- goto suсс;
- }
- }
- //fail:
- allo(DWORD, rr);
- *rr = 0;
- *rr = GetLastError();
- printf("module "%s" not foundnLast error:%X", name,*rr);
- dlt rr;
- CloseHandle(*hndl);
- dlt mntry;
- free(strptr);
- rtrn;
- suсс:
- moduleBase = 0;
- printf("n%Xn", mntry);
- printf("Bad:%d.n", GetLastError());
- CloseHandle(*hndl);
- // dlt mntry;
- free(strptr);
- rtrn;
- }
Add Comment
Please, Sign In to add comment