<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>@Pilfer</title><link>https://pilfer.github.io/</link><description>Recent content on @Pilfer</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 16 Oct 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://pilfer.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Heresy - Inspect and Instrument React Native Apps</title><link>https://pilfer.github.io/mobile-reverse-engineering/react-native/heresy-inspect-and-instrument-react-native-apps/</link><pubDate>Wed, 16 Oct 2024 00:00:00 +0000</pubDate><guid>https://pilfer.github.io/mobile-reverse-engineering/react-native/heresy-inspect-and-instrument-react-native-apps/</guid><description>Heresy I made a neat little tool called heresy, which hooks the JavaScript and Hermes Bundle loader in React Native apps and allows you to inject your own JavaScript into the Hermes engine&amp;rsquo;s global context.
This is essentially the same as injecting a JavaScript snippet into a web page with GreaseMonkey or similar. This is especially useful if you don&amp;rsquo;t feel like digging through the Hermes bytecode.
Potential Use Cases Inspecting HTTP or WebSocket traffic between a React Native application and a remote host Modifying the UI at runtime Inspecting and modifying application state Finding which specific Hermes functions are being called when a button is pressed High-Level Architecture The RPC Server only really exists as a way to provide a REPL from the main app to the Hermes runtime, but you can modify it as-needed to support your needs.</description></item><item><title>Reverse Engineering and Instrumenting React Native Apps</title><link>https://pilfer.github.io/mobile-reverse-engineering/react-native/reverse-engineering-and-instrumenting-react-native-apps/</link><pubDate>Fri, 04 Oct 2024 13:00:00 +0000</pubDate><guid>https://pilfer.github.io/mobile-reverse-engineering/react-native/reverse-engineering-and-instrumenting-react-native-apps/</guid><description>Update: Use Bytecode Studio
I&amp;rsquo;ve launched Bytecode Studio - a comprehensive tool built for reverse engineering, analyzing, disassembling, and decompiling React Native applications and Hermes binaries.
Table of Contents
What is React Native? Tooling Landscape Bytecode Studio - Hermes disassembler, decompiler, and all-in-one Reverse Engineering tool Mine: hermes_rs - Hermes disassembler and assembler Mine: heresy - Hermes Engine instrumentation utility Official Hermes Resources Third Party: hermes-dec Third Party: hbctool Third Party: hasmer Injecting JavaScript into the React Native Global Context Intercepting React Native HTTP Traffic What about JSON.</description></item><item><title>Sneaky Javascript - Anonymous Function Abuse</title><link>https://pilfer.github.io/sneaky-javascript/anonymous-functions/</link><pubDate>Mon, 29 Aug 2022 13:01:10 -0400</pubDate><guid>https://pilfer.github.io/sneaky-javascript/anonymous-functions/</guid><description>Preface I find myself muttering &amp;ldquo;Hmm&amp;hellip;I wonder if this will work&amp;hellip;&amp;rdquo; under my breath a lot, usually as an excuse to distract myself from whatever task I&amp;rsquo;m supposed to be working on. On a good day I&amp;rsquo;m able to stifle the urge to pull on whichever thread has stolen my attention, but this was not one of those days.
The musing caught me shortly after I finished writing an anonymous function declaration in a Javascript codebase I was working on.</description></item><item><title>About</title><link>https://pilfer.github.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pilfer.github.io/about/</guid><description>I&amp;rsquo;m a software engineer who enjoys:
Security stuff Reversing mobile apps Building tooling for weird stuff Automating the un-automatable My github has some neat things on it.</description></item></channel></rss>