Advertisement
Guest User

Untitled

a guest
May 20th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. internal unsafe static uint InjectDll(sbyte* process, sbyte* dll)
  2. {
  3. //IL_0002: Expected I, but got I8
  4. //IL_0006: Expected I, but got I8
  5. //IL_0009: Expected I, but got I8
  6. //IL_004b: Expected I, but got I8
  7. //IL_0096: Expected I, but got I8
  8. void* ptr = null;
  9. void* ptr2 = null;
  10. void* ptr3 = null;
  11. uint num7;
  12. if (GetProcessbyNameOrId(process, &ptr2, 1082u) != 0)
  13. {
  14. ulong num = strnlen(dll, 260uL);
  15. if (num < 260)
  16. {
  17. ulong num2 = num + 1;
  18. ptr = VirtualAllocEx(ptr2, null, num2, 12288u, 4u);
  19. if (ptr != null)
  20. {
  21. ulong num3;
  22. if (WriteProcessMemory(ptr2, ptr, dll, num2, &num3) != 0)
  23. {
  24. IntPtr procAddress = GetProcAddress(GetModuleHandleA((sbyte*)(&?A0x51f828d3.unnamed-global-31)), (sbyte*)(&?A0x51f828d3.unnamed-global-30));
  25. if (procAddress != (IntPtr)0)
  26. {
  27. uint num4;
  28. ptr3 = CreateRemoteThread(ptr2, null, 0uL, procAddress, ptr, 0u, &num4);
  29. if (ptr3 != null)
  30. {
  31. uint num5 = WaitForSingleObject(ptr3, 10000u);
  32. if (num5 == 0)
  33. {
  34. uint num6;
  35. int exitCodeThread = GetExitCodeThread(ptr3, &num6);
  36. if (exitCodeThread != 0 && num6 != 0)
  37. {
  38. num7 = 0u;
  39. }
  40. else if (exitCodeThread != 0)
  41. {
  42. num7 = 1287u;
  43. printf((sbyte*)(&?A0x51f828d3.unnamed-global-32), __arglist());
  44. }
  45. else
  46. {
  47. num7 = GetLastError();
  48. printf((sbyte*)(&?A0x51f828d3.unnamed-global-33), __arglist(num7));
  49. }
  50. }
  51. else
  52. {
  53. num7 = num5;
  54. sbyte* ptr4 = (sbyte*)(long)((num5 != 258) ? ((IntPtr)(&?A0x51f828d3.unnamed-global-35)) : ((IntPtr)(&?A0x51f828d3.unnamed-global-34)));
  55. printf((sbyte*)(&?A0x51f828d3.unnamed-global-36), __arglist(ptr4));
  56. }
  57. CloseHandle(ptr3);
  58. }
  59. else
  60. {
  61. num7 = GetLastError();
  62. printf((sbyte*)(&?A0x51f828d3.unnamed-global-37), __arglist(GetProcessId(ptr2), num7));
  63. }
  64. }
  65. else
  66. {
  67. num7 = GetLastError();
  68. printf((sbyte*)(&?A0x51f828d3.unnamed-global-38), __arglist(num7));
  69. }
  70. }
  71. else
  72. {
  73. num7 = GetLastError();
  74. printf((sbyte*)(&?A0x51f828d3.unnamed-global-39), __arglist(GetProcessId(ptr2), num7));
  75. }
  76. if (VirtualFreeEx(ptr2, ptr, 0uL, 32768u) == 0)
  77. {
  78. num7 = GetLastError();
  79. printf((sbyte*)(&?A0x51f828d3.unnamed-global-40), __arglist(num7));
  80. }
  81. }
  82. else
  83. {
  84. num7 = GetLastError();
  85. printf((sbyte*)(&?A0x51f828d3.unnamed-global-41), __arglist(GetProcessId(ptr2), num7));
  86. }
  87. }
  88. else
  89. {
  90. num7 = 111u;
  91. printf((sbyte*)(&?A0x51f828d3.unnamed-global-42), __arglist());
  92. }
  93. CloseHandle(ptr2);
  94. }
  95. else
  96. {
  97. num7 = 1168u;
  98. }
  99. return num7;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement