Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1.  
  2. #include "exp.h" // private header for the NT Executive module
  3.  
  4. /* the following function is mentioned in the following files:
  5. /ntos/ke/i386/systable.asm
  6. /ntos/ke/i386/sysstubs.asm
  7. /ntos/init/ntoskrnl.src
  8. /ntos/ex/exp.h
  9. /ntos/ex/BUILD/makefile
  10. */
  11.  
  12. /*VOID outb(UINT16 port, UINT8 val)
  13. {
  14. __asm {
  15. mov dx, port
  16. mov eax, val
  17. out dx, eax
  18. }
  19. }*/
  20.  
  21. NTSTATUS NtYiffDaddy(int count)
  22. {
  23. DbgPrint("NT : NtYiffDaddy has been called!");
  24.  
  25. //int a;
  26. //LARGE_INTEGER time;
  27. LARGE_INTEGER max_addr;
  28. max_addr.HighPart = 0x7FFF;
  29. max_addr.LowPart = 0xFFFF;
  30.  
  31. PVOID base = MmAllocateContiguousMemory(40, max_addr); // allocate 40 bytes for the KTIMER object and get the base address.
  32. //DbgPrint("Memory has been allocated");
  33.  
  34. //PAGED_CODE(); // check if our irql allows us to page this routine, if not we bug check
  35. //for (a = 0; a <= 40; a++) {
  36. // *(timerbase + a) = 0x00;
  37. //}
  38. //DbgPrint("Memory has been wiped");
  39.  
  40. //KeInitializeTimer(timerbase);
  41.  
  42. //time.HighPart = 0x186A0;
  43. //time.LowPart = 0x0;
  44. //KeSetTimer(timerbase, time, 0);
  45.  
  46. MmFreeContiguousMemory(base);
  47. DbgPrint("Memory has been freed");
  48.  
  49.  
  50. /*if (InbvIsBootDriverInstalled())
  51. {
  52. InbvAcquireDisplayOwnership();
  53. InbvResetDisplay();
  54. InbvSolidColorFill(0, 0, 639, 479, 4);
  55. InbvSetTextColor(15);
  56. InbvInstallDisplayStringFilter(0);
  57. InbvEnableDisplayString(1);
  58. InbvSetScrollRegion(0, 0, 639, 475);
  59. InbvDisplayString("UWU PAYLOAD\n");
  60. HalDisplayString("U HAVE NO CHOICE UWU");
  61. }
  62. */
  63.  
  64. KeBugCheck(0x69696969); // perform all module shutdown
  65.  
  66. /*
  67. INT32 i;
  68. PAGED_CODE(); // since we're going in a loop, check if our irql allows us to page this routine. this is to prevent a memory leak. if we can't page the routine the kernel will bsod
  69. for (i = 0; i < count; ++i) {
  70. DbgPrint("OWO: Pounces on bulge uwu [%d]", i);
  71. }
  72. */
  73. return STATUS_SUCCESS;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement