Add success splash on load, add list functionality, update bins
git-svn-id: file:///home/svn/framework3/trunk@6085 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
fa334604b9
commit
45fb3c4a82
Binary file not shown.
Binary file not shown.
|
@ -13,8 +13,6 @@ WINDBG_EXTENSION_APIS ExtensionApis;
|
|||
ULONG TargetMachine;
|
||||
BOOL Connected;
|
||||
|
||||
extern struct trackedBuf *trackedBufList;
|
||||
|
||||
// Queries for all debugger interfaces.
|
||||
extern "C" HRESULT
|
||||
ExtQuery(PDEBUG_CLIENT4 Client)
|
||||
|
@ -130,13 +128,12 @@ DebugExtensionInitialize(PULONG Version, PULONG Flags)
|
|||
DebugControl->Release();
|
||||
|
||||
}
|
||||
DebugClient->Release();
|
||||
|
||||
trackedBufList = NULL;
|
||||
dprintf("[Byakugan] Successfully loaded!\n");
|
||||
DebugClient->Release();
|
||||
|
||||
|
||||
|
||||
return Hr;
|
||||
return (Hr);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -119,7 +119,13 @@ HRESULT CALLBACK jutsu(PDEBUG_CLIENT4 Client, PCSTR args) {
|
|||
bufName = strtok(NULL, " ");
|
||||
bufSize = strtok(NULL, " ");
|
||||
bufPatt = strtok(NULL, " ");
|
||||
trackValJutsu(bufName, strtoul(bufSize, NULL, 10), strtoul(bufPatt, NULL, 0x10));
|
||||
|
||||
if (bufName == NULL) {
|
||||
listTrackedVals();
|
||||
} else if (bufSize == NULL) {
|
||||
listTrackedValByName(bufName);
|
||||
} else
|
||||
trackValJutsu(bufName, strtoul(bufSize, NULL, 10), strtoul(bufPatt, NULL, 0x10));
|
||||
}
|
||||
if (!_stricmp(command, "searchOpcode")) {
|
||||
char *instructions;
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -34,6 +34,57 @@ void helpJutsu(void) {
|
|||
return;
|
||||
}
|
||||
|
||||
void listTrackedVals() {
|
||||
struct trackedVal *newTrackedVal;
|
||||
|
||||
if (trackedValList == NULL) {
|
||||
dprintf("[J] Currently tracking no primitive values.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
dprintf("[J] Currently tracking:\n");
|
||||
|
||||
newTrackedVal = trackedValList;
|
||||
while (newTrackedVal != NULL) {
|
||||
dprintf("\tName: %s\t\tSize: %d\tCandidates: %d\n",
|
||||
newTrackedVal->valName, newTrackedVal->valSize, newTrackedVal->candidates);
|
||||
newTrackedVal = newTrackedVal->next;
|
||||
}
|
||||
}
|
||||
|
||||
void listTrackedValByName(char *name) {
|
||||
struct trackedVal *newTrackedVal;
|
||||
struct valInstance *curr;
|
||||
|
||||
newTrackedVal = trackedValList;
|
||||
if (newTrackedVal == NULL) goto nada;
|
||||
|
||||
while (newTrackedVal != NULL) {
|
||||
if (!_stricmp(newTrackedVal->valName, name))
|
||||
break;
|
||||
newTrackedVal = newTrackedVal->next;
|
||||
}
|
||||
|
||||
if (newTrackedVal) {
|
||||
|
||||
curr = newTrackedVal->instances;
|
||||
|
||||
if (curr != NULL)
|
||||
dprintf("[J] Currently tracking %d candidates for %s:\n",
|
||||
newTrackedVal->candidates, newTrackedVal->valName);
|
||||
else
|
||||
goto nada;
|
||||
|
||||
while (curr != NULL) {
|
||||
dprintf("\tAddress: 0x%08x\n", curr->address);
|
||||
curr = curr->next;
|
||||
}
|
||||
return;
|
||||
}
|
||||
nada:
|
||||
dprintf("[J] No candidates are being tracked for %s.\n", name);
|
||||
}
|
||||
|
||||
void trackValJutsu(char *name, DWORD size, DWORD value) {
|
||||
struct trackedVal *newTrackedVal, *parent = NULL;
|
||||
struct valInstance *last, *curr;
|
||||
|
@ -102,10 +153,6 @@ void trackValJutsu(char *name, DWORD size, DWORD value) {
|
|||
return;
|
||||
}
|
||||
|
||||
void listTrackedVals() {
|
||||
}
|
||||
|
||||
|
||||
void bindJutsu(char *bindPort) {
|
||||
HANDLE hThread;
|
||||
DWORD dwThreadId;
|
||||
|
|
|
@ -84,6 +84,8 @@ void showRequestsJutsu(void);
|
|||
void hunterJutsu(void);
|
||||
void returnAddressHuntJutsu(void);
|
||||
void trackValJutsu(char *name, DWORD size, DWORD value);
|
||||
void listTrackedVals(void);
|
||||
void listTrackedValByName(char *name);
|
||||
ULONG64 allocateMemoryBlock(unsigned long);
|
||||
ULONG64 searchMemory(unsigned char * byteBuffer, unsigned long length);
|
||||
DWORD findAllVals(unsigned char *byteBuffer, BYTE size, struct valInstance **instance);
|
||||
|
|
Loading…
Reference in New Issue