Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/external/source/byakugan/jutsu.h
Views: 11766
#define DEFAULT_BUFLEN 20961#define DEFAULT_PORT "1911"23// Request Types4#define EXECUTE 0x05#define GO 0x16#define BREAK 0x27#define RESTART 0x38#define ADDBUF 0x4910// Corruption Types11#define CLEAN 0x012#define TOUPPER 0x113#define TOLOWER 0x214#define TOUNICODE 0x315#define NONSTD 0x416#define TRUNCATED 0x51718struct debugState {19ULONG currentState;20};2122struct requestQueue {23ULONG length;24struct request *head;25};2627struct request {28USHORT type;29USHORT length;30BYTE *data;3132struct request *next;33};3435struct requestHeader {36USHORT type;37USHORT length;38};3940struct trackedBuf {41char *bufName;42char *bufPatt;43DWORD bufSize;44USHORT found;4546struct bufInstance *instances;47struct trackedBuf *next;48struct trackedBuf *prev;49};5051struct bufInstance {52ULONG64 address;53USHORT corruption;54ULONG truncLength;5556struct bufInstance *next;57};5859struct trackedVal {60char *valName;61BYTE valSize;62ULONG candidates;6364struct valInstance *instances;65struct trackedVal *next;66};6768struct valInstance {69ULONG64 address;7071struct valInstance *next;72};7374struct corruption {75DWORD offset;76BYTE value;77BOOL seenAgain;78BOOL seenBefore;79};808182void helpJutsu(void);83void bindJutsu(char *);84void searchOpcodes(char *);85void searchVtptr(DWORD, char *);86DWORD WINAPI listenJutsu(LPVOID lpvParam);87void parseJutsu(char *, ULONG);88void identBufJutsu(char *, char *, char *, DWORD, DWORD);89void rmBufJutsu(char *);90void listTrackedBufJutsu(void);91void showRequestsJutsu(void);92void hunterJutsu(void);93void returnAddressHuntJutsu(void);94void trackValJutsu(char *name, DWORD size, DWORD value);95void listTrackedVals(void);96void listTrackedValByName(char *name);97ULONG64 allocateMemoryBlock(unsigned long);98ULONG64 searchMemory(unsigned char * byteBuffer, unsigned long length, ULONG64 *addressHit);99DWORD findAllVals(unsigned char *byteBuffer, BYTE size, struct valInstance **instance);100void memDiffJutsu(char *inputType, DWORD size, char *input, ULONG64 address);101102// Handlers103void executeJutsu(struct request *);104void goJutsu(struct request *);105void breakJutsu(struct request *);106void restartJutsu(struct request *);107void addbufJutsu(struct request *);108109110