Merge pull request #59 from Mewtality/master

Added new code types and bug fixes
This commit is contained in:
BullyWiiPlaza 2024-03-27 11:22:26 +01:00 committed by GitHub
commit 14a3dcc2b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 2324 additions and 2311 deletions

View File

@ -3,7 +3,7 @@
<app> <app>
<name>TCP Gecko</name> <name>TCP Gecko</name>
<coder>BullyWiiPlaza, wj44, dimok, Chadderz, Marionumber1</coder> <coder>BullyWiiPlaza, wj44, dimok, Chadderz, Marionumber1</coder>
<version>2.52</version> <version>2.53</version>
<short_description>WiiU RAM Hacking</short_description> <short_description>WiiU RAM Hacking</short_description>
<long_description>A memory editor that does magical things to your games. In order to develop and apply real-time cheats use JGecko U. <long_description>A memory editor that does magical things to your games. In order to develop and apply real-time cheats use JGecko U.

File diff suppressed because it is too large Load Diff

View File

@ -20,12 +20,25 @@ void persistAssembly(unsigned char buffer[], unsigned int size) {
void executeAssembly() { void executeAssembly() {
int startAddress = getStartAddress(); int startAddress = getStartAddress();
log_printf("[Execute assembly] Start address: %i\n", startAddress); log_printf("[Execute assembly] Start address: %i\n", startAddress);
int startAddressInstruction = *(int*)startAddress;
if (startAddressInstruction != 0) {
void (*function)() = (void (*)()) startAddress; void (*function)() = (void (*)()) startAddress;
function(); function();
log_print("[Execute assembly] Executed!\n"); log_print("[Execute assembly] Executed!\n");
}
} }
void clearAssembly() { void clearAssembly() {
log_printf("[Clear assembly] Assembly size: %i\n", assemblySize);
unsigned char buffer[assemblySize];
log_print("[Clear assembly] Buffer allocated\n");
memset((void *) buffer, 0, assemblySize);
log_print("[Clear assembly] Memory set\n");
int startAddress = getStartAddress();
log_printf("[Clear assembly] Start address: %i\n", startAddress);
kernelCopyData((unsigned char *) startAddress, buffer, assemblySize);
log_print("[Clear assembly] Kernel copy done\n");
assemblySize = 0; assemblySize = 0;
log_print("[Clear assembly] Assembly size 0\n"); log_print("[Clear assembly] Assembly size 0\n");
} }

Binary file not shown.