<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Arm64 on Security Notes</title>
    <link>https://blog.omiilgo.com/tags/arm64/</link>
    <description>Recent content in Arm64 on Security Notes</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 21 Mar 2025 13:00:00 +0800</lastBuildDate>
    <atom:link href="https://blog.omiilgo.com/tags/arm64/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Swift Mangling vs ObjC methname: Recovering Names After Strip</title>
      <link>https://blog.omiilgo.com/posts/ios-swift-vs-objc-name-recovery/</link>
      <pubDate>Fri, 21 Mar 2025 13:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/ios-swift-vs-objc-name-recovery/</guid>
      <description>Lab Swift class LabVault: $s… mangled names, xcrun swift demangle, nm before/after strip, the one @objc method that survives in __objc_methname. class-dump, lldb, ASAN. cryptid=1 stops the lab.</description>
    </item>
    <item>
      <title>NDK .so Session: readelf, llvm-objdump -d, JNI_OnLoad</title>
      <link>https://blog.omiilgo.com/posts/android-native-library-re-notes/</link>
      <pubDate>Sat, 04 Jan 2025 10:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/android-native-library-re-notes/</guid>
      <description>One lab APK, one arm64-v8a .so. file/readelf/llvm-objdump through JNI_OnLoad, Java_* exports, GetStringUTFChars, a 32-byte stack copy, tombstone and ASAN. Frida logs length and prefix only.</description>
    </item>
    <item>
      <title>Symbolicating a Lab Crash When UIKit Lives in the dyld Shared Cache</title>
      <link>https://blog.omiilgo.com/posts/ios-dyld-shared-cache-symbolication/</link>
      <pubDate>Mon, 19 Aug 2024 15:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/ios-dyld-shared-cache-symbolication/</guid>
      <description>Lab crash on a self-signed LabSession: dwarfdump -u, atos against the dSYM, why UIKit frames are not in nm of the app, crash report with [REDACTED] paths. No DSC extraction. cryptid=1 stops the lab.</description>
    </item>
    <item>
      <title>AIDL Lab Service: Parcel Layout and Native onTransact</title>
      <link>https://blog.omiilgo.com/posts/android-binder-parcel-reversing/</link>
      <pubDate>Fri, 16 Feb 2024 09:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/android-binder-parcel-reversing/</guid>
      <description>Self-built AIDL service com.lab.binder. dumpsys and logcat Binder, Parcel bytes for writeInterfaceToken + int + string, ARM64 BnEcho::onTransact. No privilege escalation.</description>
    </item>
    <item>
      <title>Frida: Java Wrapper vs JNI Interceptor on the Same Call</title>
      <link>https://blog.omiilgo.com/posts/android-frida-jni-trace-lab/</link>
      <pubDate>Mon, 04 Sep 2023 11:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/android-frida-jni-trace-lab/</guid>
      <description>Lab APK com.lab.jni.trace. Hook NativeBridge.nInit in Java.perform and the Java_* export with Interceptor.attach, then compare argument length and prefix. Console output redacted.</description>
    </item>
    <item>
      <title>Reversing objc_msgSend on a Self-Signed arm64 Mach-O</title>
      <link>https://blog.omiilgo.com/posts/ios-objc-msgsend-reversing/</link>
      <pubDate>Wed, 27 Oct 2021 16:40:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/ios-objc-msgsend-reversing/</guid>
      <description>otool load commands, class-dump selectors, lldb break on objc_msgSend, recover IMP for -[LabSession startWithToken:], redacted argument log. FairPlay-encrypted App Store bins are out of scope.</description>
    </item>
    <item>
      <title>Finding Hidden JNI Methods: RegisterNatives in a Lab APK</title>
      <link>https://blog.omiilgo.com/posts/android-jni-registernatives-lab/</link>
      <pubDate>Wed, 09 Jun 2021 14:10:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/android-jni-registernatives-lab/</guid>
      <description>APK where nm -D shows no Java_* exports. Walk JNI_OnLoad, recover the JNINativeMethod table, map Java names to ARM64 IMPs, Frida-trace the native with arguments redacted.</description>
    </item>
    <item>
      <title>Recovering a C&#43;&#43; Vtable From ARM64/x64 Disassembly</title>
      <link>https://blog.omiilgo.com/posts/cpp-vtable-recovery-from-disassembly/</link>
      <pubDate>Thu, 11 Mar 2021 10:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/cpp-vtable-recovery-from-disassembly/</guid>
      <description>Two-class toy hierarchy, virtual dtor plus two methods. objdump/readelf of the compiler vtable, ctor writing the vptr, virtual call through [x0,#16], gdb print of the slot.</description>
    </item>
    <item>
      <title>AArch64 Calling Convention, as Read in IDA</title>
      <link>https://blog.omiilgo.com/posts/arm64-calling-convention-for-reversers/</link>
      <pubDate>Mon, 03 Aug 2020 13:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/arm64-calling-convention-for-reversers/</guid>
      <description>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.</description>
    </item>
    <item>
      <title>ELF GOT/PLT Lazy Binding, Read From a PIE Lab Binary</title>
      <link>https://blog.omiilgo.com/posts/elf-got-plt-lazy-binding-lab/</link>
      <pubDate>Wed, 22 Apr 2020 11:20:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/elf-got-plt-lazy-binding-lab/</guid>
      <description>Lab walkthrough of lazy PLT binding on a PIE: readelf, objdump, GOT slot before/after the first call, Partial vs Full RELRO.</description>
    </item>
    <item>
      <title>Walking Mach-O Load Commands on a Self-Signed arm64 Lab Binary</title>
      <link>https://blog.omiilgo.com/posts/ios-macho-load-commands-lab/</link>
      <pubDate>Thu, 16 Jan 2020 11:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/ios-macho-load-commands-lab/</guid>
      <description>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.</description>
    </item>
    <item>
      <title>JNI_OnLoad vs Java_* Name Mangling on a Lab APK</title>
      <link>https://blog.omiilgo.com/posts/android-jni-onload-name-mangling/</link>
      <pubDate>Mon, 02 Dec 2019 10:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/android-jni-onload-name-mangling/</guid>
      <description>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.</description>
    </item>
  </channel>
</rss>
