uConnect 15.26.1 is buggy; I want to downgrade. - Page 19 - Jeep Garage - Jeep Forum

Go Back   Jeep Garage - Jeep Forum > Jeep Platform Discussion > Grand Cherokee - WK2 - > Audio/Visual/Navigation

Reply
 
Thread Tools Display Modes
 
  #217  
Old 06-11-2016, 11:20 AM
Premium Member
 
Join Date: Jun 2016
Posts: 9
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 363
Cag340 is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

Hi, I'm trying to get my MY15_RA3_16_16_13 to support non-English fonts in media and contact list, looks like these are what I need based on what I see so far, listing them out for reality check:

1. Flash the recall rom into my 15 Grand Cherokee
2. Gain root access through what's documented in the whitepaper
3. Find out where the fonts are stored, hopefully not in a readonly place?
4. Copy over new fonts

Is this correct?

Reply With Quote
Sponsored Links
Advertisement
 
  #218  
Old 06-11-2016, 12:13 PM
Member
 
Join Date: Feb 2016
Posts: 21
Thanks: 0
Thanked 4 Times in 4 Posts
Rep Power: 482
vecais_dumais_laacis is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

user interface is made in flash - you'll need to decompile some swf files and replace font with your own - then update swf back

probably these ones

HelveticaNeueLTStd-Roman.swf
MHeiM.swf
NimbusSanL-Regu.swf
UbuntuRegular.swf

in /fs/mmc0/app/share/hmi/skins/default/themeSwfs/fontSwfs/
Reply With Quote
  #219  
Old 06-11-2016, 01:55 PM
Premium Member
 
Join Date: Jun 2016
Posts: 9
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 363
Cag340 is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

I'll take a look and see if the files and structure is still the same on this one. It's interesting because mHeim is supposed to be Chinese font. Could it be that the system only loads certain font under the English language setting?

It will be interesting to see if it's possible to enable other languages that seem to be present here as well, so to avoid renaming / replacing font files.
Reply With Quote
Sponsored Links
Advertisement
 
  #220  
Old 06-11-2016, 02:13 PM
Member
 
Join Date: Feb 2016
Posts: 21
Thanks: 0
Thanked 4 Times in 4 Posts
Rep Power: 482
vecais_dumais_laacis is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

for languages look under /fs/mmc0/app/share/hmi/textarchive/
there are xmls for multiple languages

font switching code from main.swf

Quote:
if (Global.region == TunerRegion.CHINA)
{
this.mCurrentFontSWFFileName = "MHeiM.swf";
}
else if (Global.market == TunerRegion.JAPAN)
{
this.mCurrentFontSWFFileName = "HangulGothic.swf";
}
else if (Global.market == TunerRegion.KOREA)
{
this.mCurrentFontSWFFileName = "HeiseiKaku.swf";
}
else if (this.mLoadedThemeSWF.hasOwnProperty( "fontSWFFileName"))
{
this.mCurrentFontSWFFileName = this.mLoadedThemeSWF.fontSWFFileName;
}
else
{
this.mCurrentFontSWFFileName = null;
}
Reply With Quote
  #221  
Old 06-11-2016, 03:07 PM
Premium Member
 
Join Date: Jun 2016
Posts: 9
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 363
Cag340 is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

Great find! Thanks! I have never dealt with Flash before, and it's interesting to see this technology still here, given this is 2016.

Wondering what's controlling which languages show up in the menu as well, probably a different SWF for the settings pane?
Reply With Quote
  #222  
Old 06-12-2016, 01:03 AM
Member
 
Join Date: Feb 2016
Posts: 21
Thanks: 0
Thanked 4 Times in 4 Posts
Rep Power: 482
vecais_dumais_laacis is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

SettingsLanguageScreen.swf
Quote:
for each (_loc_2 in Peripheral.localeEngine.locales)
{

contents.push({label:_loc_2.name, id:_loc_2.id});
}
MainSupplement.swf
Quote:
private static const languageIDToXMLIDTable:Object = {de_DE:2, en_US:3, fr_CA:4, fr_FR:5, it_IT:6, es_MX:7, es_ES:8, ja_JP:9, pt_PT:10, nl_NL:11, en_GB:12, zh_CN:13, ru_RU:14, ko_KR:15, pt_BR:16, pl_PL:17, tr_TR:18, ar_AE:19};
private static const languageIDToTextTable:Object = {de_DE:"Deutsch", en_US:"English", fr_CA:"Français", fr_FR:"Français", it_IT:"Italiano", es_MX:"Español", es_ES:"Español", ja_JP:"日本の", pt_PT:"Português", nl_NL:"Nederlands", en_GB:"English", zh_CN:"普通话", ru_RU:"Русский", ko_KR:"한국의", pt_BR:"Brasileiro", pl_PL:"Polski", tr_TR:"Türk", ar_AE:"Arabic (Navigation Only)"};
Quote:
switch(Peripheral.vehConfig.variantMarket)
{
case "ROW":
{
this.mLocales.push(new Locale("ar_AE", languageIDToTextTable["ar_AE"]));
}
case "ECE":
{
this.mLocales.push(new Locale("it_IT", languageIDToTextTable["it_IT"]));
this.mLocales.push(new Locale("fr_FR", languageIDToTextTable["fr_FR"]));
this.mLocales.push(new Locale("en_GB", languageIDToTextTable["en_GB"]));
this.mLocales.push(new Locale("es_ES", languageIDToTextTable["es_ES"]));
this.mLocales.push(new Locale("pt_PT", languageIDToTextTable["pt_PT"]));
this.mLocales.push(new Locale("de_DE", languageIDToTextTable["de_DE"]));
this.mLocales.push(new Locale("nl_NL", languageIDToTextTable["nl_NL"]));
this.mLocales.push(new Locale("pt_BR", languageIDToTextTable["pt_BR"]));
this.mLocales.push(new Locale("pl_PL", languageIDToTextTable["pl_PL"]));
this.mLocales.push(new Locale("tr_TR", languageIDToTextTable["tr_TR"]));
this.mLocales.push(new Locale("ru_RU", languageIDToTextTable["ru_RU"]));
break;
}
case "NA":
{
this.mLocales.push(new Locale("en_US", languageIDToTextTable["en_US"]));
this.mLocales.push(new Locale("es_MX", languageIDToTextTable["es_MX"]));
this.mLocales.push(new Locale("fr_CA", languageIDToTextTable["fr_CA"]));
break;
}
case "JP":
{
this.mLocales.push(new Locale("en_US", languageIDToTextTable["en_US"]));
this.mLocales.push(new Locale("ja_JP", languageIDToTextTable["ja_JP"]));
break;
}
case "AU":
{
this.mLocales.push(new Locale("en_GB", languageIDToTextTable["en_GB"]));
this.mLocales.push(new Locale("fr_FR", languageIDToTextTable["fr_FR"]));
break;
}
case "SA":
{
this.mLocales.push(new Locale("en_GB", languageIDToTextTable["en_GB"]));
this.mLocales.push(new Locale("es_ES", languageIDToTextTable["es_ES"]));
break;
}
case "KR":
{
this.mLocales.push(new Locale("en_US", languageIDToTextTable["en_US"]));
this.mLocales.push(new Locale("ko_KR", languageIDToTextTable["ko_KR"]));
break;
}
case "CH":
{
this.mLocales.push(new Locale("en_US", languageIDToTextTable["en_US"]));
this.mLocales.push(new Locale("zh_CN", languageIDToTextTable["zh_CN"]));
break;
}
default:
{
break;
}
note: you should be very careful when modifying swfs - they run also interface for updating software - putting head unit in update state
Reply With Quote
  #223  
Old 06-12-2016, 01:42 PM
Premium Member
 
Join Date: Jun 2016
Posts: 9
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 363
Cag340 is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

Thanks!

I'm looking into patching MY15_RA3_16_16_13, wondering how did you figure out the start_pos and write_pos in the script (http://pastebin.com/7ZW4Dvis)?

The ISO is here: https://mega.nz/#!1IB3AC7S!ns9og3HSs...ZxENLeWokWK9FA
Reply With Quote
  #224  
Old 06-12-2016, 03:15 PM
Member
 
Join Date: Feb 2016
Posts: 21
Thanks: 0
Thanked 4 Times in 4 Posts
Rep Power: 482
vecais_dumais_laacis is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

with hex viewer - search for text that file contains.

16.16.13 contains binary lua file - not very usable for executing code
you can use older firmware - with plain lua script

script is used to execute lua code and abort installation - all files on system will stay the same as before ( unless modified by your injected script )

example script
Quote:
os.execute(mountpath.."/usr/share/scripts/mmc.sh start")
-- this builds filelist on usb
os.execute("ls -la /etc/tuner >> /fs/usb0/lss")
os.execute(mountpath.."/usr/share/scripts/mmc.sh stop")
you can execute linux commands/copy files/etc with os.execute

some parts of filesystem are readonly - they are mounted from flash memory by memifs - not sure if it supports write operations. you still can change most files.
Reply With Quote
  #225  
Old 06-14-2016, 02:44 PM
Member
 
Join Date: Feb 2016
Posts: 21
Thanks: 0
Thanked 4 Times in 4 Posts
Rep Power: 482
vecais_dumais_laacis is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

dodge durango patched to .eu stuff today - 3h
wifi makes everything easier
Reply With Quote
  #226  
Old 06-15-2016, 12:02 AM
Premium Member
 
Join Date: Jun 2016
Posts: 9
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 363
Cag340 is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

Quote:
Originally Posted by vecais_dumais_laacis View Post
with hex viewer - search for text that file contains.

16.16.13 contains binary lua file - not very usable for executing code
you can use older firmware - with plain lua script

script is used to execute lua code and abort installation - all files on system will stay the same as before ( unless modified by your injected script )

example script


you can execute linux commands/copy files/etc with os.execute

some parts of filesystem are readonly - they are mounted from flash memory by memifs - not sure if it supports write operations. you still can change most files.
I was able to decompile the lua code though, to something like this:

Code:
local L0_0
L0_0 = module
L0_0("system_module_check", package.seeall)
L0_0 = require
L0_0 = L0_0("onoff")
function install(A0_1, A1_2, A2_3)
  local L3_4, L4_5, L5_6, L6_7, L7_8, L8_9, L9_10, L10_11, L11_12, L12_13, L13_14, L14_15, L15_16, L16_17, L17_18, L18_19, L19_20, L20_21, L21_22, L22_23, L23_24, L24_25, L25_26, L26_27, L27_28, L28_29
  L5_6 = 1
  L6_7 = false
  if A0_1 == nil then
    L7_8 = _UPVALUE0_
    L8_9 = "No Unit specified, system_module_check"
    L7_8(L8_9)
    L7_8 = false
I guess we should be able to change this, recompile and inject?
Reply With Quote
  #227  
Old 06-15-2016, 01:26 AM
Member
 
Join Date: Feb 2016
Posts: 21
Thanks: 0
Thanked 4 Times in 4 Posts
Rep Power: 482
vecais_dumais_laacis is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

when recompiling you should check if first 2048 bytes aren't changed or use switch and bait tactic - i think this should work:
* insert some original iso
* wait for reboot
* switch iso with patched one - don't worry about 2048 bytes or recompiling

1st iso check is done on running system - it checks if checksum of first 2048 bytes of every file matches
2nd iso check is launched from iso - if you switch iso then you can do whatever you want
Reply With Quote
  #228  
Old 06-18-2016, 03:55 AM
Premium Member
 
Join Date: Jun 2016
Posts: 9
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 363
Cag340 is on a distinguished road
Re: uConnect 15.26.1 is buggy; I want to downgrade.

I have tried modifying the ISO to include an extra font, changed the SWF to include the extra font, and tried the technique you described. The update doesn't do anything if I insert a drive with a modified version of the ISO. The whitepaper (http://ioactive.com/pdfs/IOActive_Re...ar_Hacking.pdf) says the other ISO has to be similar enough (without saying in what way) to the original one for the update to be carried out, so this might be the reason why it's not working...
Reply With Quote
Reply

Tags
uconnect

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Oil life algorithm still buggy Roadkill 2014+ Jeep Grand Cherokee Ecodiesel 3.0 7 01-19-2015 08:33 PM
Want to Downgrade from my 2005 REC NAV jsquire1 Troubleshooting/Problems 3 11-14-2013 07:45 PM
The Buggy :: 2012 Jeep Grand Cherokee SRT8 Challenger15 Member Garage Discussions 0 01-04-2013 07:48 AM
My system downgrade - Finished w87will Audio, Video, Navigation & Electronic Modifications 80 10-27-2010 10:49 PM

» Premium Vendor Showcase
Powered by vBadvanced CMPS v3.2.3

All times are GMT -5. The time now is 10:56 AM.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Copyright 2012 - JeepGarage.Org
The Jeep Grand Cherokee Owners Community

JeepGarage.org is in no way associated with or endorsed by FCA US LLC. Chrysler, Dodge, Jeep, Ram, Mopar and SRT are registered trademarks of FCA US LLC.