Add Skeleton for REPL to hook into console
This commit is contained in:
parent
5ec1635af2
commit
1ac0a9955b
1 changed files with 54 additions and 0 deletions
54
ScrapHacks/ScrapHack/REPL.h
Normal file
54
ScrapHacks/ScrapHack/REPL.h
Normal file
|
@ -0,0 +1,54 @@
|
|||
#include <sstream>
|
||||
#include <regex>
|
||||
#include <Windows.h>
|
||||
#include "Util.h"
|
||||
|
||||
DWORD get_protection(void *addr)
|
||||
{
|
||||
MEMORY_BASIC_INFORMATION mbi;
|
||||
VirtualQuery(addr, &mbi, sizeof(mbi));
|
||||
return mbi.Protect;
|
||||
}
|
||||
|
||||
void handle_command(const char *_cmd)
|
||||
{
|
||||
cout<<"CMD: '"<<_cmd<<"'"<<endl;
|
||||
vector<string> cmd = split(string(_cmd), ' ');
|
||||
cout<<"PARTS: ";
|
||||
for (string c:cmd) {
|
||||
cout<<"'"<<c<<"' ";
|
||||
}
|
||||
cout<<endl;
|
||||
if (cmd.size() == 0)
|
||||
{
|
||||
cout<<"EMPTY!"<<endl;
|
||||
return;
|
||||
}
|
||||
scrap_log(0x00ff00,_cmd);
|
||||
scrap_log(0x00ff00,"\n");
|
||||
if (cmd[0] == "r")
|
||||
{
|
||||
if (cmd.size()!=2) {
|
||||
scrap_log(0xff0000, "Usage: $r <addr> [size]\n");
|
||||
return;
|
||||
}
|
||||
scrap_log(0xff0000, "READ!\n");
|
||||
cout<<"READ!"<<endl;
|
||||
}
|
||||
else if (cmd[0] == "w")
|
||||
{
|
||||
if (cmd.size()!=2) {
|
||||
scrap_log(0xff0000, "Usage: $w <addr> <hex_data>\n");
|
||||
return;
|
||||
}
|
||||
scrap_log(0xff0000, "WRITE!\n");
|
||||
cout<<"WRITE!"<<endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
scrap_log(0xff0000, "Unknown command!\n");
|
||||
}
|
||||
|
||||
scrap_log(0x00ff00, "HAXX\n");
|
||||
return;
|
||||
}
|
Loading…
Reference in a new issue