Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


HELP, BSOD Kernel debugger

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Lua Scripting
View previous topic :: View next topic  
Author Message
karaulov
Advanced Cheater
Reputation: 0

Joined: 12 Aug 2013
Posts: 65
Location: Belarus

PostPosted: Sun May 29, 2016 12:25 pm    Post subject: HELP, BSOD Kernel debugger Reply with quote

Script for Warcraft III 1.26a. With default CE settings cause BSOD!

Code:
RequiredCEVersion=6.51
waitforenable = 5
GameDll = 0
initializedscript = false
otherfeaturesenabled1 = false
otherfeaturesenabled2 = false
otherfeaturesenabled3 = false

function onBreak1()
   EAX = EBX
   -- local oldinteger = readInteger(EDI+0x814)
   -- writeInteger(EDI+0x814,0x264)
   -- debug_continueFromBreakpoint(co_stepover)
   -- writeInteger(EDI+0x814,oldinteger)
   debug_continueFromBreakpoint(co_run)
    return 0
end

function onBreak2()
   EDX = 1
   debug_continueFromBreakpoint(co_run)
    return 0
end

function onBreak3()
   ECX = EDX
   debug_continueFromBreakpoint(co_run)
    return 0
end

function onBreak4()
    -- print("break4")
   EAX = EBX
   debug_continueFromBreakpoint(co_run)
    return 0
end

function onBreak5()
   if (isKeyPressed(VK_CONTROL)) then
    print("EIP:"+EIP)
   end
   debug_continueFromBreakpoint(co_run)
    return 0
end

-- function onBreak2()

   -- debug_continueFromBreakpoint(co_run)
-- end

-- function onBreak3()

   -- debug_continueFromBreakpoint(co_run)
-- end

-- function onBreak4()

   -- debug_continueFromBreakpoint(co_run)
-- end

function addDestroyTimersButton()
  local btn=getMainForm().frmAutoInject.Button1
  local newButton = createButton(getMainForm().frmAutoInject.Panel1)
  newButton.Height = 31
  newButton.Width = 129
  newButton.Caption = "Disable script"
  newButton.AnchorSideTop.Control = btn
  newButton.AnchorSideLeft.Control = btn
  newButton.AnchorSideLeft.Side = asrBottom
  newButton.BorderSpacing.Left = 5
  newButton.OnClick =   function ()
                        detachIfPossible( )
                        closeCE()
                  end
end

function EnableMaphackOtherFeatures1( )
         debug_setBreakpoint(GameDll + 0x3a14d8,1, 0, onBreak2)
end

function DisableMaphackOtherFeatures1( )
         debug_removeBreakpoint(GameDll + 0x3a14d8)
end

function EnableMaphackOtherFeatures2( )
         debug_setBreakpoint(GameDll + 0x3A159B,1, 0, onBreak3)
end

function DisableMaphackOtherFeatures2( )
         debug_removeBreakpoint(GameDll + 0x3A159B)
end

function EnableMaphackOtherFeatures3( )
         debug_setBreakpoint(GameDll + 0x3999F9,1, 0, onBreak4)
end

function DisableMaphackOtherFeatures3( )
         debug_removeBreakpoint(GameDll + 0x3999F9)
end

function EnableOtherFeatures(timer)
if (isKeyPressed(VK_C) and isKeyPressed(VK_1)) then
   if (otherfeaturesenabled1 == false) then
      otherfeaturesenabled1 = true
      EnableMaphackOtherFeatures1( )
   end
   else
   if (otherfeaturesenabled1 == true) then
      otherfeaturesenabled1 = false
      DisableMaphackOtherFeatures1( )
   end
end
if (isKeyPressed(VK_C) and isKeyPressed(VK_2)) then
   if (otherfeaturesenabled2 == false) then
      otherfeaturesenabled2 = true
      EnableMaphackOtherFeatures2( )
   end
   else
   if (otherfeaturesenabled2 == true) then
      otherfeaturesenabled2 = false
      DisableMaphackOtherFeatures2( )
   end
end
if (isKeyPressed(VK_C) and isKeyPressed(VK_3)) then
   if (otherfeaturesenabled3 == false) then
      otherfeaturesenabled3 = true
      EnableMaphackOtherFeatures3( )
   end
   else
   if (otherfeaturesenabled3 == true) then
      otherfeaturesenabled3 = false
      DisableMaphackOtherFeatures3( )
   end
end
end


if (getCEVersion() < RequiredCEVersion) then

   print("Bad cheatengine version. Update to 6.5.1+ ")

else

   if (initializedscript == false ) then
      initializedscript = true
      addDestroyTimersButton()
      -- writeBytes(getAddress("DbgUiRemoteBreakin"),0x6A,0x08,0x68,0xE8,0x07,0x5A,0x77)
      -- writeBytes(getAddress("DbgBreakPoint"),0xCC)
      -- activateProtection()
        detachIfPossible( )
      debugProcess(3)
      GameDll = getAddress("Game.dll")
      debug_setBreakpoint( GameDll + 0x361442,1, 0, onBreak1)
      -- debug_setBreakpoint(GameDll + 0x3a14d8,1, 0, onBreak2)
      -- debug_setBreakpoint(GameDll + 0x53F160,1, 0, onBreak5)
        t=createTimer(nil)
        timer_setInterval(t, 100)
        timer_onTimer(t, EnableOtherFeatures)
        timer_setEnabled(t, true)
   end


end


When i set Use Global Debug routines, script works.

1. How to set 'Use Global Debug routines' from lua script?!

2. Kernel debugger works on Windows x64 or only for windows x32 ??
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Lua Scripting All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites