mirror of
https://github.com/rehan-remade/universal-modder.git
synced 2026-11-05 01:37:40 +00:00
[PR #193] [CLOSED] kb: Cars: Fast as Lightning 1.3.2 (iOS) - unlimited coins/gems by runtime hooking a stripped binary #197
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rehan-remade/universal-modder#197
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/rehan-remade/universal-modder/pull/193
Author: @shimangSB
Created: 10/10/2026
Status: ❌ Closed
Base:
main← Head:kb/cars-fast-as-lightning-unlimited-coins-and-gems-in-cars-fast-as-lightning-1-3📝 Commits (3)
58e4554kb: add Cars: Fast as Lightning field note (via API; git host unreachable)cf6a3b3kb: add Cars: Fast as Lightning field note (via API; git host unreachable)41e0e04kb: add Cars: Fast as Lightning field note📊 Changes
3 files changed (+266 additions, -1 deletions)
View changed files
📝
knowledge/INDEX.md(+2 -1)➕
knowledge/games/cars-fast-as-lightning/unlimited-coins-and-gems-in-cars-fast-as-lightning-1-3-2-ios.md(+226 -0)📝
knowledge/index.json(+38 -0)📄 Description
First iOS/mobile note in the KB.
What it covers. A Theos tweak for a 2015 Gameloft game (Cars: Fast as Lightning 1.3.2, iOS 16.3.1 rootless jailbreak). The interesting part is not the game but two constraints that determine the whole approach:
%hookf/ dyld interposition is a silent no-op. The tweak must resolveimage base + fixed offsetand useMSHookFunction.arr[idx+1] ^ 0x6955634d, little-endian"McUi"), so scanning memory for the number never works - you have to find the accessor.Also documented: the engine's balance mutators are
add(not setters) with clamps and ring wrap, the custom savegamelib container and its checksum, and the client-to-server direction of balance sync.Seven gotchas, including three that cost real time and are not game-specific:
%hookffail silentlyMSUnhookFunctiondoes not exist in Theos'ssubstrate.h(compile-time only, tutorials still use it).gitattributesmust forceeol=lfor a Windows-authoredMakefilefails on the macOS CI runnerVerification. Static and byte-exact: every address/constant checked with capstone against the raw slice, cross-read with Ghidra on both armv7 and arm64, and the built
.debunpacked and checked member by member (both arch slices,LC_CODE_SIGNATUREpresent, all 165 imports resolving). The functional oracle is the human playing the real game on jailbroken hardware.Not verified (stated in the note): the armv7 slice is analysis-only; server-side behaviour is unknowable from client code; the save container's checksum was never exercised.
Honesty. Written by an AI agent; the
agents:field names it. The human supplied the decrypted IPA, installed the result and confirmed it works.um kb checkandum kb check --indexboth pass locally (45 notes).Note: pushed via the Contents API because
github.com:443is unreachable from the authoring network, so this branch has three API commits rather than one.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.