1
0
Fork 0

DBG: added Script::Misc + various stuffs in Script::Memory

This commit is contained in:
Mr. eXoDia 2015-07-07 16:29:07 +02:00
parent b2a3ef43ea
commit fad9bc1fb7
9 changed files with 52 additions and 5 deletions

View File

@ -1,5 +1,5 @@
#include "_scriptapi_gui.h"
#include "value.h"
#include "_scriptapi_misc.h"
SCRIPT_EXPORT bool Script::Gui::Disassembly::SelectionGet(duint* start, duint* end)
{
@ -128,5 +128,5 @@ SCRIPT_EXPORT bool Script::Gui::InputValue(const char* title, duint* value)
Memory<char*> line(GUI_MAX_LINE_SIZE);
if(!GuiGetLineWindow(title, line()))
return false;
return valfromstring(line(), value);
return Misc::ParseExpression(line(), value);
}

View File

@ -11,6 +11,21 @@ SCRIPT_EXPORT bool Script::Memory::Write(duint addr, const void* data, duint siz
return MemWrite((void*)addr, (void*)data, size, sizeWritten);
}
SCRIPT_EXPORT bool Script::Memory::IsValidPtr(duint addr)
{
return MemIsValidReadPtr(addr);
}
SCRIPT_EXPORT duint Script::Memory::RemoteAlloc(duint addr, duint size)
{
return (duint)MemAllocRemote(addr, size, PAGE_EXECUTE_READWRITE);
}
SCRIPT_EXPORT bool Script::Memory::RemoteFree(duint addr)
{
return MemFreeRemote(addr);
}
SCRIPT_EXPORT unsigned char Script::Memory::ReadByte(duint addr)
{
unsigned char data;

View File

@ -9,6 +9,9 @@ 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 bool IsValidPtr(duint addr);
SCRIPT_EXPORT duint RemoteAlloc(duint addr, duint size);
SCRIPT_EXPORT bool RemoteFree(duint addr);
SCRIPT_EXPORT unsigned char ReadByte(duint addr);
SCRIPT_EXPORT bool WriteByte(duint addr, unsigned char data);

View File

@ -0,0 +1,7 @@
#include "_scriptapi_misc.h"
#include "value.h"
SCRIPT_EXPORT bool Script::Misc::ParseExpression(const char* expression, duint* value)
{
return valfromstring(expression, value);
}

View File

@ -0,0 +1,14 @@
#ifndef _SCRIPTAPI_MISC_H
#define _SCRIPTAPI_MISC_H
#include "_scriptapi.h"
namespace Script
{
namespace Misc
{
SCRIPT_EXPORT bool ParseExpression(const char* expression, duint* value);
}; //Misc
}; //Script
#endif //_SCRIPTAPI_MISC_H

View File

@ -314,7 +314,7 @@ void* MemAllocRemote(uint Address, SIZE_T Size, DWORD Protect)
return VirtualAllocEx(fdProcessInfo->hProcess, (void*)Address, Size, MEM_RESERVE | MEM_COMMIT, Protect);
}
void MemFreeRemote(uint Address)
bool MemFreeRemote(uint Address)
{
VirtualFreeEx(fdProcessInfo->hProcess, (void*)Address, 0, MEM_RELEASE);
return !!VirtualFreeEx(fdProcessInfo->hProcess, (void*)Address, 0, MEM_RELEASE);
}

View File

@ -14,4 +14,4 @@ bool MemPatch(void* BaseAddress, void* Buffer, SIZE_T Size, SIZE_T* NumberOfByte
bool MemIsValidReadPtr(uint Address);
bool MemIsCanonicalAddress(uint Address);
void* MemAllocRemote(uint Address, SIZE_T Size, DWORD Protect);
void MemFreeRemote(uint Address);
bool MemFreeRemote(uint Address);

View File

@ -70,6 +70,7 @@
<ClCompile Include="_scriptapi_assembler.cpp" />
<ClCompile Include="_scriptapi_debug.cpp" />
<ClCompile Include="_scriptapi_gui.cpp" />
<ClCompile Include="_scriptapi_misc.cpp" />
<ClCompile Include="_scriptapi_pattern.cpp" />
<ClCompile Include="_scriptapi_memory.cpp" />
<ClCompile Include="_scriptapi_module.cpp" />
@ -181,6 +182,7 @@
<ClInclude Include="_scriptapi_assembler.h" />
<ClInclude Include="_scriptapi_debug.h" />
<ClInclude Include="_scriptapi_gui.h" />
<ClInclude Include="_scriptapi_misc.h" />
<ClInclude Include="_scriptapi_pattern.h" />
<ClInclude Include="_scriptapi_memory.h" />
<ClInclude Include="_scriptapi_module.h" />

View File

@ -252,6 +252,9 @@
<ClCompile Include="_scriptapi_assembler.cpp">
<Filter>Source Files\Interfaces/Exports\_scriptapi</Filter>
</ClCompile>
<ClCompile Include="_scriptapi_misc.cpp">
<Filter>Source Files\Interfaces/Exports\_scriptapi</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="x64_dbg.h">
@ -581,5 +584,8 @@
<ClInclude Include="_scriptapi_assembler.h">
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
</ClInclude>
<ClInclude Include="_scriptapi_misc.h">
<Filter>Header Files\Interfaces/Exports\_scriptapi</Filter>
</ClInclude>
</ItemGroup>
</Project>