karaulov Advanced Cheater Reputation: 0
Joined: 12 Aug 2013 Posts: 65 Location: Belarus
|
Posted: Sun May 29, 2016 12:25 pm Post subject: HELP, BSOD Kernel debugger |
|
|
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 ??
|
|