Educational Security Research — App Spying Detection Framework
- ✅ Use to understand how apps spy on you
- ✅ Use to detect if your apps are doing this
- ✅ Use for interview/learning purposes
- ❌ DO NOT use to build actual spyware
- ❌ DO NOT use to spy on users without consent
Vietnamese banking apps (BIDV, Agribank) use private iOS APIs to detect:
- Which other banking apps you have installed
- If you use competing payment systems (PayPal, Crypto, etc.)
- If your phone is jailbroken
- Your complete app inventory
Private API: SBSLaunchApplicationWithIdentifier()
Obfuscation: XOR encryption of bundle IDs
Detection: Error codes reveal app presence
BIDV app detects you have PayPal installed
→ Sets your fraud risk score higher
→ Restricts transactions or charges you more
→ All without your knowledge/consent
- AppDetectionFramework.swift — Concept code showing how the spying works
- StringObfuscation.swift — XOR encryption technique (how BIDV hides it)
- DefensiveDetection.swift — How to detect if YOUR app is being spied on
- AnalysisTools.py — Reverse engineering tools to find this in binaries
- Interview_Talking_Points.md — What to say about this in interviews
1. Read AppDetectionFramework.swift
2. Understand the private API call
3. See how XOR obfuscation works
4. Learn how to detect it defensively"I found that Vietnamese banking apps use private APIs to detect
competing apps. They obfuscate with XOR encryption. Here's how
it works and how to detect it..."
1. Run AnalysisTools.py on suspicious apps
2. Check network traffic for app lists
3. Review entitlements
4. Detect if you're being spied on- ✅ All 50+ apps you have installed
- ✅ Which payment systems you use
- ✅ If you're using competitors
- ✅ If you're jailbroken/using VPN
- ✅ Your complete financial behavior profile
- 🚨 Discrimination based on app usage
- 🚨 Data sold to marketing companies
- 🚨 Risk profiles used against you
- 🚨 No user consent
- VeriChain Analysis - BIDV/Agribank Private API Abuse (March 2025)
- iRiS: Vetting Private API Abuse in iOS Applications
This project is provided for educational purposes only.
Authors are NOT responsible for:
- Misuse of this code to spy on actual users
- Any legal consequences from using this
- Damage to apps/devices from testing
- Privacy violations or unauthorized access
By using this code, you agree:
- ✅ To use only on your own devices
- ✅ To respect others' privacy
- ✅ To understand the legal implications
- ✅ That this is for learning, not malice
Created for iOS Security Research & Interview Preparation