DBG: better (and more modular) script api. added Script::Pattern, Script::Gui and Script::Module
This commit is contained in:
parent
b44cd46e8d
commit
ea1ca19db2
|
@ -5,283 +5,4 @@
|
|||
|
||||
#define SCRIPT_EXPORT PLUG_IMPEXP
|
||||
|
||||
namespace Script
|
||||
{
|
||||
namespace Debug
|
||||
{
|
||||
SCRIPT_EXPORT void Wait();
|
||||
SCRIPT_EXPORT void Run();
|
||||
SCRIPT_EXPORT void Pause();
|
||||
SCRIPT_EXPORT void Stop();
|
||||
SCRIPT_EXPORT void StepIn();
|
||||
SCRIPT_EXPORT void StepOver();
|
||||
SCRIPT_EXPORT void StepOut();
|
||||
};
|
||||
|
||||
namespace Memory
|
||||
{
|
||||
SCRIPT_EXPORT bool Read(duint addr, void* data, duint size, duint* sizeRead);
|
||||
SCRIPT_EXPORT bool Write(duint addr, const void* data, duint size, duint* sizeWritten);
|
||||
|
||||
SCRIPT_EXPORT unsigned char ReadByte(duint addr);
|
||||
SCRIPT_EXPORT bool WriteByte(duint addr, unsigned char data);
|
||||
SCRIPT_EXPORT unsigned short ReadWord(duint addr);
|
||||
SCRIPT_EXPORT bool WriteWord(duint addr, unsigned short data);
|
||||
SCRIPT_EXPORT unsigned int ReadDword(duint addr);
|
||||
SCRIPT_EXPORT bool WriteDword(duint addr, unsigned int data);
|
||||
#ifdef _WIN64
|
||||
SCRIPT_EXPORT unsigned long long ReadQword(duint addr);
|
||||
SCRIPT_EXPORT bool WriteQword(duint addr, unsigned long long data);
|
||||
#endif //_WIN64
|
||||
SCRIPT_EXPORT duint ReadPtr(duint addr);
|
||||
SCRIPT_EXPORT bool WritePtr(duint addr, duint data);
|
||||
};
|
||||
|
||||
namespace Register
|
||||
{
|
||||
enum RegisterEnum
|
||||
{
|
||||
DR0,
|
||||
DR1,
|
||||
DR2,
|
||||
DR3,
|
||||
DR6,
|
||||
DR7,
|
||||
EAX,
|
||||
AX,
|
||||
AH,
|
||||
AL,
|
||||
EBX,
|
||||
BX,
|
||||
BH,
|
||||
BL,
|
||||
ECX,
|
||||
CX,
|
||||
CH,
|
||||
CL,
|
||||
EDX,
|
||||
DX,
|
||||
DH,
|
||||
DL,
|
||||
EDI,
|
||||
DI,
|
||||
ESI,
|
||||
SI,
|
||||
EBP,
|
||||
BP,
|
||||
ESP,
|
||||
SP,
|
||||
EIP,
|
||||
CIP,
|
||||
#ifdef _WIN64
|
||||
RAX,
|
||||
RBX,
|
||||
RCX,
|
||||
RDX,
|
||||
RSI,
|
||||
SIL,
|
||||
RDI,
|
||||
DIL,
|
||||
RBP,
|
||||
BPL,
|
||||
RSP,
|
||||
SPL,
|
||||
RIP,
|
||||
R8,
|
||||
R8D,
|
||||
R8W,
|
||||
R8B,
|
||||
R9,
|
||||
R9D,
|
||||
R9W,
|
||||
R9B,
|
||||
R10,
|
||||
R10D,
|
||||
R10W,
|
||||
R10B,
|
||||
R11,
|
||||
R11D,
|
||||
R11W,
|
||||
R11B,
|
||||
R12,
|
||||
R12D,
|
||||
R12W,
|
||||
R12B,
|
||||
R13,
|
||||
R13D,
|
||||
R13W,
|
||||
R13B,
|
||||
R14,
|
||||
R14D,
|
||||
R14W,
|
||||
R14B,
|
||||
R15,
|
||||
R15D,
|
||||
R15W,
|
||||
R15B
|
||||
#endif //_WIN64
|
||||
};
|
||||
|
||||
SCRIPT_EXPORT duint Get(RegisterEnum reg);
|
||||
SCRIPT_EXPORT bool Set(RegisterEnum reg, duint value);
|
||||
|
||||
SCRIPT_EXPORT duint GetDR0();
|
||||
SCRIPT_EXPORT bool SetDR0(duint value);
|
||||
SCRIPT_EXPORT duint GetDR1();
|
||||
SCRIPT_EXPORT bool SetDR1(duint value);
|
||||
SCRIPT_EXPORT duint GetDR2();
|
||||
SCRIPT_EXPORT bool SetDR2(duint value);
|
||||
SCRIPT_EXPORT duint GetDR3();
|
||||
SCRIPT_EXPORT bool SetDR3(duint value);
|
||||
SCRIPT_EXPORT duint GetDR6();
|
||||
SCRIPT_EXPORT bool SetDR6(duint value);
|
||||
SCRIPT_EXPORT duint GetDR7();
|
||||
SCRIPT_EXPORT bool SetDR7(duint value);
|
||||
SCRIPT_EXPORT unsigned int GetEAX();
|
||||
SCRIPT_EXPORT bool SetEAX(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetAX();
|
||||
SCRIPT_EXPORT bool SetAX(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetAH();
|
||||
SCRIPT_EXPORT bool SetAH(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned char GetAL();
|
||||
SCRIPT_EXPORT bool SetAL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned int GetEBX();
|
||||
SCRIPT_EXPORT bool SetEBX(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetBX();
|
||||
SCRIPT_EXPORT bool SetBX(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetBH();
|
||||
SCRIPT_EXPORT bool SetBH(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned char GetBL();
|
||||
SCRIPT_EXPORT bool SetBL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned int GetECX();
|
||||
SCRIPT_EXPORT bool SetECX(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetCX();
|
||||
SCRIPT_EXPORT bool SetCX(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetCH();
|
||||
SCRIPT_EXPORT bool SetCH(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned char GetCL();
|
||||
SCRIPT_EXPORT bool SetCL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned int GetEDX();
|
||||
SCRIPT_EXPORT bool SetEDX(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetDX();
|
||||
SCRIPT_EXPORT bool SetDX(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetDH();
|
||||
SCRIPT_EXPORT bool SetDH(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned char GetDL();
|
||||
SCRIPT_EXPORT bool SetDL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned int GetEDI();
|
||||
SCRIPT_EXPORT bool SetEDI(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetDI();
|
||||
SCRIPT_EXPORT bool SetDI(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned int GetESI();
|
||||
SCRIPT_EXPORT bool SetESI(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetSI();
|
||||
SCRIPT_EXPORT bool SetSI(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned int GetEBP();
|
||||
SCRIPT_EXPORT bool SetEBP(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetBP();
|
||||
SCRIPT_EXPORT bool SetBP(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned int GetESP();
|
||||
SCRIPT_EXPORT bool SetESP(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetSP();
|
||||
SCRIPT_EXPORT bool SetSP(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned int GetEIP();
|
||||
SCRIPT_EXPORT bool SetEIP(unsigned int value);
|
||||
SCRIPT_EXPORT duint GetCIP();
|
||||
SCRIPT_EXPORT bool SetCIP(duint value);
|
||||
#ifdef _WIN64
|
||||
SCRIPT_EXPORT unsigned long long GetRAX();
|
||||
SCRIPT_EXPORT bool SetRAX(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetRBX();
|
||||
SCRIPT_EXPORT bool SetRBX(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetRCX();
|
||||
SCRIPT_EXPORT bool SetRCX(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetRDX();
|
||||
SCRIPT_EXPORT bool SetRDX(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetRSI();
|
||||
SCRIPT_EXPORT bool SetRSI(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned char GetSIL();
|
||||
SCRIPT_EXPORT bool SetSIL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetRDI();
|
||||
SCRIPT_EXPORT bool SetRDI(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned char GetDIL();
|
||||
SCRIPT_EXPORT bool SetDIL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetRBP();
|
||||
SCRIPT_EXPORT bool SetRBP(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned char GetBPL();
|
||||
SCRIPT_EXPORT bool SetBPL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetRSP();
|
||||
SCRIPT_EXPORT bool SetRSP(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned char GetSPL();
|
||||
SCRIPT_EXPORT bool SetSPL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetRIP();
|
||||
SCRIPT_EXPORT bool SetRIP(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetR8();
|
||||
SCRIPT_EXPORT bool SetR8(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR8D();
|
||||
SCRIPT_EXPORT bool SetR8D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR8W();
|
||||
SCRIPT_EXPORT bool SetR8W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR8B();
|
||||
SCRIPT_EXPORT bool SetR8B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR9();
|
||||
SCRIPT_EXPORT bool SetR9(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR9D();
|
||||
SCRIPT_EXPORT bool SetR9D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR9W();
|
||||
SCRIPT_EXPORT bool SetR9W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR9B();
|
||||
SCRIPT_EXPORT bool SetR9B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR10();
|
||||
SCRIPT_EXPORT bool SetR10(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR10D();
|
||||
SCRIPT_EXPORT bool SetR10D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR10W();
|
||||
SCRIPT_EXPORT bool SetR10W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR10B();
|
||||
SCRIPT_EXPORT bool SetR10B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR11();
|
||||
SCRIPT_EXPORT bool SetR11(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR11D();
|
||||
SCRIPT_EXPORT bool SetR11D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR11W();
|
||||
SCRIPT_EXPORT bool SetR11W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR11B();
|
||||
SCRIPT_EXPORT bool SetR11B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR12();
|
||||
SCRIPT_EXPORT bool SetR12(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR12D();
|
||||
SCRIPT_EXPORT bool SetR12D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR12W();
|
||||
SCRIPT_EXPORT bool SetR12W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR12B();
|
||||
SCRIPT_EXPORT bool SetR12B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR13();
|
||||
SCRIPT_EXPORT bool SetR13(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR13D();
|
||||
SCRIPT_EXPORT bool SetR13D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR13W();
|
||||
SCRIPT_EXPORT bool SetR13W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR13B();
|
||||
SCRIPT_EXPORT bool SetR13B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR14();
|
||||
SCRIPT_EXPORT bool SetR14(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR14D();
|
||||
SCRIPT_EXPORT bool SetR14D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR14W();
|
||||
SCRIPT_EXPORT bool SetR14W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR14B();
|
||||
SCRIPT_EXPORT bool SetR14B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR15();
|
||||
SCRIPT_EXPORT bool SetR15(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR15D();
|
||||
SCRIPT_EXPORT bool SetR15D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR15W();
|
||||
SCRIPT_EXPORT bool SetR15W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR15B();
|
||||
SCRIPT_EXPORT bool SetR15B(unsigned char value);
|
||||
#endif //_WIN64
|
||||
};
|
||||
};
|
||||
|
||||
#endif //_SCRIPT_API_H
|
|
@ -0,0 +1,42 @@
|
|||
#include "_scriptapi_debug.h"
|
||||
|
||||
SCRIPT_EXPORT void Script::Debug::Wait()
|
||||
{
|
||||
_plugin_waituntilpaused();
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT void Script::Debug::Run()
|
||||
{
|
||||
DbgCmdExecDirect("run");
|
||||
Wait();
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT void Script::Debug::Pause()
|
||||
{
|
||||
DbgCmdExecDirect("pause");
|
||||
Wait();
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT void Script::Debug::Stop()
|
||||
{
|
||||
DbgCmdExecDirect("StopDebug");
|
||||
Wait();
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT void Script::Debug::StepIn()
|
||||
{
|
||||
DbgCmdExecDirect("StepInto");
|
||||
Wait();
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT void Script::Debug::StepOver()
|
||||
{
|
||||
DbgCmdExecDirect("StepOver");
|
||||
Wait();
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT void Script::Debug::StepOut()
|
||||
{
|
||||
DbgCmdExecDirect("StepOut");
|
||||
Wait();
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
#ifndef _SCRIPTAPI_DEBUG_H
|
||||
#define _SCRIPTAPI_DEBUG_H
|
||||
|
||||
#include "_scriptapi.h"
|
||||
|
||||
namespace Script
|
||||
{
|
||||
namespace Debug
|
||||
{
|
||||
SCRIPT_EXPORT void Wait();
|
||||
SCRIPT_EXPORT void Run();
|
||||
SCRIPT_EXPORT void Pause();
|
||||
SCRIPT_EXPORT void Stop();
|
||||
SCRIPT_EXPORT void StepIn();
|
||||
SCRIPT_EXPORT void StepOver();
|
||||
SCRIPT_EXPORT void StepOut();
|
||||
}; //Debug
|
||||
}; //Script
|
||||
|
||||
#endif //_SCRIPTAPI_DEBUG_H
|
|
@ -0,0 +1,108 @@
|
|||
#include "_scriptapi_gui.h"
|
||||
|
||||
static inline int windowToBridge(Script::Gui::Window window)
|
||||
{
|
||||
switch(window)
|
||||
{
|
||||
case Script::Gui::DisassemblyWindow:
|
||||
return GUI_DISASSEMBLY;
|
||||
case Script::Gui::DumpWindow:
|
||||
return GUI_DUMP;
|
||||
case Script::Gui::StackWindow:
|
||||
return GUI_STACK;
|
||||
default:
|
||||
return GUI_DISASSEMBLY;
|
||||
}
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Gui::SelectionGet(Script::Gui::Window window, duint* start, duint* end)
|
||||
{
|
||||
SELECTIONDATA selection;
|
||||
if(!GuiSelectionGet(windowToBridge(window), &selection))
|
||||
return false;
|
||||
if(start)
|
||||
*start = selection.start;
|
||||
if(end)
|
||||
*end = selection.end;
|
||||
return true;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Gui::SelectionSet(Script::Gui::Window window, duint start, duint end)
|
||||
{
|
||||
SELECTIONDATA selection;
|
||||
selection.start = start;
|
||||
selection.end = end;
|
||||
return GuiSelectionSet(windowToBridge(window), &selection);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Gui::SelectionGetStart(Script::Gui::Window window)
|
||||
{
|
||||
duint start;
|
||||
return Gui::SelectionGet(window, &start, nullptr) ? start : 0;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Gui::SelectionGetEnd(Script::Gui::Window window)
|
||||
{
|
||||
duint end;
|
||||
return Gui::SelectionGet(window, nullptr, &end) ? end : 0;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Gui::Disassembly::SelectionGet(duint* start, duint* end)
|
||||
{
|
||||
return Gui::SelectionGet(DisassemblyWindow, start, end);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Gui::Disassembly::SelectionSet(duint start, duint end)
|
||||
{
|
||||
return Gui::SelectionSet(DisassemblyWindow, start, end);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Gui::Disassembly::SelectionGetStart()
|
||||
{
|
||||
return Gui::SelectionGetStart(DisassemblyWindow);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Gui::Disassembly::SelectionGetEnd()
|
||||
{
|
||||
return Gui::SelectionGetEnd(DisassemblyWindow);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Gui::Dump::SelectionGet(duint* start, duint* end)
|
||||
{
|
||||
return Gui::SelectionGet(DumpWindow, start, end);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Gui::Dump::SelectionSet(duint start, duint end)
|
||||
{
|
||||
return Gui::SelectionSet(DumpWindow, start, end);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Gui::Dump::SelectionGetStart()
|
||||
{
|
||||
return Gui::SelectionGetStart(DumpWindow);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Gui::Dump::SelectionGetEnd()
|
||||
{
|
||||
return Gui::SelectionGetEnd(DumpWindow);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Gui::Stack::SelectionGet(duint* start, duint* end)
|
||||
{
|
||||
return Gui::SelectionGet(StackWindow, start, end);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Gui::Stack::SelectionSet(duint start, duint end)
|
||||
{
|
||||
return Gui::SelectionSet(StackWindow, start, end);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Gui::Stack::SelectionGetStart()
|
||||
{
|
||||
return Gui::SelectionGetStart(StackWindow);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Gui::Stack::SelectionGetEnd()
|
||||
{
|
||||
return Gui::SelectionGetEnd(StackWindow);
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
#ifndef _SCRIPTAPI_GUI_H
|
||||
#define _SCRIPTAPI_GUI_H
|
||||
|
||||
#include "_scriptapi.h"
|
||||
|
||||
namespace Script
|
||||
{
|
||||
namespace Gui
|
||||
{
|
||||
enum Window
|
||||
{
|
||||
DisassemblyWindow,
|
||||
DumpWindow,
|
||||
StackWindow
|
||||
};
|
||||
|
||||
SCRIPT_EXPORT bool SelectionGet(Window window, duint* start, duint* end);
|
||||
SCRIPT_EXPORT bool SelectionSet(Window window, duint start, duint end);
|
||||
SCRIPT_EXPORT duint SelectionGetStart(Window window);
|
||||
SCRIPT_EXPORT duint SelectionGetEnd(Window window);
|
||||
|
||||
namespace Disassembly
|
||||
{
|
||||
SCRIPT_EXPORT bool SelectionGet(duint* start, duint* end);
|
||||
SCRIPT_EXPORT bool SelectionSet(duint start, duint end);
|
||||
SCRIPT_EXPORT duint SelectionGetStart();
|
||||
SCRIPT_EXPORT duint SelectionGetEnd();
|
||||
}; //Disassembly
|
||||
|
||||
namespace Dump
|
||||
{
|
||||
SCRIPT_EXPORT bool SelectionGet(duint* start, duint* end);
|
||||
SCRIPT_EXPORT bool SelectionSet(duint start, duint end);
|
||||
SCRIPT_EXPORT duint SelectionGetStart();
|
||||
SCRIPT_EXPORT duint SelectionGetEnd();
|
||||
}; //Dump
|
||||
|
||||
namespace Stack
|
||||
{
|
||||
SCRIPT_EXPORT bool SelectionGet(duint* start, duint* end);
|
||||
SCRIPT_EXPORT bool SelectionSet(duint start, duint end);
|
||||
SCRIPT_EXPORT duint SelectionGetStart();
|
||||
SCRIPT_EXPORT duint SelectionGetEnd();
|
||||
}; //Stack
|
||||
}; //Gui
|
||||
}; //Script
|
||||
|
||||
#endif //_SCRIPTAPI_GUI_H
|
|
@ -0,0 +1,74 @@
|
|||
#include "_scriptapi_memory.h"
|
||||
#include "memory.h"
|
||||
|
||||
SCRIPT_EXPORT bool Script::Memory::Read(duint addr, void* data, duint size, duint* sizeRead)
|
||||
{
|
||||
return MemRead((void*)addr, data, size, sizeRead);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Memory::Write(duint addr, const void* data, duint size, duint* sizeWritten)
|
||||
{
|
||||
return MemWrite((void*)addr, (void*)data, size, sizeWritten);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Memory::ReadByte(duint addr)
|
||||
{
|
||||
unsigned char data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Memory::WriteByte(duint addr, unsigned char data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Memory::ReadWord(duint addr)
|
||||
{
|
||||
unsigned short data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Memory::WriteWord(duint addr, unsigned short data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Memory::ReadDword(duint addr)
|
||||
{
|
||||
unsigned int data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Memory::WriteDword(duint addr, unsigned int data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
|
||||
#ifdef _WIN64
|
||||
SCRIPT_EXPORT unsigned long long Script::Memory::ReadQword(duint addr)
|
||||
{
|
||||
unsigned long long data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Memory::WriteQword(duint addr, unsigned long long data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
#endif //_WIN64
|
||||
|
||||
SCRIPT_EXPORT duint Script::Memory::ReadPtr(duint addr)
|
||||
{
|
||||
duint data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Memory::WritePtr(duint addr, duint data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
#ifndef _SCRIPTAPI_MEMORY_H
|
||||
#define _SCRIPTAPI_MEMORY_H
|
||||
|
||||
#include "_scriptapi.h"
|
||||
|
||||
namespace Script
|
||||
{
|
||||
namespace Memory
|
||||
{
|
||||
SCRIPT_EXPORT bool Read(duint addr, void* data, duint size, duint* sizeRead);
|
||||
SCRIPT_EXPORT bool Write(duint addr, const void* data, duint size, duint* sizeWritten);
|
||||
|
||||
SCRIPT_EXPORT unsigned char ReadByte(duint addr);
|
||||
SCRIPT_EXPORT bool WriteByte(duint addr, unsigned char data);
|
||||
SCRIPT_EXPORT unsigned short ReadWord(duint addr);
|
||||
SCRIPT_EXPORT bool WriteWord(duint addr, unsigned short data);
|
||||
SCRIPT_EXPORT unsigned int ReadDword(duint addr);
|
||||
SCRIPT_EXPORT bool WriteDword(duint addr, unsigned int data);
|
||||
#ifdef _WIN64
|
||||
SCRIPT_EXPORT unsigned long long ReadQword(duint addr);
|
||||
SCRIPT_EXPORT bool WriteQword(duint addr, unsigned long long data);
|
||||
#endif //_WIN64
|
||||
SCRIPT_EXPORT duint ReadPtr(duint addr);
|
||||
SCRIPT_EXPORT bool WritePtr(duint addr, duint data);
|
||||
}; //Memory
|
||||
}; //Script
|
||||
|
||||
#endif //_SCRIPTAPI_MEMORY_H
|
|
@ -0,0 +1,131 @@
|
|||
#include "_scriptapi_module.h"
|
||||
#include "module.h"
|
||||
#include "debugger.h"
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::InfoFromAddr(duint addr, Script::Module::ModuleInfo* info)
|
||||
{
|
||||
MODINFO* modInfo = ModInfoFromAddr(addr);
|
||||
if(!info || !modInfo)
|
||||
return false;
|
||||
info->base = modInfo->base;
|
||||
info->size = modInfo->size;
|
||||
info->entry = modInfo->entry;
|
||||
info->sectionCount = (int)modInfo->sections.size();
|
||||
strcpy_s(info->name, modInfo->name);
|
||||
strcat_s(info->name, modInfo->extension);
|
||||
strcpy_s(info->path, modInfo->path);
|
||||
return true;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::InfoFromName(const char* name, Script::Module::ModuleInfo* info)
|
||||
{
|
||||
return Module::InfoFromAddr(Module::BaseFromName(name), info);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::BaseFromAddr(duint addr)
|
||||
{
|
||||
return ModBaseFromAddr(addr);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::BaseFromName(const char* name)
|
||||
{
|
||||
return ModBaseFromName(name);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::SizeFromAddr(duint addr)
|
||||
{
|
||||
return ModSizeFromAddr(addr);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::SizeFromName(const char* name)
|
||||
{
|
||||
return Module::SizeFromAddr(Module::BaseFromName(name));
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::NameFromAddr(duint addr, char* name)
|
||||
{
|
||||
return ModNameFromAddr(addr, name, true);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::PathFromAddr(duint addr, char* path)
|
||||
{
|
||||
return !!ModPathFromAddr(addr, path, MAX_PATH);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::PathFromName(const char* name, char* path)
|
||||
{
|
||||
return Module::PathFromAddr(Module::BaseFromName(name), path);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::EntryFromAddr(duint addr)
|
||||
{
|
||||
return ModEntryFromAddr(addr);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::EntryFromName(const char* name)
|
||||
{
|
||||
return Module::EntryFromAddr(Module::BaseFromName(name));
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT int Script::Module::SectionCountFromAddr(duint addr)
|
||||
{
|
||||
MODINFO* modInfo = ModInfoFromAddr(addr);
|
||||
return modInfo ? (int)modInfo->sections.size() : 0;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT int Script::Module::SectionCountFromName(const char* name)
|
||||
{
|
||||
return Module::SectionCountFromAddr(Module::BaseFromName(name));
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::SectionFromAddr(duint addr, int number, ModuleSectionInfo* section)
|
||||
{
|
||||
MODINFO* modInfo = ModInfoFromAddr(addr);
|
||||
if(!section || !modInfo || number < 0 || number >= (int)modInfo->sections.size())
|
||||
return false;
|
||||
const MODSECTIONINFO & secInfo = modInfo->sections.at(number);
|
||||
section->addr = secInfo.addr;
|
||||
section->size = secInfo.size;
|
||||
strcpy_s(section->name, secInfo.name);
|
||||
return true;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::SectionFromName(const char* name, int number, ModuleSectionInfo* section)
|
||||
{
|
||||
return Module::SectionFromAddr(Module::BaseFromName(name), number, section);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::GetMainModuleInfo(ModuleInfo* info)
|
||||
{
|
||||
return Module::InfoFromAddr(Module::GetMainModuleBase(), info);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::GetMainModuleBase()
|
||||
{
|
||||
return dbggetdebuggedbase();
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::GetMainModuleSize()
|
||||
{
|
||||
return Module::SizeFromAddr(Module::GetMainModuleBase());
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Module::GetMainModuleEntry()
|
||||
{
|
||||
return Module::EntryFromAddr(Module::GetMainModuleBase());
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT int Script::Module::GetMainModuleSectionCount()
|
||||
{
|
||||
return Module::SectionCountFromAddr(Module::GetMainModuleBase());
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::GetMainModuleName(char* name)
|
||||
{
|
||||
return Module::NameFromAddr(Module::GetMainModuleBase(), name);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Module::GetMainModulePath(char* path)
|
||||
{
|
||||
return Module::PathFromAddr(Module::GetMainModuleBase(), path);
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
#ifndef _SCRIPTAPI_MODULE_H
|
||||
#define _SCRIPTAPI_MODULE_H
|
||||
|
||||
#include "_scriptapi.h"
|
||||
|
||||
namespace Script
|
||||
{
|
||||
namespace Module
|
||||
{
|
||||
struct ModuleInfo
|
||||
{
|
||||
duint base;
|
||||
duint size;
|
||||
duint entry;
|
||||
int sectionCount;
|
||||
char name[MAX_MODULE_SIZE];
|
||||
char path[MAX_PATH];
|
||||
};
|
||||
|
||||
struct ModuleSectionInfo
|
||||
{
|
||||
duint addr;
|
||||
duint size;
|
||||
char name[MAX_SECTION_SIZE * 5];
|
||||
};
|
||||
|
||||
SCRIPT_EXPORT bool InfoFromAddr(duint addr, ModuleInfo* info);
|
||||
SCRIPT_EXPORT bool InfoFromName(const char* name, ModuleInfo* info);
|
||||
SCRIPT_EXPORT duint BaseFromAddr(duint addr);
|
||||
SCRIPT_EXPORT duint BaseFromName(const char* name);
|
||||
SCRIPT_EXPORT duint SizeFromAddr(duint addr);
|
||||
SCRIPT_EXPORT duint SizeFromName(const char* name);
|
||||
SCRIPT_EXPORT bool NameFromAddr(duint addr, char* name); //name[MAX_MODULE_SIZE]
|
||||
SCRIPT_EXPORT bool PathFromAddr(duint addr, char* path); //path[MAX_MODULE_PATH_SIZE]
|
||||
SCRIPT_EXPORT bool PathFromName(const char* name, char* path); //path[MAX_PATH]
|
||||
SCRIPT_EXPORT duint EntryFromAddr(duint addr);
|
||||
SCRIPT_EXPORT duint EntryFromName(const char* name);
|
||||
SCRIPT_EXPORT int SectionCountFromAddr(duint addr);
|
||||
SCRIPT_EXPORT int SectionCountFromName(const char* name);
|
||||
SCRIPT_EXPORT bool SectionFromAddr(duint addr, int number, ModuleSectionInfo* section);
|
||||
SCRIPT_EXPORT bool SectionFromName(const char* name, int number, ModuleSectionInfo* section);
|
||||
SCRIPT_EXPORT bool GetMainModuleInfo(ModuleInfo* info);
|
||||
SCRIPT_EXPORT duint GetMainModuleBase();
|
||||
SCRIPT_EXPORT duint GetMainModuleSize();
|
||||
SCRIPT_EXPORT duint GetMainModuleEntry();
|
||||
SCRIPT_EXPORT int GetMainModuleSectionCount();
|
||||
SCRIPT_EXPORT bool GetMainModuleName(char* name); //name[MAX_MODULE_SIZE]
|
||||
SCRIPT_EXPORT bool GetMainModulePath(char* path); //path[MAX_PATH]
|
||||
}; //Module
|
||||
}; //Script
|
||||
|
||||
#endif //_SCRIPTAPI_MODULE_H
|
|
@ -0,0 +1,48 @@
|
|||
#include "_scriptapi_pattern.h"
|
||||
#include "patternfind.h"
|
||||
#include "memory.h"
|
||||
|
||||
duint Script::Pattern::Find(unsigned char* data, duint datasize, const char* pattern)
|
||||
{
|
||||
return patternfind(data, datasize, pattern);
|
||||
}
|
||||
|
||||
duint Script::Pattern::FindMem(duint start, duint size, const char* pattern)
|
||||
{
|
||||
Memory<unsigned char*> data(size, "Script::Pattern::FindMem::data");
|
||||
if(!MemRead((void*)start, data(), size, nullptr))
|
||||
return -1;
|
||||
return Pattern::Find(data(), data.size(), pattern) + start;
|
||||
}
|
||||
|
||||
void Script::Pattern::Write(unsigned char* data, duint datasize, const char* pattern)
|
||||
{
|
||||
patternwrite(data, datasize, pattern);
|
||||
}
|
||||
|
||||
void Script::Pattern::WriteMem(duint start, duint size, const char* pattern)
|
||||
{
|
||||
Memory<unsigned char*> data(size, "Script::Pattern::WriteMem::data");
|
||||
if(!MemRead((void*)start, data(), data.size(), nullptr))
|
||||
return;
|
||||
patternwrite(data(), data.size(), pattern);
|
||||
MemWrite((void*)start, data(), data.size(), nullptr);
|
||||
}
|
||||
|
||||
bool Script::Pattern::SearchAndReplace(unsigned char* data, duint datasize, const char* searchpattern, const char* replacepattern)
|
||||
{
|
||||
return patternsnr(data, datasize, searchpattern, replacepattern);
|
||||
}
|
||||
|
||||
bool Script::Pattern::SearchAndReplaceMem(duint start, duint size, const char* searchpattern, const char* replacepattern)
|
||||
{
|
||||
Memory<unsigned char*> data(size, "Script::Pattern::SearchAndReplaceMem::data");
|
||||
if(!MemRead((void*)start, data(), size, nullptr))
|
||||
return false;
|
||||
duint found = patternfind(data(), data.size(), searchpattern);
|
||||
if(found == -1)
|
||||
return false;
|
||||
patternwrite(data() + found, data.size() - found, replacepattern);
|
||||
MemWrite((void*)(start + found), data() + found, data.size() - found, nullptr);
|
||||
return true;
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
#ifndef _SCRIPTAPI_PATTERN_H
|
||||
#define _SCRIPTAPI_PATTERN_H
|
||||
|
||||
#include "_scriptapi.h"
|
||||
|
||||
namespace Script
|
||||
{
|
||||
namespace Pattern
|
||||
{
|
||||
duint Find(unsigned char* data, duint datasize, const char* pattern);
|
||||
duint FindMem(duint start, duint size, const char* pattern);
|
||||
void Write(unsigned char* data, duint datasize, const char* pattern);
|
||||
void WriteMem(duint start, duint size, const char* pattern);
|
||||
bool SearchAndReplace(unsigned char* data, duint datasize, const char* searchpattern, const char* replacepattern);
|
||||
bool SearchAndReplaceMem(duint start, duint size, const char* searchpattern, const char* replacepattern);
|
||||
};
|
||||
};
|
||||
|
||||
#endif //_SCRIPTAPI_FIND_H
|
|
@ -1,105 +1,6 @@
|
|||
#include "_scriptapi.h"
|
||||
#include "memory.h"
|
||||
#include "_scriptapi_register.h"
|
||||
#include "value.h"
|
||||
|
||||
using namespace Script;
|
||||
|
||||
SCRIPT_EXPORT void Script::Debug::Wait()
|
||||
{
|
||||
_plugin_waituntilpaused();
|
||||
}
|
||||
SCRIPT_EXPORT void Script::Debug::Run()
|
||||
{
|
||||
DbgCmdExecDirect("run");
|
||||
Wait();
|
||||
}
|
||||
SCRIPT_EXPORT void Script::Debug::Pause()
|
||||
{
|
||||
DbgCmdExecDirect("pause");
|
||||
Wait();
|
||||
}
|
||||
SCRIPT_EXPORT void Script::Debug::Stop()
|
||||
{
|
||||
DbgCmdExecDirect("StopDebug");
|
||||
Wait();
|
||||
}
|
||||
SCRIPT_EXPORT void Script::Debug::StepIn()
|
||||
{
|
||||
DbgCmdExecDirect("StepInto");
|
||||
Wait();
|
||||
}
|
||||
SCRIPT_EXPORT void Script::Debug::StepOver()
|
||||
{
|
||||
DbgCmdExecDirect("StepOver");
|
||||
Wait();
|
||||
}
|
||||
SCRIPT_EXPORT void Script::Debug::StepOut()
|
||||
{
|
||||
DbgCmdExecDirect("StepOut");
|
||||
Wait();
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Memory::Read(duint addr, void* data, duint size, duint* sizeRead)
|
||||
{
|
||||
return MemRead((void*)addr, data, size, sizeRead);
|
||||
}
|
||||
SCRIPT_EXPORT bool Script::Memory::Write(duint addr, const void* data, duint size, duint* sizeWritten)
|
||||
{
|
||||
return MemWrite((void*)addr, (void*)data, size, sizeWritten);
|
||||
}
|
||||
SCRIPT_EXPORT unsigned char Script::Memory::ReadByte(duint addr)
|
||||
{
|
||||
unsigned char data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
SCRIPT_EXPORT bool Script::Memory::WriteByte(duint addr, unsigned char data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
SCRIPT_EXPORT unsigned short Script::Memory::ReadWord(duint addr)
|
||||
{
|
||||
unsigned short data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
SCRIPT_EXPORT bool Script::Memory::WriteWord(duint addr, unsigned short data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
SCRIPT_EXPORT unsigned int Script::Memory::ReadDword(duint addr)
|
||||
{
|
||||
unsigned int data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
SCRIPT_EXPORT bool Script::Memory::WriteDword(duint addr, unsigned int data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
#ifdef _WIN64
|
||||
SCRIPT_EXPORT unsigned long long Script::Memory::ReadQword(duint addr)
|
||||
{
|
||||
unsigned long long data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
SCRIPT_EXPORT bool Script::Memory::WriteQword(duint addr, unsigned long long data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
#endif //_WIN64
|
||||
SCRIPT_EXPORT duint Script::Memory::ReadPtr(duint addr)
|
||||
{
|
||||
duint data;
|
||||
Read(addr, &data, sizeof(data), nullptr);
|
||||
return data;
|
||||
}
|
||||
SCRIPT_EXPORT bool Script::Memory::WritePtr(duint addr, duint data)
|
||||
{
|
||||
return Write(addr, &data, sizeof(data), nullptr);
|
||||
}
|
||||
|
||||
static const char* regTable[] =
|
||||
{
|
||||
"DR0",
|
||||
|
@ -189,623 +90,778 @@ SCRIPT_EXPORT duint Script::Register::Get(Script::Register::RegisterEnum reg)
|
|||
valfromstring(regTable[reg], &value);
|
||||
return value;
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::Set(Script::Register::RegisterEnum reg, duint value)
|
||||
{
|
||||
return setregister(regTable[reg], value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Register::GetDR0()
|
||||
{
|
||||
return Get(DR0);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDR0(duint value)
|
||||
{
|
||||
return Set(DR0, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Register::GetDR1()
|
||||
{
|
||||
return Get(DR1);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDR1(duint value)
|
||||
{
|
||||
return Set(DR1, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Register::GetDR2()
|
||||
{
|
||||
return Get(DR2);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDR2(duint value)
|
||||
{
|
||||
return Set(DR2, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Register::GetDR3()
|
||||
{
|
||||
return Get(DR3);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDR3(duint value)
|
||||
{
|
||||
return Set(DR3, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Register::GetDR6()
|
||||
{
|
||||
return Get(DR6);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDR6(duint value)
|
||||
{
|
||||
return Set(DR6, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Register::GetDR7()
|
||||
{
|
||||
return Get(DR7);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDR7(duint value)
|
||||
{
|
||||
return Set(DR7, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetEAX()
|
||||
{
|
||||
return (unsigned int)Get(EAX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetEAX(unsigned int value)
|
||||
{
|
||||
return Set(EAX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetAX()
|
||||
{
|
||||
return (unsigned short)Get(AX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetAX(unsigned short value)
|
||||
{
|
||||
return Set(AX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetAH()
|
||||
{
|
||||
return (unsigned char)Get(AH);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetAH(unsigned char value)
|
||||
{
|
||||
return Set(AH, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetAL()
|
||||
{
|
||||
return (unsigned char)Get(AL);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetAL(unsigned char value)
|
||||
{
|
||||
return Set(AL, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetEBX()
|
||||
{
|
||||
return (unsigned int)Get(EBX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetEBX(unsigned int value)
|
||||
{
|
||||
return Set(EBX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetBX()
|
||||
{
|
||||
return (unsigned short)Get(BX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetBX(unsigned short value)
|
||||
{
|
||||
return Set(BX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetBH()
|
||||
{
|
||||
return (unsigned char)Get(BH);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetBH(unsigned char value)
|
||||
{
|
||||
return Set(BH, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetBL()
|
||||
{
|
||||
return (unsigned char)Get(BL);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetBL(unsigned char value)
|
||||
{
|
||||
return Set(BL, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetECX()
|
||||
{
|
||||
return (unsigned int)Get(ECX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetECX(unsigned int value)
|
||||
{
|
||||
return Set(ECX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetCX()
|
||||
{
|
||||
return (unsigned short)Get(CX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetCX(unsigned short value)
|
||||
{
|
||||
return Set(CX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetCH()
|
||||
{
|
||||
return (unsigned char)Get(CH);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetCH(unsigned char value)
|
||||
{
|
||||
return Set(CH, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetCL()
|
||||
{
|
||||
return (unsigned char)Get(CL);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetCL(unsigned char value)
|
||||
{
|
||||
return Set(CL, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetEDX()
|
||||
{
|
||||
return (unsigned int)Get(EDX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetEDX(unsigned int value)
|
||||
{
|
||||
return Set(EDX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetDX()
|
||||
{
|
||||
return (unsigned short)Get(DX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDX(unsigned short value)
|
||||
{
|
||||
return Set(DX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetDH()
|
||||
{
|
||||
return (unsigned char)Get(DH);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDH(unsigned char value)
|
||||
{
|
||||
return Set(DH, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetDL()
|
||||
{
|
||||
return (unsigned char)Get(DL);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDL(unsigned char value)
|
||||
{
|
||||
return Set(DL, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetEDI()
|
||||
{
|
||||
return (unsigned int)Get(EDI);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetEDI(unsigned int value)
|
||||
{
|
||||
return Set(EDI, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetDI()
|
||||
{
|
||||
return (unsigned short)Get(DI);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDI(unsigned short value)
|
||||
{
|
||||
return Set(DI, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetESI()
|
||||
{
|
||||
return (unsigned int)Get(ESI);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetESI(unsigned int value)
|
||||
{
|
||||
return Set(ESI, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetSI()
|
||||
{
|
||||
return (unsigned short)Get(SI);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetSI(unsigned short value)
|
||||
{
|
||||
return Set(SI, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetEBP()
|
||||
{
|
||||
return (unsigned int)Get(EBP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetEBP(unsigned int value)
|
||||
{
|
||||
return Set(EBP, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetBP()
|
||||
{
|
||||
return (unsigned short)Get(BP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetBP(unsigned short value)
|
||||
{
|
||||
return Set(BP, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetESP()
|
||||
{
|
||||
return (unsigned int)Get(ESP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetESP(unsigned int value)
|
||||
{
|
||||
return Set(ESP, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetSP()
|
||||
{
|
||||
return (unsigned short)Get(SP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetSP(unsigned short value)
|
||||
{
|
||||
return Set(SP, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetEIP()
|
||||
{
|
||||
return (unsigned int)Get(EIP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetEIP(unsigned int value)
|
||||
{
|
||||
return Set(EIP, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT duint Script::Register::GetCIP()
|
||||
{
|
||||
return Get(CIP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetCIP(duint value)
|
||||
{
|
||||
return Set(CIP, value);
|
||||
}
|
||||
|
||||
#ifdef _WIN64
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRAX()
|
||||
{
|
||||
return (unsigned long long)Get(RAX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRAX(unsigned long long value)
|
||||
{
|
||||
return Set(RAX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRBX()
|
||||
{
|
||||
return (unsigned long long)Get(RBX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRBX(unsigned long long value)
|
||||
{
|
||||
return Set(RBX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRCX()
|
||||
{
|
||||
return (unsigned long long)Get(RCX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRCX(unsigned long long value)
|
||||
{
|
||||
return Set(RCX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRDX()
|
||||
{
|
||||
return (unsigned long long)Get(RDX);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRDX(unsigned long long value)
|
||||
{
|
||||
return Set(RDX, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRSI()
|
||||
{
|
||||
return (unsigned long long)Get(RSI);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRSI(unsigned long long value)
|
||||
{
|
||||
return Set(RSI, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetSIL()
|
||||
{
|
||||
return (unsigned char)Get(SIL);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetSIL(unsigned char value)
|
||||
{
|
||||
return Set(SIL, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRDI()
|
||||
{
|
||||
return (unsigned long long)Get(RDI);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRDI(unsigned long long value)
|
||||
{
|
||||
return Set(RDI, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetDIL()
|
||||
{
|
||||
return (unsigned char)Get(DIL);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetDIL(unsigned char value)
|
||||
{
|
||||
return Set(DIL, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRBP()
|
||||
{
|
||||
return (unsigned long long)Get(RBP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRBP(unsigned long long value)
|
||||
{
|
||||
return Set(RBP, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetBPL()
|
||||
{
|
||||
return (unsigned char)Get(BPL);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetBPL(unsigned char value)
|
||||
{
|
||||
return Set(BPL, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRSP()
|
||||
{
|
||||
return (unsigned long long)Get(RSP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRSP(unsigned long long value)
|
||||
{
|
||||
return Set(RSP, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetSPL()
|
||||
{
|
||||
return (unsigned char)Get(SPL);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetSPL(unsigned char value)
|
||||
{
|
||||
return Set(SPL, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetRIP()
|
||||
{
|
||||
return (unsigned long long)Get(RIP);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetRIP(unsigned long long value)
|
||||
{
|
||||
return Set(RIP, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetR8()
|
||||
{
|
||||
return (unsigned long long)Get(R8);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR8(unsigned long long value)
|
||||
{
|
||||
return Set(R8, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetR8D()
|
||||
{
|
||||
return (unsigned int)Get(R8D);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR8D(unsigned int value)
|
||||
{
|
||||
return Set(R8D, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetR8W()
|
||||
{
|
||||
return (unsigned short)Get(R8W);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR8W(unsigned short value)
|
||||
{
|
||||
return Set(R8W, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetR8B()
|
||||
{
|
||||
return (unsigned char)Get(R8B);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR8B(unsigned char value)
|
||||
{
|
||||
return Set(R8B, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetR9()
|
||||
{
|
||||
return (unsigned long long)Get(R9);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR9(unsigned long long value)
|
||||
{
|
||||
return Set(R9, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetR9D()
|
||||
{
|
||||
return (unsigned int)Get(R9D);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR9D(unsigned int value)
|
||||
{
|
||||
return Set(R9D, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetR9W()
|
||||
{
|
||||
return (unsigned short)Get(R9W);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR9W(unsigned short value)
|
||||
{
|
||||
return Set(R9W, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetR9B()
|
||||
{
|
||||
return (unsigned char)Get(R9B);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR9B(unsigned char value)
|
||||
{
|
||||
return Set(R9B, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetR10()
|
||||
{
|
||||
return (unsigned long long)Get(R10);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR10(unsigned long long value)
|
||||
{
|
||||
return Set(R10, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetR10D()
|
||||
{
|
||||
return (unsigned int)Get(R10D);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR10D(unsigned int value)
|
||||
{
|
||||
return Set(R10D, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetR10W()
|
||||
{
|
||||
return (unsigned short)Get(R10W);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR10W(unsigned short value)
|
||||
{
|
||||
return Set(R10W, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetR10B()
|
||||
{
|
||||
return (unsigned char)Get(R10B);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR10B(unsigned char value)
|
||||
{
|
||||
return Set(R10B, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetR11()
|
||||
{
|
||||
return (unsigned long long)Get(R11);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR11(unsigned long long value)
|
||||
{
|
||||
return Set(R11, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetR11D()
|
||||
{
|
||||
return (unsigned int)Get(R11D);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR11D(unsigned int value)
|
||||
{
|
||||
return Set(R11D, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetR11W()
|
||||
{
|
||||
return (unsigned short)Get(R11W);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR11W(unsigned short value)
|
||||
{
|
||||
return Set(R11W, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetR11B()
|
||||
{
|
||||
return (unsigned char)Get(R11B);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR11B(unsigned char value)
|
||||
{
|
||||
return Set(R11B, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetR12()
|
||||
{
|
||||
return (unsigned long long)Get(R12);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR12(unsigned long long value)
|
||||
{
|
||||
return Set(R12, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetR12D()
|
||||
{
|
||||
return (unsigned int)Get(R12D);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR12D(unsigned int value)
|
||||
{
|
||||
return Set(R12D, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetR12W()
|
||||
{
|
||||
return (unsigned short)Get(R12W);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR12W(unsigned short value)
|
||||
{
|
||||
return Set(R12W, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetR12B()
|
||||
{
|
||||
return (unsigned char)Get(R12B);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR12B(unsigned char value)
|
||||
{
|
||||
return Set(R12B, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetR13()
|
||||
{
|
||||
return (unsigned long long)Get(R13);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR13(unsigned long long value)
|
||||
{
|
||||
return Set(R13, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetR13D()
|
||||
{
|
||||
return (unsigned int)Get(R13D);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR13D(unsigned int value)
|
||||
{
|
||||
return Set(R13D, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetR13W()
|
||||
{
|
||||
return (unsigned short)Get(R13W);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR13W(unsigned short value)
|
||||
{
|
||||
return Set(R13W, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetR13B()
|
||||
{
|
||||
return (unsigned char)Get(R13B);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR13B(unsigned char value)
|
||||
{
|
||||
return Set(R13B, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetR14()
|
||||
{
|
||||
return (unsigned long long)Get(R14);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR14(unsigned long long value)
|
||||
{
|
||||
return Set(R14, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetR14D()
|
||||
{
|
||||
return (unsigned int)Get(R14D);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR14D(unsigned int value)
|
||||
{
|
||||
return Set(R14D, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetR14W()
|
||||
{
|
||||
return (unsigned short)Get(R14W);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR14W(unsigned short value)
|
||||
{
|
||||
return Set(R14W, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetR14B()
|
||||
{
|
||||
return (unsigned char)Get(R14B);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR14B(unsigned char value)
|
||||
{
|
||||
return Set(R14B, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned long long Script::Register::GetR15()
|
||||
{
|
||||
return (unsigned long long)Get(R15);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR15(unsigned long long value)
|
||||
{
|
||||
return Set(R15, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned int Script::Register::GetR15D()
|
||||
{
|
||||
return (unsigned int)Get(R15D);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR15D(unsigned int value)
|
||||
{
|
||||
return Set(R15D, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned short Script::Register::GetR15W()
|
||||
{
|
||||
return (unsigned short)Get(R15W);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR15W(unsigned short value)
|
||||
{
|
||||
return Set(R15W, value);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT unsigned char Script::Register::GetR15B()
|
||||
{
|
||||
return (unsigned char)Get(R15B);
|
||||
}
|
||||
|
||||
SCRIPT_EXPORT bool Script::Register::SetR15B(unsigned char value)
|
||||
{
|
||||
return Set(R15B, value);
|
|
@ -0,0 +1,255 @@
|
|||
#ifndef _SCRIPTAPI_REGISTER_H
|
||||
#define _SCRIPTAPI_REGISTER_H
|
||||
|
||||
#include "_scriptapi.h"
|
||||
|
||||
namespace Script
|
||||
{
|
||||
namespace Register
|
||||
{
|
||||
enum RegisterEnum
|
||||
{
|
||||
DR0,
|
||||
DR1,
|
||||
DR2,
|
||||
DR3,
|
||||
DR6,
|
||||
DR7,
|
||||
EAX,
|
||||
AX,
|
||||
AH,
|
||||
AL,
|
||||
EBX,
|
||||
BX,
|
||||
BH,
|
||||
BL,
|
||||
ECX,
|
||||
CX,
|
||||
CH,
|
||||
CL,
|
||||
EDX,
|
||||
DX,
|
||||
DH,
|
||||
DL,
|
||||
EDI,
|
||||
DI,
|
||||
ESI,
|
||||
SI,
|
||||
EBP,
|
||||
BP,
|
||||
ESP,
|
||||
SP,
|
||||
EIP,
|
||||
CIP,
|
||||
#ifdef _WIN64
|
||||
RAX,
|
||||
RBX,
|
||||
RCX,
|
||||
RDX,
|
||||
RSI,
|
||||
SIL,
|
||||
RDI,
|
||||
DIL,
|
||||
RBP,
|
||||
BPL,
|
||||
RSP,
|
||||
SPL,
|
||||
RIP,
|
||||
R8,
|
||||
R8D,
|
||||
R8W,
|
||||
R8B,
|
||||
R9,
|
||||
R9D,
|
||||
R9W,
|
||||
R9B,
|
||||
R10,
|
||||
R10D,
|
||||
R10W,
|
||||
R10B,
|
||||
R11,
|
||||
R11D,
|
||||
R11W,
|
||||
R11B,
|
||||
R12,
|
||||
R12D,
|
||||
R12W,
|
||||
R12B,
|
||||
R13,
|
||||
R13D,
|
||||
R13W,
|
||||
R13B,
|
||||
R14,
|
||||
R14D,
|
||||
R14W,
|
||||
R14B,
|
||||
R15,
|
||||
R15D,
|
||||
R15W,
|
||||
R15B
|
||||
#endif //_WIN64
|
||||
}; //RegisterEnum
|
||||
|
||||
SCRIPT_EXPORT duint Get(RegisterEnum reg);
|
||||
SCRIPT_EXPORT bool Set(RegisterEnum reg, duint value);
|
||||
|
||||
SCRIPT_EXPORT duint GetDR0();
|
||||
SCRIPT_EXPORT bool SetDR0(duint value);
|
||||
SCRIPT_EXPORT duint GetDR1();
|
||||
SCRIPT_EXPORT bool SetDR1(duint value);
|
||||
SCRIPT_EXPORT duint GetDR2();
|
||||
SCRIPT_EXPORT bool SetDR2(duint value);
|
||||
SCRIPT_EXPORT duint GetDR3();
|
||||
SCRIPT_EXPORT bool SetDR3(duint value);
|
||||
SCRIPT_EXPORT duint GetDR6();
|
||||
SCRIPT_EXPORT bool SetDR6(duint value);
|
||||
SCRIPT_EXPORT duint GetDR7();
|
||||
SCRIPT_EXPORT bool SetDR7(duint value);
|
||||
SCRIPT_EXPORT unsigned int GetEAX();
|
||||
SCRIPT_EXPORT bool SetEAX(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetAX();
|
||||
SCRIPT_EXPORT bool SetAX(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetAH();
|
||||
SCRIPT_EXPORT bool SetAH(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned char GetAL();
|
||||
SCRIPT_EXPORT bool SetAL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned int GetEBX();
|
||||
SCRIPT_EXPORT bool SetEBX(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetBX();
|
||||
SCRIPT_EXPORT bool SetBX(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetBH();
|
||||
SCRIPT_EXPORT bool SetBH(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned char GetBL();
|
||||
SCRIPT_EXPORT bool SetBL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned int GetECX();
|
||||
SCRIPT_EXPORT bool SetECX(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetCX();
|
||||
SCRIPT_EXPORT bool SetCX(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetCH();
|
||||
SCRIPT_EXPORT bool SetCH(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned char GetCL();
|
||||
SCRIPT_EXPORT bool SetCL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned int GetEDX();
|
||||
SCRIPT_EXPORT bool SetEDX(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetDX();
|
||||
SCRIPT_EXPORT bool SetDX(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetDH();
|
||||
SCRIPT_EXPORT bool SetDH(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned char GetDL();
|
||||
SCRIPT_EXPORT bool SetDL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned int GetEDI();
|
||||
SCRIPT_EXPORT bool SetEDI(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetDI();
|
||||
SCRIPT_EXPORT bool SetDI(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned int GetESI();
|
||||
SCRIPT_EXPORT bool SetESI(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetSI();
|
||||
SCRIPT_EXPORT bool SetSI(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned int GetEBP();
|
||||
SCRIPT_EXPORT bool SetEBP(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetBP();
|
||||
SCRIPT_EXPORT bool SetBP(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned int GetESP();
|
||||
SCRIPT_EXPORT bool SetESP(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetSP();
|
||||
SCRIPT_EXPORT bool SetSP(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned int GetEIP();
|
||||
SCRIPT_EXPORT bool SetEIP(unsigned int value);
|
||||
SCRIPT_EXPORT duint GetCIP();
|
||||
SCRIPT_EXPORT bool SetCIP(duint value);
|
||||
#ifdef _WIN64
|
||||
SCRIPT_EXPORT unsigned long long GetRAX();
|
||||
SCRIPT_EXPORT bool SetRAX(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetRBX();
|
||||
SCRIPT_EXPORT bool SetRBX(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetRCX();
|
||||
SCRIPT_EXPORT bool SetRCX(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetRDX();
|
||||
SCRIPT_EXPORT bool SetRDX(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetRSI();
|
||||
SCRIPT_EXPORT bool SetRSI(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned char GetSIL();
|
||||
SCRIPT_EXPORT bool SetSIL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetRDI();
|
||||
SCRIPT_EXPORT bool SetRDI(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned char GetDIL();
|
||||
SCRIPT_EXPORT bool SetDIL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetRBP();
|
||||
SCRIPT_EXPORT bool SetRBP(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned char GetBPL();
|
||||
SCRIPT_EXPORT bool SetBPL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetRSP();
|
||||
SCRIPT_EXPORT bool SetRSP(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned char GetSPL();
|
||||
SCRIPT_EXPORT bool SetSPL(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetRIP();
|
||||
SCRIPT_EXPORT bool SetRIP(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned long long GetR8();
|
||||
SCRIPT_EXPORT bool SetR8(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR8D();
|
||||
SCRIPT_EXPORT bool SetR8D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR8W();
|
||||
SCRIPT_EXPORT bool SetR8W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR8B();
|
||||
SCRIPT_EXPORT bool SetR8B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR9();
|
||||
SCRIPT_EXPORT bool SetR9(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR9D();
|
||||
SCRIPT_EXPORT bool SetR9D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR9W();
|
||||
SCRIPT_EXPORT bool SetR9W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR9B();
|
||||
SCRIPT_EXPORT bool SetR9B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR10();
|
||||
SCRIPT_EXPORT bool SetR10(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR10D();
|
||||
SCRIPT_EXPORT bool SetR10D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR10W();
|
||||
SCRIPT_EXPORT bool SetR10W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR10B();
|
||||
SCRIPT_EXPORT bool SetR10B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR11();
|
||||
SCRIPT_EXPORT bool SetR11(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR11D();
|
||||
SCRIPT_EXPORT bool SetR11D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR11W();
|
||||
SCRIPT_EXPORT bool SetR11W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR11B();
|
||||
SCRIPT_EXPORT bool SetR11B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR12();
|
||||
SCRIPT_EXPORT bool SetR12(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR12D();
|
||||
SCRIPT_EXPORT bool SetR12D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR12W();
|
||||
SCRIPT_EXPORT bool SetR12W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR12B();
|
||||
SCRIPT_EXPORT bool SetR12B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR13();
|
||||
SCRIPT_EXPORT bool SetR13(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR13D();
|
||||
SCRIPT_EXPORT bool SetR13D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR13W();
|
||||
SCRIPT_EXPORT bool SetR13W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR13B();
|
||||
SCRIPT_EXPORT bool SetR13B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR14();
|
||||
SCRIPT_EXPORT bool SetR14(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR14D();
|
||||
SCRIPT_EXPORT bool SetR14D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR14W();
|
||||
SCRIPT_EXPORT bool SetR14W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR14B();
|
||||
SCRIPT_EXPORT bool SetR14B(unsigned char value);
|
||||
SCRIPT_EXPORT unsigned long long GetR15();
|
||||
SCRIPT_EXPORT bool SetR15(unsigned long long value);
|
||||
SCRIPT_EXPORT unsigned int GetR15D();
|
||||
SCRIPT_EXPORT bool SetR15D(unsigned int value);
|
||||
SCRIPT_EXPORT unsigned short GetR15W();
|
||||
SCRIPT_EXPORT bool SetR15W(unsigned short value);
|
||||
SCRIPT_EXPORT unsigned char GetR15B();
|
||||
SCRIPT_EXPORT bool SetR15B(unsigned char value);
|
||||
#endif //_WIN64
|
||||
}; //Register
|
||||
}; //Script
|
||||
|
||||
#endif //_SCRIPTAPI_REGISTER_H
|
|
@ -51,7 +51,6 @@
|
|||
<ClCompile Include="patternfind.cpp" />
|
||||
<ClCompile Include="plugin_loader.cpp" />
|
||||
<ClCompile Include="reference.cpp" />
|
||||
<ClCompile Include="_scriptapi.cpp" />
|
||||
<ClCompile Include="simplescript.cpp" />
|
||||
<ClCompile Include="stackinfo.cpp" />
|
||||
<ClCompile Include="stringformat.cpp" />
|
||||
|
@ -66,6 +65,12 @@
|
|||
<ClCompile Include="_dbgfunctions.cpp" />
|
||||
<ClCompile Include="_global.cpp" />
|
||||
<ClCompile Include="_plugins.cpp" />
|
||||
<ClCompile Include="_scriptapi_debug.cpp" />
|
||||
<ClCompile Include="_scriptapi_gui.cpp" />
|
||||
<ClCompile Include="_scriptapi_pattern.cpp" />
|
||||
<ClCompile Include="_scriptapi_memory.cpp" />
|
||||
<ClCompile Include="_scriptapi_module.cpp" />
|
||||
<ClCompile Include="_scriptapi_register.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="addrinfo.h" />
|
||||
|
@ -168,6 +173,12 @@
|
|||
<ClInclude Include="_global.h" />
|
||||
<ClInclude Include="_plugins.h" />
|
||||
<ClInclude Include="_plugin_types.h" />
|
||||
<ClInclude Include="_scriptapi_debug.h" />
|
||||
<ClInclude Include="_scriptapi_gui.h" />
|
||||
<ClInclude Include="_scriptapi_pattern.h" />
|
||||
<ClInclude Include="_scriptapi_memory.h" />
|
||||
<ClInclude Include="_scriptapi_module.h" />
|
||||
<ClInclude Include="_scriptapi_register.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{E6548308-401E-3A8A-5819-905DB90522A6}</ProjectGuid>
|
||||
|
|
|
@ -79,6 +79,12 @@
|
|||
<Filter Include="Source Files\Analysis">
|
||||
<UniqueIdentifier>{a2a92bf5-753d-4a01-be80-66cc61434fbf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Source Files\Interfaces/Exports\_scriptapi">
|
||||
<UniqueIdentifier>{4d81f6f8-bb8a-457b-b372-932857e99035}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Header Files\Interfaces/Exports\_scriptapi">
|
||||
<UniqueIdentifier>{eb7d9981-6079-4b4b-af18-e44e63451d10}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp">
|
||||
|
@ -219,8 +225,23 @@
|
|||
<ClCompile Include="expressionparser.cpp">
|
||||
<Filter>Source Files\Core</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="_scriptapi.cpp">
|
||||
<Filter>Source Files\Interfaces/Exports</Filter>
|
||||
<ClCompile Include="_scriptapi_module.cpp">
|
||||
<Filter>Source Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="_scriptapi_register.cpp">
|
||||
<Filter>Source Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="_scriptapi_memory.cpp">
|
||||
<Filter>Source Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="_scriptapi_debug.cpp">
|
||||
<Filter>Source Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="_scriptapi_pattern.cpp">
|
||||
<Filter>Source Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="_scriptapi_gui.cpp">
|
||||
<Filter>Source Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
@ -521,8 +542,26 @@
|
|||
<ClInclude Include="expressionparser.h">
|
||||
<Filter>Header Files\Core</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="_scriptapi_debug.h">
|
||||
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="_scriptapi_memory.h">
|
||||
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="_scriptapi_module.h">
|
||||
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="_scriptapi_register.h">
|
||||
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="_scriptapi.h">
|
||||
<Filter>Header Files\Interfaces/Exports</Filter>
|
||||
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="_scriptapi_pattern.h">
|
||||
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="_scriptapi_gui.h">
|
||||
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
Loading…
Reference in New Issue