Guest User

Untitled

a guest
Mar 20th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. void SM::sn_GetModuleBase(char* name, byte nLnght, char* Pname, byte PnLnght, byte* moduleBase)
  2. {
  3. printf("func %s is incomplete n", nov(sn_GetModuleBase()));
  4. allo(HANDLE, hndl);
  5. allo(DWORD, pid);
  6. SM::sn_GetProcessId(Pname, PnLnght, pid);
  7. allo(MODULEENTRY32, mntry);
  8. mntry->dwSize = sizeof(MODULEENTRY32);
  9. *hndl = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, *pid);
  10. if (*hndl == NULL)
  11. {
  12. printf("%s: snapshot failed", nov(SM::sn_GetModuleBase()));
  13. rtrn;
  14. }
  15. void* strptr = calloc(wmax, 1);
  16. if (!Module32FirstW(*hndl, mntry))
  17. {
  18. allo(DWORD, rr);
  19. *rr = GetLastError();
  20. CloseHandle(*hndl);
  21. printf("%s fuck'd up in %s nError code: %Xn", nov(Module32FirstW()), nov(sn_GetModuleBase()),*rr);
  22. dlt rr;
  23. free(strptr);
  24. rtrn;
  25. }
  26. else
  27. while(Module32NextW(*hndl,mntry))
  28. {
  29. if (!CharToOemW(mntry->szModule, (char*)strptr))
  30. printf("%s: cant compare "%s" and "%s."n", nov(sn_GetModuleBase()),(char*)strptr,name);
  31. if (!strcmp((char*)strptr, name))
  32. {
  33. printf("%sn%sn", (char*)strptr, name);
  34. goto suсс;
  35. }
  36. }
  37. //fail:
  38. allo(DWORD, rr);
  39. *rr = 0;
  40. *rr = GetLastError();
  41. printf("module "%s" not foundnLast error:%X", name,*rr);
  42. dlt rr;
  43. CloseHandle(*hndl);
  44. dlt mntry;
  45. free(strptr);
  46. rtrn;
  47.  
  48. suсс:
  49. moduleBase = 0;
  50. printf("n%Xn", mntry);
  51. printf("Bad:%d.n", GetLastError());
  52. CloseHandle(*hndl);
  53. // dlt mntry;
  54. free(strptr);
  55. rtrn;
  56. }
Add Comment
Please, Sign In to add comment