You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -455,13 +455,13 @@ In addition, Ghidra should correctly decompile the switch statements. (There are
455
455
456
456
The disassembly and decompilation is not without its blind spots. First, all context of imported library functions is lost; the references appear only as their raw file addresses without labels. Second, because we also lose the stack and heap, the values of obfuscated call styles (calling registers or memory offsets) is also lost.
457
457
458
-
An interesting obfuscation technique involves the use of a custom syscall wrapper. This is always located at `$t0+0x5446`. You can set a breakpoint prior to the main program's execution for analysis:
458
+
An interesting obfuscation technique involves the use of a custom syscall wrapper. This is always located at `$t0+0x40000+0x5446`. You can set a breakpoint prior to the main program's execution for analysis:
459
459
460
460
```
461
461
bu Project3+0x1a2c "bu $t0+0x00040000+0x5446; g"
462
462
```
463
463
464
-
I chose to break at `0x1a2c` because that's the call site of the injected code.
464
+
Again, I chose to break at `0x1a2c` because that's the call site of the injected code.
465
465
466
466
The call site uses its own custom logic to make syscalls directly instead of using the higher-level function wrappers.
0 commit comments