RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Tue Dec 23, 2025 7:22 am

All times are UTC - 5 hours [ DST ]





Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: Hacking BTSSM to add support for any ECU + Add DimeMod field
PostPosted: Sat Nov 29, 2025 12:24 am 
Offline
Newbie

Joined: Wed Feb 19, 2025 11:38 pm
Posts: 1
I am using BTSSM as an access port replacement for my 2019 STI, of course this ECU is not supported so you have missing fields, knock detection doesn't work, etc.

The developer is MIA, the app isn’t open-source, and there was basically no way to add new ECU IDs. I tried to reach out to the developer to offer my assistance in updating the app, never heard back... so I ended up reverse-engineering the APK myself.

Good news: it is possible to add new ECU IDs and field definitions.

I put together a video showing exactly how I got it working on YouTube. Make sure to check the comments as well!

Steps:

1. download APK tool: Apktool
2. Install APK tool: Install Guide | Apktool
3. install android command line tools
3a. https://developer.android.com/studio | command line tools at the bottom
3b. extract the tools to a location
3c. add the tools to your PATH
4. decompile BTSSM: apktool d btssm-20250101.apk -o btssm-decompiled
5. Identify your ecu:
this will be in your ece definition xml
6. Identify the last character of your ecu id
example: AE5T201V = V
7. open the corresponding ecu{char}.enc file from \btssm-decompiled\assets\ecu{char}.enc
8. decode the encoded file using a base64 decoder
example: https://www.base64decode.org/ (check decode each line separately.)
9. add lines for your ecu
example: copy the definition closest to yours, and then go line by line replacing it with your information
10. open ecuindex.enc, decode the base64, and add a line for your ecu \btssm-decompiled\assets\ecuindex.enc
example: AE5T201V|I|A62A907107|USDM;16;IMPREZA;STI;MT;3395;0.36;2.5
11. re-encode ecuindex.enc as base64 and save it
12. re-encode your ecu{char}.enc as base64 and save it
13. if you added any new permanent fields to ecu{char}.enc, you need to add their IDs to gauges.txt
example: DMSDVEB|0|150|11|10|
14. generate a key using keytool
example: keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000
15. build the apk with the changes using apktool
example: apktool b btssm-decompiled -o btssm-new.apk
16. zipalign the apk
example: zipalign -v 4 btssm-new.apk btssm-modified-aligned.apk
17. sign the apk using apksigner and your keystore
example: apksigner sign --ks debug.keystore --ks-key-alias androiddebugkey --ks-pass pass:123456 btssm-modified-aligned.apk
18. backup your existing BTSSM settings
19. uninstall existing BTSSM
20. install your modified version and enjoy


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl