29 lines
1.0 KiB
C
Raw Normal View History

2018-07-25 21:48:18 -07:00
#ifndef MISC_H
#define MISC_H
2018-08-22 12:24:55 -04:00
#include "qtcommon.h"
2018-08-24 12:50:20 -04:00
#include "types.h"
2018-08-24 14:24:46 -04:00
#include <optional>
2018-07-25 21:48:18 -07:00
2018-07-26 22:42:21 -07:00
QString GetFullModuleName(DWORD processId, HMODULE module = NULL);
2018-07-25 21:48:18 -07:00
QString GetModuleName(DWORD processId, HMODULE module = NULL);
2018-08-20 14:30:50 -04:00
std::unordered_map<std::wstring, DWORD> GetAllProcesses();
2018-08-24 14:24:46 -04:00
std::optional<HookParam> ParseCode(QString HCode);
2018-08-04 18:01:59 -04:00
QString GenerateCode(HookParam hp, DWORD processId);
2018-07-25 21:48:18 -07:00
2018-08-04 18:01:59 -04:00
static QString CodeInfoDump =
"Enter hook code\r\n\
/H{A|B|W|S|Q|V}[N]data_offset[*deref_offset1][:split_offset[*deref_offset2]]@addr[:module]\r\n\
OR\r\n\
Enter read code\r\n\
/R{S|Q|V}string_gap@addr\r\n\
2018-08-03 02:32:05 -04:00
All numbers in hexadecimal\r\n\
2018-08-04 18:29:43 -04:00
Use 0 for string_gap if string is in same location every time\r\n\
2018-08-03 02:32:05 -04:00
A/B: Shift-JIS char little/big endian\r\n\
W: UTF-16 char\r\n\
S/Q/V: Shift-JIS/UTF-16/UTF-8 string\r\n\
Negatives for data_offset/sub_offset refer to registers\r\n\
-4 for EAX, -8 for ECX, -C for EDX, -10 for EBX, -14 for ESP, -18 for EBP, -1C for ESI, -20 for EDI\r\n\
2018-08-04 18:29:43 -04:00
* means dereference pointer+deref_offset";
2018-07-25 21:48:18 -07:00
#endif // MISC_H