AArch64 Calling Convention, as Read in IDA

AAPCS64 as it shows up in IDA: x0–x7, x29/x30, 16-byte SP, PACIBSP. Toy function with nine integer args so the ninth is on the stack. objdump of prologue and epilogue.

August 3, 2020 · 9 min · 1822 words · Jose Adalberto Gutierrez Ochoa

ELF GOT/PLT Lazy Binding, Read From a PIE Lab Binary

Lab walkthrough of lazy PLT binding on a PIE: readelf, objdump, GOT slot before/after the first call, Partial vs Full RELRO.

April 22, 2020 · 4 min · 833 words · Jose Adalberto Gutierrez Ochoa

Walking Mach-O Load Commands on a Self-Signed arm64 Lab Binary

Full otool -l walk of a self-signed LabSession: mach_header_64, LC_SEGMENT_64 __TEXT/__DATA, LC_LOAD_DYLIB, LC_CODE_SIGNATURE, LC_ENCRYPTION_INFO_64 cryptid=0. size -x, nm, class-dump, lldb. cryptid=1 stops the lab.

January 16, 2020 · 7 min · 1387 words · Jose Adalberto Gutierrez Ochoa

JNI_OnLoad vs Java_* Name Mangling on a Lab APK

Self-built APK where javah-style Java_com_lab_onload_Bridge_* exports sit next to a RegisterNatives table. readelf -s, ARM64 JNIEnv GetObjectClass, crash on an unbounded UTF copy.

December 2, 2019 · 7 min · 1353 words · Jose Adalberto Gutierrez Ochoa