Files
Daniel Elliott d144aec853 Add decompiled reference source files
- Key Java files showing custom server implementation
- Original AndroidManifest.xml for reference
- SynergyEnvironmentImpl.java - Custom server configuration
- HttpRequest.java - HTTP implementation details
- Documentation explaining each file's purpose

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 22:06:36 -08:00
..
2026-02-17 22:06:36 -08:00

Decompiled Reference Files

This directory contains reference files decompiled from Real Racing 3 APK using JADX. These files are included for:

  • 📚 Educational purposes - Understanding how the game communicates with servers
  • 🔍 Reference documentation - See how custom server support is implemented
  • 🛠️ Modification guidance - Know exactly what files to modify

These files are decompiled from the original Real Racing 3 APK and are:

  • © Electronic Arts Inc. - All rights reserved
  • Included for educational and preservation purposes only
  • NOT to be used for commercial purposes
  • NOT to be redistributed outside this private repository

📁 Directory Structure

decompiled-reference/
├── com/
│   ├── ea/
│   │   └── nimble/
│   │       ├── SynergyEnvironmentImpl.java  - Custom server configuration
│   │       └── SynergyRequest.java          - HTTP request handling
│   └── firemonkeys/
│       └── cloudcellapi/
│           └── HttpRequest.java             - Low-level HTTP implementation
└── resources/
    └── AndroidManifest.xml                   - App manifest (original)

🔑 Key Files Explained

SynergyEnvironmentImpl.java

Location: Lines 166-183 contain the custom server implementation

This file contains the NimbleConfiguration enum and shows how RR3 reads the custom server URL:

public String getSynergyDirectorServerUrl() {
    switch (this.m_configuration) {
        case CUSTOMIZED:
            // 🎯 This is what we're using!
            return ComponentManager.getComponent(ApplicationEnvironment.class)
                   .getApplicationInfo()
                   .metaData
                   .getString("NimbleCustomizedSynergyServerEndpointUrl");
        case LIVE:
            return "https://api.firemonkeys.ea.com/";
        // ... other cases
    }
}

HttpRequest.java

Shows how the game makes HTTP requests, including:

  • JNI callbacks for response streaming
  • Custom SSL certificate validation
  • Header management (EAM-SESSION, EAM-USER-ID, etc.)

AndroidManifest.xml

Original manifest showing:

  • Current configuration: com.ea.nimble.configuration = "live"
  • Package name: com.ea.game.realracing3_row
  • Permissions and activities
  • This is the file we modify to point to community servers

🎓 How to Use These Files

For Understanding

Read these files to understand:

  1. How RR3 determines which server to connect to
  2. What headers are required for API calls
  3. How authentication and sessions work
  4. SSL/certificate validation implementation

For Modification Reference

When modifying APKs:

  1. Check SynergyEnvironmentImpl.java to see expected metadata keys
  2. Review AndroidManifest.xml to see original configuration
  3. Reference HttpRequest.java to understand HTTP implementation

For Server Development

Use these files to:

  • Understand expected API behavior
  • See what headers the client sends
  • Know how SSL is validated
  • Implement compatible server responses

🔍 Decompilation Details

Tool Used: JADX (Java Decompiler)

  • Version: JADX 1.4.7+
  • Command: jadx realracing3.apk -d decompiled/
  • Source: Real Racing 3 v14.0.1

Quality: These files are decompiled from Dalvik bytecode:

  • Structure is accurate
  • Logic flow is correct
  • ⚠️ Variable names may be obfuscated
  • ⚠️ Some comments are from decompiler

For complete analysis of the protocol, see:

For modification instructions, see:

🚫 What's NOT Included

We do NOT include:

  • Full game source code (too large, unnecessary)
  • Game assets (textures, models, sounds)
  • Native libraries (.so files)
  • Compiled APK files
  • Obfuscated/minified classes

Only the essential files needed to understand custom server support are included.

📝 Attribution

Original Software: Real Racing 3 Developer: Firemonkeys Studios / Electronic Arts Decompilation: For educational research and game preservation


These files are provided for educational purposes under fair use for interoperability and preservation research.