[CLOSED] Headunit app for Android Auto ; Reverse engineering AA USB protocol - Android Auto General

I am closing this thread. Please see new thread for discussion and much new information: http://forum.xda-developers.com/general/paid-software/android-4-1-headunit-android-auto-t3125252
Free APK: http://forum.xda-developers.com/showpost.php?p=60894402&postcount=94
The below was written well before I successfully developed this Headunit app:
EDIT: After much smali and java jar spelunking it appears that:
- An Android Auto standalone/dock like mode that wouldn't need a head unit is not possible in the first released APK. The needed code is either dead (I see dead code in FirstActivity.java), stripped out manually or via Proguard, or such a mode was never there/working in the first place, or recently.
But even if there was such a standalone mode, I think Google would never support it, and it would likely be stripped out or disabled in future releases.
So I have changed the title/purpose of this thread to "HeadUnit app...". I think an app on an external tablet is feasible, assuming any crypto-like HeadUnit validation can be disabled or otherwise compromised. Google, HeadUnit and car OEMs probably won't like it though....
Original 1st post follows:
The Android Auto app is released and there is a developer mode:
http://www.androidpolice.com/2015/0...-a-developer-mode-and-heres-how-to-enable-it/
Now, how to use it ?
There are 3 modes: Release, Developer and Demo.
I tried all 3 on a stock MotoG with Lollipop 5.0 and didn't see much happening, even after starting an APK of the new “Universal Music Player” that has Android Auto Support.
Maybe iHeart radio or other Auto compatible app might show something.
What I am wanting to see if the phone/tablet UI overtaken with the AA GUI.
With this, we would be able to run AA on any old 5.0+ tablet or phone; $200 or less for an N7 say, instead of close to a thousand or much more for commercial head units.
I am wondering if Google is trying to prevent this somehow ? Otherwise Google Nexus devices become like cheap head units, minus a few things like audio amps of course. Hardware and Auto OEMs won't like "their business" going to phone and tablet OEM's Google included.
And Google also does not want regulators to be freaked out by driving distraction and of course lawsuits are a risk.
But IMO this is clearly the way to go for hackability, upgradability, and just sheer cheapness for what we hope is a good system.

Found your thread. Interesting idea. I'll look into this as well.

mikereidis said:
Android Auto app is release and there is a developer mode:
http://www.androidpolice.com/2015/0...-a-developer-mode-and-heres-how-to-enable-it/
Now, how to use it ?
There are 3 modes: Release, Developer and Demo.
I tried all 3 on a stock MotoG with Lollipop 5.0 and didn't see much happening, even after starting an APK of the new “Universal Music Player” that has Android Auto Support.
Maybe iHeart radio or other Auto compatible app might show something.
What I am wanting to see if the phone/tablet UI overtaken with the AA GUI.
With this, we would be able to run AA on any old 5.0+ tablet or phone; $200 or less for an N7 say, instead of close to a thousand or much more for commercial head units.
I am wondering if Google is trying to prevent this somehow ? Otherwise Google Nexus devices become like cheap head units, minus a few things like audio amps of course. Hardware and Auto OEMs won't like "their business" going to phone and tablet OEM's Google included.
And Google also does not want regulators to be freaked out by driving distraction and of course lawsuits are a risk.
But IMO this is clearly the way to go for hackability, upgradability, and just sheer cheapness for what we hope is a good system.
Click to expand...
Click to collapse
Agreed. Let's hope we can crack the nut and figure out how to get a dumb terminal type setup working.

I started poking around in the smali code last night after running apktool.
I think the most interesting stuff is under com/google/android/gms/car:
Code:
-rw-r--r-- 1 m m 6054 Mar 20 05:59 AudioReader.smali
-rw-r--r-- 1 m m 4409 Mar 20 05:59 Car$1.smali
-rw-r--r-- 1 m m 1181 Mar 20 05:59 Car$2.smali
-rw-r--r-- 1 m m 1332 Mar 20 05:59 CarActivityService$1.smali
-rw-r--r-- 1 m m 1536 Mar 20 05:59 CarActivityService$2.smali
-rw-r--r-- 1 m m 3749 Mar 20 05:59 CarActivityService$3.smali
-rw-r--r-- 1 m m 8050 Mar 20 05:59 CarActivityService$4.smali
-rw-r--r-- 1 m m 5283 Mar 20 05:59 CarActivityService$5.smali
-rw-r--r-- 1 m m 4268 Mar 20 05:59 CarActivityService$6.smali
-rw-r--r-- 1 m m 2748 Mar 20 05:59 CarActivityService$CarProjectionWrapper$10.smali
-rw-r--r-- 1 m m 1966 Mar 20 05:59 CarActivityService$CarProjectionWrapper$11.smali
-rw-r--r-- 1 m m 1686 Mar 20 05:59 CarActivityService$CarProjectionWrapper$12.smali
-rw-r--r-- 1 m m 1873 Mar 20 05:59 CarActivityService$CarProjectionWrapper$1.smali
-rw-r--r-- 1 m m 3274 Mar 20 05:59 CarActivityService$CarProjectionWrapper$2.smali
-rw-r--r-- 1 m m 3218 Mar 20 05:59 CarActivityService$CarProjectionWrapper$3.smali
-rw-r--r-- 1 m m 2225 Mar 20 05:59 CarActivityService$CarProjectionWrapper$4.smali
-rw-r--r-- 1 m m 1810 Mar 20 05:59 CarActivityService$CarProjectionWrapper$5.smali
-rw-r--r-- 1 m m 1814 Mar 20 05:59 CarActivityService$CarProjectionWrapper$6.smali
-rw-r--r-- 1 m m 1812 Mar 20 05:59 CarActivityService$CarProjectionWrapper$7.smali
-rw-r--r-- 1 m m 3141 Mar 20 05:59 CarActivityService$CarProjectionWrapper$8.smali
-rw-r--r-- 1 m m 2766 Mar 20 05:59 CarActivityService$CarProjectionWrapper$9.smali
-rw-r--r-- 1 m m 32024 Mar 20 05:59 CarActivityService$CarProjectionWrapper.smali
-rw-r--r-- 1 m m 610 Mar 20 05:59 CarActivityService$InputFocusChangeCallback.smali
-rw-r--r-- 1 m m 112325 Mar 20 05:59 CarActivityService.smali
-rw-r--r-- 1 m m 20891 Mar 20 05:59 CarActivityService$UncaughtHandler.smali
-rw-r--r-- 1 m m 6614 Mar 20 05:59 CarActivityService$VirtualDisplayHelper.smali
-rw-r--r-- 1 m m 28923 Mar 20 05:59 CarActivity.smali
-rw-r--r-- 1 m m 7206 Mar 20 05:59 CarAudioConfigurationCreator.smali
-rw-r--r-- 1 m m 7062 Mar 20 05:59 CarAudioConfiguration.smali
-rw-r--r-- 1 m m 372 Mar 20 05:59 CarAudioManager$1.smali
-rw-r--r-- 1 m m 965 Mar 20 05:59 CarAudioManager$CarAudioCallback.smali
-rw-r--r-- 1 m m 39847 Mar 20 05:59 CarAudioManager.smali
-rw-r--r-- 1 m m 369 Mar 20 05:59 CarAudioRecord$1.smali
-rw-r--r-- 1 m m 989 Mar 20 05:59 CarAudioRecord$CarAudioRecordCallback.smali
-rw-r--r-- 1 m m 23302 Mar 20 05:59 CarAudioRecord.smali
-rw-r--r-- 1 m m 4012 Mar 20 05:59 CarAudioTrack$1.smali
-rw-r--r-- 1 m m 3032 Mar 20 05:59 CarAudioTrack$ICarAudioTrackCallbackImpl.smali
-rw-r--r-- 1 m m 938 Mar 20 05:59 CarAudioTrack$PlaybackNotificationListener.smali
-rw-r--r-- 1 m m 36967 Mar 20 05:59 CarAudioTrack.smali
-rw-r--r-- 1 m m 4104 Mar 20 05:59 CarBluetoothConnectionManager$CarBluetoothClientHandlerCallback.smali
-rw-r--r-- 1 m m 31743 Mar 20 05:59 CarBluetoothConnectionManager$CarBluetoothClient.smali
-rw-r--r-- 1 m m 1028 Mar 20 05:59 CarBluetoothConnectionManager$CarBluetoothConnectionListener.smali
-rw-r--r-- 1 m m 2850 Mar 20 05:59 CarBluetoothConnectionManager$CarBluetoothServiceNotInitializedException.smali
-rw-r--r-- 1 m m 24946 Mar 20 05:59 CarBluetoothConnectionManager.smali
-rw-r--r-- 1 m m 10689 Mar 20 05:59 CarCallCreator.smali
-rw-r--r-- 1 m m 10534 Mar 20 05:59 CarCallDetailsCreator.smali
-rw-r--r-- 1 m m 10494 Mar 20 05:59 CarCall$Details.smali
-rw-r--r-- 1 m m 4436 Mar 20 05:59 CarCallListener.smali
-rw-r--r-- 1 m m 2257 Mar 20 05:59 CarCallManager$10.smali
-rw-r--r-- 1 m m 1884 Mar 20 05:59 CarCallManager$11.smali
-rw-r--r-- 1 m m 2255 Mar 20 05:59 CarCallManager$12.smali
-rw-r--r-- 1 m m 1815 Mar 20 05:59 CarCallManager$1.smali
-rw-r--r-- 1 m m 2120 Mar 20 05:59 CarCallManager$2.smali
-rw-r--r-- 1 m m 1870 Mar 20 05:59 CarCallManager$3.smali
-rw-r--r-- 1 m m 1874 Mar 20 05:59 CarCallManager$4.smali
-rw-r--r-- 1 m m 2073 Mar 20 05:59 CarCallManager$5.smali
-rw-r--r-- 1 m m 2302 Mar 20 05:59 CarCallManager$6.smali
-rw-r--r-- 1 m m 2192 Mar 20 05:59 CarCallManager$7.smali
-rw-r--r-- 1 m m 2355 Mar 20 05:59 CarCallManager$8.smali
-rw-r--r-- 1 m m 2245 Mar 20 05:59 CarCallManager$9.smali
-rw-r--r-- 1 m m 14498 Mar 20 05:59 CarCallManager$ICarCallListenerImpl.smali
-rw-r--r-- 1 m m 2507 Mar 20 05:59 CarCallManager$ICarPhoneStatusEventListenerImpl.smali
-rw-r--r-- 1 m m 74357 Mar 20 05:59 CarCallManager.smali
-rw-r--r-- 1 m m 12737 Mar 20 05:59 CarCall.smali
-rw-r--r-- 1 m m 673 Mar 20 05:59 Car$CarActivityStartListener.smali
-rw-r--r-- 1 m m 3723 Mar 20 05:59 Car$CarApiHideFirstParty.smali
-rw-r--r-- 1 m m 11559 Mar 20 05:59 Car$CarApiImpl.smali
-rw-r--r-- 1 m m 1159 Mar 20 05:59 Car$CarApi.smali
-rw-r--r-- 1 m m 607 Mar 20 05:59 Car$CarConnectionListener.smali
-rw-r--r-- 1 m m 21605 Mar 20 05:59 Car$CarFirstPartyApiImpl.smali
-rw-r--r-- 1 m m 6894 Mar 20 05:59 Car$CarFirstPartyApi.smali
-rw-r--r-- 1 m m 2456 Mar 20 05:59 Car$CarOptions$Builder.smali
-rw-r--r-- 1 m m 2712 Mar 20 05:59 Car$CarOptions.smali
-rw-r--r-- 1 m m 1336 Mar 20 05:59 CarClientConfig.smali
-rw-r--r-- 1 m m 366 Mar 20 05:59 CarClientImpl$1.smali
-rw-r--r-- 1 m m 2141 Mar 20 05:59 CarClientImpl$CarDeathRecipient.smali
-rw-r--r-- 1 m m 4930 Mar 20 05:59 CarClientImpl$DefaultConnectionCallbacks.smali
-rw-r--r-- 1 m m 6917 Mar 20 05:59 CarClientImpl$ICarActivityStartListenerImpl.smali
-rw-r--r-- 1 m m 2648 Mar 20 05:59 CarClientImpl$ICarConnectionListenerImpl$1.smali
-rw-r--r-- 1 m m 2378 Mar 20 05:59 CarClientImpl$ICarConnectionListenerImpl$2.smali
-rw-r--r-- 1 m m 16350 Mar 20 05:59 CarClientImpl$ICarConnectionListenerImpl.smali
-rw-r--r-- 1 m m 99671 Mar 20 05:59 CarClientImpl.smali
-rw-r--r-- 1 m m 1127 Mar 20 05:59 CarClientLogging.smali
-rw-r--r-- 1 m m 6510 Mar 20 05:59 CarFacetCreator.smali
-rw-r--r-- 1 m m 4453 Mar 20 05:59 CarFacet.smali
-rw-r--r-- 1 m m 9788 Mar 20 05:59 CarInfoCreator.smali
-rw-r--r-- 1 m m 8259 Mar 20 05:59 CarInfo.smali
-rw-r--r-- 1 m m 731 Mar 20 05:59 CarInstrumentClusterActions.smali
-rw-r--r-- 1 m m 8433 Mar 20 05:59 CarInstrumentClusterInfoCreator.smali
-rw-r--r-- 1 m m 5422 Mar 20 05:59 CarInstrumentClusterInfo.smali
-rw-r--r-- 1 m m 1020 Mar 20 05:59 CarLog.smali
-rw-r--r-- 1 m m 5595 Mar 20 05:59 CarMediaBrowserListNode$CarMediaSong.smali
-rw-r--r-- 1 m m 9318 Mar 20 05:59 CarMediaBrowserListNodeCreator.smali
-rw-r--r-- 1 m m 6379 Mar 20 05:59 CarMediaBrowserListNode.smali
-rw-r--r-- 1 m m 5048 Mar 20 05:59 CarMediaBrowserRootNode$CarMediaSource.smali
-rw-r--r-- 1 m m 7570 Mar 20 05:59 CarMediaBrowserRootNodeCreator.smali
-rw-r--r-- 1 m m 4588 Mar 20 05:59 CarMediaBrowserRootNode.smali
-rw-r--r-- 1 m m 8044 Mar 20 05:59 CarMediaBrowserSongNodeCreator.smali
-rw-r--r-- 1 m m 5162 Mar 20 05:59 CarMediaBrowserSongNode.smali
-rw-r--r-- 1 m m 5485 Mar 20 05:59 CarMediaBrowserSourceNode$CarMediaList.smali
-rw-r--r-- 1 m m 9400 Mar 20 05:59 CarMediaBrowserSourceNodeCreator.smali
-rw-r--r-- 1 m m 6093 Mar 20 05:59 CarMediaBrowserSourceNode.smali
-rw-r--r-- 1 m m 8249 Mar 20 05:59 CarMediaListCreator.smali
-rw-r--r-- 1 m m 4839 Mar 20 05:59 CarMediaManager$1.smali
-rw-r--r-- 1 m m 3344 Mar 20 05:59 CarMediaManager$CarMediaBrowserEventListener.smali
-rw-r--r-- 1 m m 727 Mar 20 05:59 CarMediaManager$CarMediaListener.smali
-rw-r--r-- 1 m m 2322 Mar 20 05:59 CarMediaManager$CarMediaPlaybackStatusEventListener.smali
-rw-r--r-- 1 m m 27274 Mar 20 05:59 CarMediaManager.smali
-rw-r--r-- 1 m m 8401 Mar 20 05:59 CarMediaSongCreator.smali
-rw-r--r-- 1 m m 7692 Mar 20 05:59 CarMediaSourceCreator.smali
-rw-r--r-- 1 m m 2913 Mar 20 05:59 CarMessageManager$1.smali
-rw-r--r-- 1 m m 4470 Mar 20 05:59 CarMessageManager$CarMessageCallbackImpl.smali
-rw-r--r-- 1 m m 653 Mar 20 05:59 CarMessageManager$CarMessageListener.smali
-rw-r--r-- 1 m m 18383 Mar 20 05:59 CarMessageManager.smali
-rw-r--r-- 1 m m 5626 Mar 20 05:59 CarNavigationStatusManager$1.smali
-rw-r--r-- 1 m m 681 Mar 20 05:59 CarNavigationStatusManager$CarNavigationStatusListener.smali
-rw-r--r-- 1 m m 3561 Mar 20 05:59 CarNavigationStatusManager$ICarNavigationStatusEventListenerImpl.smali
-rw-r--r-- 1 m m 22955 Mar 20 05:59 CarNavigationStatusManager.smali
-rw-r--r-- 1 m m 1427 Mar 20 05:59 CarNotConnectedException.smali
-rw-r--r-- 1 m m 1427 Mar 20 05:59 CarNotSupportedException.smali
-rw-r--r-- 1 m m 9380 Mar 20 05:59 CarPhoneStatusCarCallCreator.smali
-rw-r--r-- 1 m m 6425 Mar 20 05:59 CarPhoneStatus$CarCall.smali
-rw-r--r-- 1 m m 7176 Mar 20 05:59 CarPhoneStatusCreator.smali
-rw-r--r-- 1 m m 4592 Mar 20 05:59 CarPhoneStatus.smali
-rw-r--r-- 1 m m 1129 Mar 20 05:59 CarProjectionCallback.smali
-rw-r--r-- 1 m m 2852 Mar 20 05:59 CarProjectionValidator$1.smali
-rw-r--r-- 1 m m 2280 Mar 20 05:59 CarProjectionValidator$2.smali
-rw-r--r-- 1 m m 55550 Mar 20 05:59 CarProjectionValidator.smali
-rw-r--r-- 1 m m 772 Mar 20 05:59 CarSensorEvent$AccelerometerData.smali
-rw-r--r-- 1 m m 731 Mar 20 05:59 CarSensorEvent$CarSpeedData.smali
-rw-r--r-- 1 m m 773 Mar 20 05:59 CarSensorEvent$CompassData.smali
-rw-r--r-- 1 m m 7773 Mar 20 05:59 CarSensorEventCreator.smali
-rw-r--r-- 1 m m 739 Mar 20 05:59 CarSensorEvent$DrivingStatusData.smali
-rw-r--r-- 1 m m 766 Mar 20 05:59 CarSensorEvent$EnvironmentData.smali
-rw-r--r-- 1 m m 785 Mar 20 05:59 CarSensorEvent$FuelLevelData.smali
-rw-r--r-- 1 m m 719 Mar 20 05:59 CarSensorEvent$GearData.smali
-rw-r--r-- 1 m m 1714 Mar 20 05:59 CarSensorEvent$GpsSatelliteData.smali
-rw-r--r-- 1 m m 764 Mar 20 05:59 CarSensorEvent$GyroscopeData.smali
-rw-r--r-- 1 m m 768 Mar 20 05:59 CarSensorEvent$HvacData.smali
-rw-r--r-- 1 m m 728 Mar 20 05:59 CarSensorEvent$NightData.smali
-rw-r--r-- 1 m m 726 Mar 20 05:59 CarSensorEvent$OdometerData.smali
-rw-r--r-- 1 m m 740 Mar 20 05:59 CarSensorEvent$ParkingBrakeData.smali
-rw-r--r-- 1 m m 716 Mar 20 05:59 CarSensorEvent$RpmData.smali
-rw-r--r-- 1 m m 46840 Mar 20 05:59 CarSensorEvent.smali
-rw-r--r-- 1 m m 5392 Mar 20 05:59 CarSensorManager$1.smali
-rw-r--r-- 1 m m 606 Mar 20 05:59 CarSensorManager$CarSensorEventInjector.smali
-rw-r--r-- 1 m m 3088 Mar 20 05:59 CarSensorManager$CarSensorEventInjectorToService.smali
-rw-r--r-- 1 m m 640 Mar 20 05:59 CarSensorManager$CarSensorEventListener.smali
-rw-r--r-- 1 m m 2458 Mar 20 05:59 CarSensorManager$CarSensorEventListenerToService.smali
-rw-r--r-- 1 m m 5251 Mar 20 05:59 CarSensorManager$CarSensorListeners.smali
-rw-r--r-- 1 m m 39776 Mar 20 05:59 CarSensorManager.smali
-rw-r--r-- 1 m m 942 Mar 20 05:59 Car$Settings$Booleans.smali
-rw-r--r-- 1 m m 825 Mar 20 05:59 Car$Settings.smali
-rw-r--r-- 1 m m 958 Mar 20 05:59 Car$Settings$Strings.smali
-rw-r--r-- 1 m m 10145 Mar 20 05:59 Car.smali
-rw-r--r-- 1 m m 6507 Mar 20 05:59 CarUiInfoCreator.smali
-rw-r--r-- 1 m m 5551 Mar 20 05:59 CarUiInfo.smali
-rw-r--r-- 1 m m 2821 Mar 20 05:59 CarVendorExtensionManager$1.smali
-rw-r--r-- 1 m m 4169 Mar 20 05:59 CarVendorExtensionManager$CarVendorExtensionClient.smali
-rw-r--r-- 1 m m 731 Mar 20 05:59 CarVendorExtensionManager$CarVendorExtensionListener.smali
-rw-r--r-- 1 m m 38798 Mar 20 05:59 CarVendorExtensionManager.smali
-rw-r--r-- 1 m m 428 Mar 20 05:59 DefaultFalseFlag.smali
-rw-r--r-- 1 m m 426 Mar 20 05:59 DefaultTrueFlag.smali
drwxr-xr-x 2 m m 4096 Mar 20 05:59 diagnostics
-rw-r--r-- 1 m m 8013 Mar 20 05:59 DrawingSpecCreator.smali
-rw-r--r-- 1 m m 5370 Mar 20 05:59 DrawingSpec.smali
-rw-r--r-- 1 m m 5945 Mar 20 05:59 EmulatedCarActivity$1.smali
-rw-r--r-- 1 m m 9603 Mar 20 05:59 EmulatedCarActivity.smali
-rw-r--r-- 1 m m 2834 Mar 20 05:59 ExceptionParcel$1.smali
-rw-r--r-- 1 m m 2216 Mar 20 05:59 ExceptionParcel.smali
-rw-r--r-- 1 m m 2153 Mar 20 05:59 Flag.smali
-rw-r--r-- 1 m m 744 Mar 20 05:59 Flags.smali
-rw-r--r-- 1 m m 842 Mar 20 05:59 ICarActivityStartListener.smali
-rw-r--r-- 1 m m 4936 Mar 20 05:59 ICarActivityStartListener$Stub$Proxy.smali
-rw-r--r-- 1 m m 5774 Mar 20 05:59 ICarActivityStartListener$Stub.smali
-rw-r--r-- 1 m m 354 Mar 20 05:59 ICarAudioCallback.smali
-rw-r--r-- 1 m m 1359 Mar 20 05:59 ICarAudioCallback$Stub$Proxy.smali
-rw-r--r-- 1 m m 3402 Mar 20 05:59 ICarAudioCallback$Stub.smali
-rw-r--r-- 1 m m 372 Mar 20 05:59 ICarAudioRecordCallback.smali
-rw-r--r-- 1 m m 1401 Mar 20 05:59 ICarAudioRecordCallback$Stub$Proxy.smali
-rw-r--r-- 1 m m 3492 Mar 20 05:59 ICarAudioRecordCallback$Stub.smali
-rw-r--r-- 1 m m 2107 Mar 20 05:59 ICarAudioRecord.smali
-rw-r--r-- 1 m m 16618 Mar 20 05:59 ICarAudioRecord$Stub$Proxy.smali
-rw-r--r-- 1 m m 11414 Mar 20 05:59 ICarAudioRecord$Stub.smali
-rw-r--r-- 1 m m 3171 Mar 20 05:59 ICarAudio.smali
-rw-r--r-- 1 m m 27623 Mar 20 05:59 ICarAudio$Stub$Proxy.smali
-rw-r--r-- 1 m m 17056 Mar 20 05:59 ICarAudio$Stub.smali
-rw-r--r-- 1 m m 782 Mar 20 05:59 ICarAudioTrackCallback.smali
-rw-r--r-- 1 m m 3856 Mar 20 05:59 ICarAudioTrackCallback$Stub$Proxy.smali
-rw-r--r-- 1 m m 4410 Mar 20 05:59 ICarAudioTrackCallback$Stub.smali
-rw-r--r-- 1 m m 2581 Mar 20 05:59 ICarAudioTrack.smali
-rw-r--r-- 1 m m 20348 Mar 20 05:59 ICarAudioTrack$Stub$Proxy.smali
-rw-r--r-- 1 m m 13216 Mar 20 05:59 ICarAudioTrack$Stub.smali
-rw-r--r-- 1 m m 1726 Mar 20 05:59 ICarBluetoothClient.smali
-rw-r--r-- 1 m m 9562 Mar 20 05:59 ICarBluetoothClient$Stub$Proxy.smali
-rw-r--r-- 1 m m 6191 Mar 20 05:59 ICarBluetoothClient$Stub.smali
-rw-r--r-- 1 m m 1761 Mar 20 05:59 ICarBluetooth.smali
-rw-r--r-- 1 m m 13950 Mar 20 05:59 ICarBluetooth$Stub$Proxy.smali
-rw-r--r-- 1 m m 8600 Mar 20 05:59 ICarBluetooth$Stub.smali
-rw-r--r-- 1 m m 4125 Mar 20 05:59 ICarCallListener.smali
-rw-r--r-- 1 m m 25553 Mar 20 05:59 ICarCallListener$Stub$Proxy.smali
-rw-r--r-- 1 m m 21156 Mar 20 05:59 ICarCallListener$Stub.smali
-rw-r--r-- 1 m m 4776 Mar 20 05:59 ICarCall.smali
-rw-r--r-- 1 m m 40521 Mar 20 05:59 ICarCall$Stub$Proxy.smali
-rw-r--r-- 1 m m 25019 Mar 20 05:59 ICarCall$Stub.smali
-rw-r--r-- 1 m m 774 Mar 20 05:59 ICarConnectionListener.smali
-rw-r--r-- 1 m m 3853 Mar 20 05:59 ICarConnectionListener$Stub$Proxy.smali
-rw-r--r-- 1 m m 4427 Mar 20 05:59 ICarConnectionListener$Stub.smali
-rw-r--r-- 1 m m 824 Mar 20 05:59 ICarMediaBrowserEventListener.smali
-rw-r--r-- 1 m m 4586 Mar 20 05:59 ICarMediaBrowserEventListener$Stub$Proxy.smali
-rw-r--r-- 1 m m 5363 Mar 20 05:59 ICarMediaBrowserEventListener$Stub.smali
-rw-r--r-- 1 m m 2122 Mar 20 05:59 ICarMediaBrowser.smali
-rw-r--r-- 1 m m 16625 Mar 20 05:59 ICarMediaBrowser$Stub$Proxy.smali
-rw-r--r-- 1 m m 13839 Mar 20 05:59 ICarMediaBrowser$Stub.smali
-rw-r--r-- 1 m m 618 Mar 20 05:59 ICarMediaPlaybackStatusEventListener.smali
-rw-r--r-- 1 m m 2793 Mar 20 05:59 ICarMediaPlaybackStatusEventListener$Stub$Proxy.smali
-rw-r--r-- 1 m m 4209 Mar 20 05:59 ICarMediaPlaybackStatusEventListener$Stub.smali
-rw-r--r-- 1 m m 1562 Mar 20 05:59 ICarMediaPlaybackStatus.smali
-rw-r--r-- 1 m m 12241 Mar 20 05:59 ICarMediaPlaybackStatus$Stub$Proxy.smali
-rw-r--r-- 1 m m 11494 Mar 20 05:59 ICarMediaPlaybackStatus$Stub.smali
-rw-r--r-- 1 m m 774 Mar 20 05:59 ICarMessageCallback.smali
-rw-r--r-- 1 m m 4150 Mar 20 05:59 ICarMessageCallback$Stub$Proxy.smali
-rw-r--r-- 1 m m 4823 Mar 20 05:59 ICarMessageCallback$Stub.smali
-rw-r--r-- 1 m m 2082 Mar 20 05:59 ICarMessage.smali
-rw-r--r-- 1 m m 16413 Mar 20 05:59 ICarMessage$Stub$Proxy.smali
-rw-r--r-- 1 m m 11813 Mar 20 05:59 ICarMessage$Stub.smali
-rw-r--r-- 1 m m 799 Mar 20 05:59 ICarNavigationStatusEventListener.smali
-rw-r--r-- 1 m m 4441 Mar 20 05:59 ICarNavigationStatusEventListener$Stub$Proxy.smali
-rw-r--r-- 1 m m 5334 Mar 20 05:59 ICarNavigationStatusEventListener$Stub.smali
-rw-r--r-- 1 m m 1981 Mar 20 05:59 ICarNavigationStatus.smali
-rw-r--r-- 1 m m 15873 Mar 20 05:59 ICarNavigationStatus$Stub$Proxy.smali
-rw-r--r-- 1 m m 10764 Mar 20 05:59 ICarNavigationStatus$Stub.smali
-rw-r--r-- 1 m m 630 Mar 20 05:59 ICarPhoneStatusEventListener.smali
-rw-r--r-- 1 m m 3055 Mar 20 05:59 ICarPhoneStatusEventListener$Stub$Proxy.smali
-rw-r--r-- 1 m m 4437 Mar 20 05:59 ICarPhoneStatusEventListener$Stub.smali
-rw-r--r-- 1 m m 1180 Mar 20 05:59 ICarPhoneStatus.smali
-rw-r--r-- 1 m m 8512 Mar 20 05:59 ICarPhoneStatus$Stub$Proxy.smali
-rw-r--r-- 1 m m 7717 Mar 20 05:59 ICarPhoneStatus$Stub.smali
-rw-r--r-- 1 m m 4717 Mar 20 05:59 ICarProjectionCallback.smali
-rw-r--r-- 1 m m 37567 Mar 20 05:59 ICarProjectionCallback$Stub$Proxy.smali
-rw-r--r-- 1 m m 18679 Mar 20 05:59 ICarProjectionCallback$Stub.smali
-rw-r--r-- 1 m m 3398 Mar 20 05:59 ICarProjection.smali
-rw-r--r-- 1 m m 24244 Mar 20 05:59 ICarProjection$Stub$Proxy.smali
-rw-r--r-- 1 m m 17542 Mar 20 05:59 ICarProjection$Stub.smali
-rw-r--r-- 1 m m 595 Mar 20 05:59 ICarSensorEventInjector.smali
-rw-r--r-- 1 m m 2696 Mar 20 05:59 ICarSensorEventInjector$Stub$Proxy.smali
-rw-r--r-- 1 m m 4020 Mar 20 05:59 ICarSensorEventInjector$Stub.smali
-rw-r--r-- 1 m m 629 Mar 20 05:59 ICarSensorEventListener.smali
-rw-r--r-- 1 m m 3202 Mar 20 05:59 ICarSensorEventListener$Stub$Proxy.smali
-rw-r--r-- 1 m m 4673 Mar 20 05:59 ICarSensorEventListener$Stub.smali
-rw-r--r-- 1 m m 2133 Mar 20 05:59 ICarSensor.smali
-rw-r--r-- 1 m m 17592 Mar 20 05:59 ICarSensor$Stub$Proxy.smali
-rw-r--r-- 1 m m 12627 Mar 20 05:59 ICarSensor$Stub.smali
-rw-r--r-- 1 m m 7325 Mar 20 05:59 ICar.smali
-rw-r--r-- 1 m m 57869 Mar 20 05:59 ICar$Stub$Proxy.smali
-rw-r--r-- 1 m m 31159 Mar 20 05:59 ICar$Stub.smali
-rw-r--r-- 1 m m 969 Mar 20 05:59 ICarVendorExtensionClient.smali
-rw-r--r-- 1 m m 5063 Mar 20 05:59 ICarVendorExtensionClient$Stub$Proxy.smali
-rw-r--r-- 1 m m 4871 Mar 20 05:59 ICarVendorExtensionClient$Stub.smali
-rw-r--r-- 1 m m 2739 Mar 20 05:59 ICarVendorExtension.smali
-rw-r--r-- 1 m m 22230 Mar 20 05:59 ICarVendorExtension$Stub$Proxy.smali
-rw-r--r-- 1 m m 14977 Mar 20 05:59 ICarVendorExtension$Stub.smali
drwxr-xr-x 2 m m 4096 Mar 20 05:59 input
-rw-r--r-- 1 m m 639 Mar 20 05:59 InputManagerImpl$InputManagerCallback.smali
-rw-r--r-- 1 m m 8618 Mar 20 05:59 InputManagerImpl.smali
-rw-r--r-- 1 m m 6216 Mar 20 05:59 PackageValidator$ApplicationType.smali
-rw-r--r-- 1 m m 8148 Mar 20 05:59 PackageValidator.smali
-rw-r--r-- 1 m m 1407 Mar 20 05:59 ProjectedPresentation$1.smali
-rw-r--r-- 1 m m 24886 Mar 20 05:59 ProjectedPresentation.smali
-rw-r--r-- 1 m m 13683 Mar 20 05:59 ProjectionUtils.smali
-rw-r--r-- 1 m m 5178 Mar 20 05:59 ProjectionUtils$SyncCallable.smali
-rw-r--r-- 1 m m 2735 Mar 20 05:59 ProjectionUtils$SyncRunnable.smali
-rw-r--r-- 1 m m 7762 Mar 20 05:59 ProjectionWindowCallback.smali
drwxr-xr-x 2 m m 12288 Mar 20 05:59 support
-rw-r--r-- 1 m m 13490 Mar 20 05:59 TimeoutHandler$1.smali
-rw-r--r-- 1 m m 34779 Mar 20 05:59 TimeoutHandler.smali
-rw-r--r-- 1 m m 1003 Mar 20 05:59 TimeoutHandler$TimeoutTask.smali
-rw-r--r-- 1 m m 3173 Mar 20 05:59 TimeoutHandler$TimeoutTaskWithHandler.smali
-rw-r--r-- 1 m m 4646 Mar 20 05:59 TimeoutHandler$TimeoutTaskWithSemaphore.smali

Awesome !
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Will it be possible to make it run on phone/tablet ? It feels like it's just sending live preview from phone (that's why phone is unusable and blocked) to car screen and reading touch positions and send it back to phone. Well, I hope there is a BIIIG chance to make it work without damn 1000$ car radio.
Also that makes sense as in lollipop screen cast is way more advanced and even made default and accessible from quick toggles, and that's why it's requirement to use lollipop to even use this app.

brainscollector said:
Will it be possible to make it run on phone/tablet ? It feels like it's just sending live preview from phone (that's why phone is unusable and blocked) to car screen and reading touch positions and send it back to phone. Well, I hope there is a BIIIG chance to make it work without damn 1000$ car radio.
Also that makes sense as in lollipop screen cast is way more advanced and even made default and accessible from quick toggles, and that's why it's requirement to use lollipop to even use this app.
Click to expand...
Click to collapse
I am sure it is already possible, we just have to figure out how to use the developer mode.
In November, simulators were released for developers to start testing AA apps, one for messaging and the other for media: media-browser-simulator.apk . If you want to see AA in action (as a demo, more or less), run one of those simulator apps.
I have not got the dev mode working on this "real" AA APK yet, but I've seen much of interest.
It appears there is validation for "Projecters"/Head units, probably crypto too. So I think head unit etc. manufacturers will have to get Google's approval to be supported. The hordes of Chinese OEMs might have issues here, unless they can piggyback, but I think that could be difficult on a platform that will be regularly updated by Google.
There is a whitelist, and even a blacklist for validation.
For dev mode, Google's app has it's own pseudo-Projector, in a class called EmulatedCarActivity . So far I have been able to start this activity, and it briefly flashes an AA screen before killing itself for some reason I haven't figured out yet.

Thank you for awesome reply.
I just had some though, maybe its possible to make some "false connection", what I mean, if we have phone and tablet, we could connect them together with male/male USB cable as its connecting with head unit, and simulate this head unit on tablet just to project screen on it. IMO, I don't know, it sounds legit to me.
Edit. I just tried to sniff around activities and best what I could find is this flashing screen that appears only for second on screen
It seems like halfway to run android auto

brainscollector said:
Thank you for awesome reply.
I just had some though, maybe its possible to make some "false connection", what I mean, if we have phone and tablet, we could connect them together with male/male USB cable as its connecting with head unit, and simulate this head unit on tablet just to project screen on it. IMO, I don't know, it sounds legit to me.
Click to expand...
Click to collapse
Effectively I think you are talking about creating a "head unit app" which would make a 2nd Android device look like a head unit.
Unless Google approves of/allows this (which I doubt, unless for development only) I think this will be difficult to do.
AA validates the head unit. If it doesn't validate, AA won't work. I think the validation is likely cryptographic and will like unlocking bootloaders. IE, security holes may be found, but Google will patch them in updates.
I think Google does not want to see a flood of cheap Chinese head units that have no approval from Google.
Heck, I just re-read the Google info for we developers who want to add AA support to our media and messaging apps. Google MUST approve the app manually for things like distractability before they will appear on Google Play.
They even advise not to add AA to existing apps, because the existing app "will not be available for distribution until the app is approved". Read at the bottom here: http://developer.android.com/distribute/essentials/quality/auto.html
brainscollector said:
Edit. I just tried to sniff around activities and best what I could find is this flashing screen that appears only for second on screen
It seems like halfway to run android auto
Click to expand...
Click to collapse
Yeah, that's what I got. Did you check the log ? :
03-21 23:26:57.094 I/ActivityManager( 496): Displayed com.google.android.projection.gearhead/.frx.SetupActivity: +976ms
03-21 23:26:57.097 I/FsmController( 3583): fireEvent(EVENT_READY)
03-21 23:26:57.100 D/FsmController( 3583): State stack (size=1)
03-21 23:26:57.101 D/FsmController( 3583): 0: com.google.android.projection.gearhead.frx.SetupFsm$TermsOfServicesState
03-21 23:26:57.110 I/FsmController( 3583): fireEvent(EVENT_CAR_DISCONNECTED)
03-21 23:26:57.112 D/FsmController( 3583): State stack (size=1)
03-21 23:26:57.112 D/FsmController( 3583): 0: com.google.android.projection.gearhead.frx.SetupFsm$SetupFailedState
03-21 23:26:57.138 D/FsmFragment( 3583): Started with mStateId=2 mState=com.g[email protected]40b286c
Click to expand...
Click to collapse
EVENT_READY gets fired at the FSM and that's good.
Then EVENT_CAR_DISCONNECTED gets fired and that closes the Activity.
I have looked at the various related bits of Smali "code" but it's a lot harder to figure out what is going on without original Java source. Even if we had the source, the amount of code is huge.
"TermsOfServicesState" seems to imply that there should be a legal notice dialog. I thought about just setting preferences manually, but I'm just "grasping at straws" at this point.
One thought is that developer mode has been neutered in this released APK. I think someone on that external thread said dev mode was needed for the Pioneer, which is a bit weird.
This AA launch has been kinda funny; Google seems not ready yet and the manufacturers want to get their product out.
And I think Google is going to get a lot of flack for not having a simple tablet mode, all while using the excuse/reason that it's about safety (which is hard to argue with too much IMO.)

Yea, I have seen log to see what's going on.
So first idea goes with ashes.
Funny thing is that sometimes with updates comes new holes and what wasn't possible in previous versions, is possible with newer "bugged" version. Maybe we need to wait for some other releases. Also though about pushing app seems legit. But this "distraction" argument that google would use sounds quite bs as it's way less distracting than using some launcher instead AA so for me this argument would backfire.
And yes, they are very strict with how apps SHOULD look alike for AA and it can't be other than modified template. I dunno how it will look alike with messanging apps as each of them will look the same because "they should not distract" so they have forged some rules that they won't break for anyone. Seems reasonable but not much "android style".
But still I think it must be possible to run it on screen somehow.
Also what I think, screen that pops up will only lead to lock device and work like it would be connected to head unit, so it's quite useless

brainscollector said:
Funny thing is that sometimes with updates comes new holes and what wasn't possible in previous versions, is possible with newer "bugged" version. Maybe we need to wait for some other releases.
Click to expand...
Click to collapse
There are 2 properties that can be used in gms/car/CarClientConfig.smali:
debug.car.enable_validation
debug.car.allow_first_party
I think the first would do what we want IF we had external hardware (or a tablet with a headunit emulator) that was not blessed by Google. May go away in future of course.
And in theory some hacks could be done with Xposed, though Google likely doesn't make that too easy.
brainscollector said:
Also what I think, screen that pops up will only lead to lock device and work like it would be connected to head unit, so it's quite useless
Click to expand...
Click to collapse
Could be. My head has been swimming in the code for several days now and it's just making me dizzy now.
AFAICT, there appears to be no easily accessible standalone mode. I'm sure Google and OEMs have something; code be this app without the developer test code stripped out, could be a separate app that runs on the same device or a 2nd device.
I note there are 4 application types:
gms/car/PackageValidator$ApplicationType.smali: const-string v1, "OEM"
gms/car/PackageValidator$ApplicationType.smali: const-string v1, "NOTIFICATION"
gms/car/PackageValidator$ApplicationType.smali: const-string v1, "MEDIA"
gms/car/PackageValidator$ApplicationType.smali: const-string v1, "SERVICE"
gms/car/PackageValidator$ApplicationType.smali: const-string v1, "PROJECTION"
Click to expand...
Click to collapse
Notification and Media are the 2 that Google allows 3rd party developers to build.
Service I think might be the AA "service" itself running on the phone.
EDIT: I likely mis-interpreted this: But the last one, Projection is the most interesting. Google COULD allow 3rd parties to build projection apps, to run on the device itself or a 2nd device.
Hypothetically such apps might go through a validation/testing process at Google (likely for a bunch of "fees") and end up blessed.
But I've developed plenty myself with an eye to theoretical future generation capabilities to know that code does not equal supportable capabilities. Google especially seems to do this, which I'd except from such a forward looking company looking to run the most profitable sectors of the world economy...
Auto is just a next step. Maybe next decade Google self driving cars will bring us places while we play Android games and listen/watch Google music/movies...
And the car will say "McD's has a special today; should I pull in for you and pay with Google wallet ? And, your gas is getting low and you need an oil change, let me find a place for you since I see you are between chores in your schedule....

Rather than using smali/baksmali - perhaps try AndroGuard's decompile or jd-gui?

Entropy512 said:
Rather than using smali/baksmali - perhaps try AndroGuard's decompile or jd-gui?
Click to expand...
Click to collapse
I've never tried AndroGuard's decompile so I guess I should try it.
I've run the latest dex2jar then ran the jars through jdgui.
There are 3 dex files. Google is using Multidex to avoid their 65K method limit.
What's annoying is that there is some code I can only see with apktool, and some code I can only see with dex2jar/jdgui.
And apktool seems to be better at decoding class names than dex2jar/jdgui. (?)
dex2jar/jdgui shows proguarded classes, but apktool seems to not.
I haven't done anything with these reversing tools since I stopped trying to support OEM FM APIs 1-2 years ago, but it seems there is no best free tool, and I'm not sure about the few commercial ones for Android.
Next post, the protocol:

Running dex2jar and jdgui I am now seeing over 50 proguarded classes under com.google.android.gms.car.senderprotocol .
Finally, the low level protocol I want to see, given that I am exploring feasibility of a "headunit emulator" app that could run on a tablet.
I note that USB may be the only connection supported now, but there are indications that WiFi direct may be supported, as well as some emulator mode/thing.
Looking around Googles dev pages, rewatching Googles AA tech videos and the recent podcast, I now see that many of the "parts" that are new to me are actually openly documented, at least in part:
- Protocol buffers for the protocol.
- Open accessory protocol looks similar to the AA protocol and the way it works on USB. I'd guess the head unit is the host and the connected phone is the uhh... non-host.
- There is a Google Client API for AA and Google documents other, similar-ish client APIs for apps to use.
There is an SslWrapper class and associated JNI library that's used to encrypt communications. Perhaps this is more needed for WiFi connection than USB, but I'd guess it'd make USB sniffing more difficult.
So now I'm thinking my Linux PC could be used to emulate a head unit, implementing the protocol bit by bit until it works.

mikereidis said:
Running dex2jar and jdgui I am now seeing over 50 proguarded classes under com.google.android.gms.car.senderprotocol .
Finally, the low level protocol I want to see, given that I am exploring feasibility of a "headunit emulator" app that could run on a tablet.
I note that USB may be the only connection supported now, but there are indications that WiFi direct may be supported, as well as some emulator mode/thing.
Looking around Googles dev pages, rewatching Googles AA tech videos and the recent podcast, I now see that many of the "parts" that are new to me are actually openly documented, at least in part:
- Protocol buffers for the protocol.
- Open accessory protocol looks similar to the AA protocol and the way it works on USB. I'd guess the head unit is the host and the connected phone is the uhh... non-host.
- There is a Google Client API for AA and Google documents other, similar-ish client APIs for apps to use.
There is an SslWrapper class and associated JNI library that's used to encrypt communications. Perhaps this is more needed for WiFi connection than USB, but I'd guess it'd make USB sniffing more difficult.
So now I'm thinking my Linux PC could be used to emulate a head unit, implementing the protocol bit by bit until it works.
Click to expand...
Click to collapse
That's the impression I got from various looking around - It appears that the AA protocol is an extension of the ADK protocol, and you're right, the headunit acts as the host.

I updated the first post with:
After much smali and java jar spelunking I think it's likely that:
- Any standalone/dock like mode that wouldn't need a head unit is not possible in the first released APK. The needed code is either dead (I see dead code in FirstActivity.java), stripped out manually or via Proguard, or such a mode was never there/working in the first place, or recently.
But even if there was such a standalone mode, I think Google would never support it, and it would likely be stripped out or disabled in future releases.
So I have changed the title/purpose of this thread to "HeadUnit app...". I think an app on an external tablet is feasible and supportable going forwards, assuming any crypto-like HeadUnit validation can be disabled or otherwise compromised. Google, HeadUnit and car OEMs probably won't like it though....

The Android Open Accessory Protocol (OAP) is confirmed to be used for communications between the phone running the Android Auto (AA) companion app and the HeadUnit.
I have a C program that successfully connects with the AA app, as seen in the logcat, but it does not yet push any data, which would start with an SSL based handshake request.
Next step would be deciphering the Proguarded sendprotocol classes and seeing if handshake is possible without any secret keys.
Though I did find at least one private key in the 4100 NEX firmware, LOL; that'll teach them for using a RAM dump/hibernate file to boot with... Hopefully DMCA has no reach here outside of the US.
NEX line runs Android BTW, though not ARM. So Pioneer DOES use a HeadUnit app, in effect, along with many other apps, though I'm sure their HU app would only run on very similar hardware.
Not sure if I can mount the ext volumes to examine; tried to mount ext as a looped back image and it didn't work.
Click to expand...
Click to collapse
Then on to the other bits of the protocol. I'd guesstimate that a first prototype of major functionality might be possible in a month or so.
Interesting that Google provides source for a remote video and HID sink and source app over USB OAP. And that uses the same H.264 as AA.
Apparently there is prioritization for different streams or channels. The main ones seem to be:
- Video, from AA phone to HU.
- Response of touchscreen inputs, button presses, dial turns or steering wheel controls etc, from HU to AA.
- Audio, from AA to HU, though there is also microphone input, from car/HU to AA.
- Sensor inputs, from car to AA. Here is where Google eventually hopes to learn everything from how often we change the oil, to current wheel speed and fuel level. Google loves data, and will be happy to take a commission when fuel is low and we are next to a participating gas station...
There is more, but these are the basics.
Ironic string: "Android Open Automotive Protocol". If it's "Open", where are the documents Google ? Or did you just replace "Accessory" with "Automotive" and forgot about the "Open" part ?
Google has been suspiciously quiet every Google+ and other post made asking about a standalone mode. And they have been slammed in the comments for their AA app, with a few defenders saying something like "It says Auto, you need a compatible car".

mikereidis said:
The Android Open Accessory Protocol (OAP) is confirmed to be used for communications between the phone running the Android Auto (AA) companion app and the HeadUnit.
I have a C program that successfully connects with the AA app, as seen in the logcat, but it does not yet push any data, which would start with an SSL based handshake request.
Click to expand...
Click to collapse
Which accessory pid did you use to instantiate the oap session?
I tried 0x2D00 - 0x2D07 without any luck...

Schischu said:
Which accessory pid did you use to instantiate the oap session?
I tried 0x2D00 - 0x2D07 without any luck...
Click to expand...
Click to collapse
The standard 0x2D01. I think that any standard documented value from 0-5 would work.
What's important is the special manuf and device/product strings for AA.
Only way I figured those out was by modifying some framework files and building a custom ROM.
Are you also interested in building some sort of headunit app ?

Just a small pointer for you guys since I don't have the time to fiddle with it at the moment:
download the NEX4100 head unit update and unpack it
Code:
dd if=PJ150PLT.PRG of=PJ150PLT.img bs=512 skip=1
Code:
mount -o loop PJ150PLT.img test/
dissect the the android system that is running on the head unit, take a close look at AAPPlayer and all the libaap*.so files
profit

deeper-blue said:
Just a small pointer for you guys since I don't have the time to fiddle with it at the moment:
download the NEX4100 head unit update and unpack it
Code:
dd if=PJ150PLT.PRG of=PJ150PLT.img bs=512 skip=1
Code:
mount -o loop PJ150PLT.img test/
dissect the the android system that is running on the head unit, take a close look at AAPPlayer and all the libaap*.so files
profit
Click to expand...
Click to collapse
Thank you very much.
I posted figuring someone else might know the trick, and just last night was thinking they probably just added a header.
If anyone, anywhere has any secret documents, info, etc, about Android Auto, please feel free to email them to me at [email protected] .
I have made good progress on reverse engineering the protocol, but if the Pioneer code is not obfuscated that will make things a bit easier.
I'm laughing a bit because the Pioneer SSL/RSA certificates and private keys I extracted seem to match, and should make the crypto handshake possible, though I note one of the certs expires this summer.
Then I realize that DMCA CAN affect anyone trying to sell an app through Google, an American company...

Related

WM6 and Official answers from HTC

Dear all,
for not making new posts everytime and also to trace what HTC is saying to their customers, I ask to update this thread copying answers you get when asking HTC support about WM6 update.
Last answer for me was:
30/07/2007: The HTC P4350 Windows Mobile 6 update is expected shortly, please keep an eye on the HTC eClub for any updates.
To mods: could be useful to stick this thread so that peoples stop starting new ones.
Thanks
Chris
Hello,
Could someone tell me what is this ROM ?
ftp://htc_member:[email protected]_1.23.403.2_103_6275_1.38.00.11_108_Ship.exe
It is on the same FTP that the WM6 upgrade for TYTN
Thanking you in advance
Regards
Diagorn
Can't acces the page so i cant tell you ...
What login do you use for the FTP site. My HTC e-club account doesn't work
Hi!! Try this one!!
ftp://htc_member:[email protected]_1.23.403.2_103_6275_1.38.00.11_108_Ship.exe
Sorry!! The file size is 0!!
LOL, can anyone make this happen for the Herald...
http://msmobiles.com/news.php/6588.html
Looking inside HTC Europe support web site, they write about TYTN WM6 update:
31/07/07 - Windows Mobile® 6 upgrade for HTC TyTN
HTC has made a Windows Mobile 6® OS upgrade available for users of the popular HTC TyTN device.
The TyTN becomes the first HTC device to get the upgrade, with the HTC P3300, S620 and Advantage also scheduled to receive the upgrade from August.
HTC TyTN users can download the Windows Mobile® 6 upgrade exclusively from the “My Downloads” section of HTC eClub.
Registration to HTC eClub is easy and completely free… so if you aren’t already a member, sign up today to keep in touch with a range of benefits.
They are not talking about P4350....
Chris
Got an official response from HTC. Delayed again.
The following Provisional dates have been given.
Athena (X7500/Advantage) - From August
Excalibur (S620) - From August
Hermes (TyTN) - Currently available
Herald (P4350) - From August
Thank you for your enquiry.?
I've just received (today), the same answer from HTC Europe.
answer I recieved:
Good Morning,
I am afraid that the only information we have been given was a provisional date of the end of July.
I apologise if you were under the impression that they would be available at the end of June. Whichever of my colleagues told you this had unfortunately made a mistake.
Our original statement said that they would appear 'from June in line with our operator partner's strategies'.? this simply means that it would appear sometime after the beginning of June.? Our?only other information stated that it would be a provisional date of the end of July, but that this was subject to change depending on the results of final testing.? Some devices have already been updated and are now available with WM6 pre-loaded, but we are still awaiting the update.
I am confident that it should appear very very soon, as we have not been notified of any major problems that would delay the launch.
Yesterday:
The Rom update for the Windows mobile 6 for the P4350 has not been released yet. Please be a bit more patient. As soon as the update will be released (hopefully within this month) It should be available for download from the E- Club section of the HTC website.
We wainting we waiting.
I asked (over and over again) for the release date of WM6 this was the anwser:
Good Evening,
?
Unfortunately, our press releases stated that the Windows Mobile 6 updates would be available from June.? This does not narrow down any more than that it would be sometime after the beginning of june.? We were then given a provisional date of the end of July.? As you must understand, a provisional dat only gives us an idea of when it might be available, and is subject to there being no further problems discovered during final testing.
?
We currently have the information that it seems to have passed final testing and pending the last few items of customisation being finished, should appear in the next few weeks.
?
I understand that this is frustrating, but this update is being offered as a good will gesture to our customers, and is not in any way compulsory.? It will be released to the public when tit has been completely finished and the infrastructure is in place to allow people to download it.
?
HTC thanks you for your patience in this matter, and we are sure that you are now at the end of your wait.
?
Thank you for your enquiry.? Should you have any other problem, please do not hesitate to call us. Your local number can be found at http://www.europe.htc.com/support/csbyphone.html
?
Best regards,
Pete Whiteley
HTC Europe
Click to expand...
Click to collapse
So I guess it will be available at the beginning of September..
Offcourse they are right. It is made as good will to HTC customers. Next few weeks will do fine for me.
drwxr-xr-x 2 375 375 4096 Aug 14 08:47 .
drwxr-xr-x 9 375 503 4096 Aug 06 10:40 ..
-rw-r--r-- 1 375 375 56353423 Aug 14 08:20 HTC_P4350_DAN_4.17.403.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56314318 Aug 14 08:13 HTC_P4350_FIN_4.17.414.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 49640943 Aug 14 07:41 HTC_P4350_FRA_4.17.406.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 57116447 Aug 14 08:15 HTC_P4350_GER_4.17.407.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 49053095 Aug 14 08:17 HTC_P4350_ITA_4.17.408.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 55875407 Aug 14 08:22 HTC_P4350_NLD_4.17.404.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56264168 Aug 14 08:24 HTC_P4350_NOR_4.17.409.3_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56186466 Aug 14 08:44 HTC_P4350_PTG_4.17.410.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 55930152 Aug 14 08:49 HTC_P4350_RUS_4.17.411.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56205080 Aug 14 08:47 HTC_P4350_SPA_4.17.412.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56204286 Aug 14 08:42 HTC_P4350_SVE_4.17.413.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56629144 Aug 14 08:11 HTC_P4350_WWE_4.17.405.2_4.1.13.44_02.94.90_Ship.exe
bio88 said:
Offcourse they are right. It is made as good will to HTC customers. Next few weeks will do fine for me.
Click to expand...
Click to collapse
Well, for me the original press announcement about the update was one reason to buy the darn Herald.
Being in software development myself, I understand that sometimes things don't work as intended. Yet I have to keep my deadlines, or otherwise give clear justification as to what went wrong and provide a new definitive deadline (not "well, sometimes"), else my customers will kill me (ok, slightly exaggerated).
But anyway, there's nothing we can do but wait.
caxio said:
drwxr-xr-x 2 375 375 4096 Aug 14 08:47 .
drwxr-xr-x 9 375 503 4096 Aug 06 10:40 ..
-rw-r--r-- 1 375 375 56353423 Aug 14 08:20 HTC_P4350_DAN_4.17.403.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56314318 Aug 14 08:13 HTC_P4350_FIN_4.17.414.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 49640943 Aug 14 07:41
...
Click to expand...
Click to collapse
Now, THAT looks promising. Thx
caxio said:
drwxr-xr-x 2 375 375 4096 Aug 14 08:47 .
drwxr-xr-x 9 375 503 4096 Aug 06 10:40 ..
-rw-r--r-- 1 375 375 56353423 Aug 14 08:20 HTC_P4350_DAN_4.17.403.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56314318 Aug 14 08:13 HTC_P4350_FIN_4.17.414.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 49640943 Aug 14 07:41 HTC_P4350_FRA_4.17.406.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 57116447 Aug 14 08:15 HTC_P4350_GER_4.17.407.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 49053095 Aug 14 08:17 HTC_P4350_ITA_4.17.408.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 55875407 Aug 14 08:22 HTC_P4350_NLD_4.17.404.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56264168 Aug 14 08:24 HTC_P4350_NOR_4.17.409.3_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56186466 Aug 14 08:44 HTC_P4350_PTG_4.17.410.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 55930152 Aug 14 08:49 HTC_P4350_RUS_4.17.411.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56205080 Aug 14 08:47 HTC_P4350_SPA_4.17.412.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56204286 Aug 14 08:42 HTC_P4350_SVE_4.17.413.2_4.1.13.44_02.94.90_Ship.exe
-rw-r--r-- 1 375 375 56629144 Aug 14 08:11 HTC_P4350_WWE_4.17.405.2_4.1.13.44_02.94.90_Ship.exe
Click to expand...
Click to collapse
Where they are????
caxio said:
.....
-rw-r--r-- 1 375 375 56629144 Aug 14 08:11 HTC_P4350_WWE_4.17.405.2_4.1.13.44_02.94.90_Ship.e xe
.....
Click to expand...
Click to collapse
looks good. please share this file. thank you.
ftp://210.136.175.150/romcode/RomCode/HERALD-C9
Installed the WWE on my Herald with Vista, confirmed WinMo6.

[FIRMWARE] All official JB LINKS (Know about UPCOMING VERSIONS too)

AVAILABLE
STARHUB(Singapore) ASHBBK VERSION: 20A Last-Modified: Wed, 10 Apr 2013 15:50:39 SIZE: 592822279
SING TEL(Singapore) ASTLBK VERSION: 20A Last-Modified: Wed, 10 Apr 2013 17:05:05 GMT SIZE: 605953039
NIGERIA(EMAF_DIO) AAFRBK VERSION: 20C Last-Modified: Mon, 22 Apr 2013 11:35:30 SIZE: 606317894
ALGIERS(Algeria) AAGRBK VERSION: 20C Last-Modified: Mon, 22 Apr 2013 11:51:28 SIZE: 606317894
UNITED ARAB EMIRATES AAREBK VERSION: 20C Last-Modified: Fri, 19 Apr 2013 04:22:12 SIZE: 606317894
NIGERIA ANGRBK VERSION: 20C Last-Modified: Mon, 22 Apr 2013 12:05:06 SIZE: 606317894
TURKEY ATURBK VERSION: 20C Last-Modified: Mon, 22 Apr 2013 12:21:10 SIZE: 606317894
UNITED ARAB EMIRATES AUAEWH VERSION: 20C Last-Modified: Mon, 22 Apr 2013 12:20:07 SIZE: 606317894
UNITED KINGDOM AGBRBK VERSION: 20A Last-Modified: Wed, 03 Apr 2013 05:37:14 GMT SIZE: 605977835
Switzerland ASWSBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 08:05:09 GMT SIZE: 607512358
T-MOBILE(CZECHO) ATMCBK VERSION: 20A Last-Modified: Wed, 03 Apr 2013 05:42:11 GMT SIZE: 686139842
T-MOBILE(GERMANY) ATMDWH Last-Modified: Wed, 03 Apr 2013 05:52:04 GMT SIZE: 686139842
HUTCHISON(AUSTRIA) AHASBK VERSION: 20A Last-Modified: Wed, 03 Apr 2013 08:21:22 GMT SIZE: 613624785
POLAND APOLBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 07:05:07 GMT SIZE: 607512358
HUB(SINGAPORE) ASEABK VERSION: 20A Last-Modified: Tue, 02 Apr 2013 23:22:53 GMT SIZE: 594344154
BALTICS ABALBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 06:50:15 GMT SIZE: 607512358
BEIJING UNICOM(CHINA) ABUMBK VERSION: 20B Last-Modified: Thu, 28 Mar 2013 03:20:12 GMT SIZE: 545723598
CIS ACISBK VERSION: 20B Last-Modified: Thu, 28 Mar 2013 03:06:46 GMT SIZE: 609539302
CHUNGHWA TELECOM(TAIWAN) ACWTBK VERSION:20B Last-Modified: Thu, 28 Mar 2013 03:36:41 GMT SIZE: 605248159
CZECHO ACZEBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 07:21:11 GMT SIZE: 607512358
PORTUGAL APRTBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 07:51:16 GMT SIZE: 607512358
GERMANY ADEUWH VERSION: 20A Last-Modified: Wed, 03 Apr 2013 05:50:29 GMT SIZE: 607512358
FRANCE AFRABK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 07:20:04 GMT SIZE: 607512358
GREECE AGRCBK VERSION:20A Last-Modified: Wed, 27 Mar 2013 07:35:33 GMT SIZE: 607512358
HONG KONG AHKGBK VERSION: 20B Last-Modified: Thu, 28 Mar 2013 03:35:22 GMT SIZE: 601300374
HUNGARY AHUNBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 07:52:20 GMT SIZE: 607512358
INDONESIA AIDNBK VERSION: 20A Last-Modified: Fri, 05 Apr 2013 10:05:43 GMT SIZE: 594344154
INDIA AINDBK VERSION:20A Last-Modified: Fri, 05 Apr 2013 10:21:04 GMT SIZE: 594344154
ITALY AITABK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 06:55:16 SIZE: 607512358
EUROPE OPEN ANEUBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 07:50:07 GMT SIZE: 607512358
NETHERLANDS ANLDWH VERSION: 20A Last-Modified: Wed, 27 Mar 2013 07:22:11 GMT SIZE: 607512358
TELECOM CONCEPTS INC(PHILPPIN) ATCIBK VERSION: 20A Last-Modified: Fri, 05 Apr 2013 10:20:05 GMT SIZE: 594344154
THAILAND ATHABK VERSION: 20A Last-Modified: Fri, 05 Apr 2013 10:35:05 GMT SIZE: 594344154
VIETNAM AVNMBK VERSION: 20A Last-Modified: Fri, 05 Apr 2013 10:50:05 GMT SIZE: 594344154
FORBIDDEN (uploaded for testing)
GERMANY ADEUBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 01:39:04 GMT SIZE: 607512358
T-MOBILE(GERMANY) ATMNWH VERSION: 20A Last-Modified: Fri, 05 Apr 2013 00:20:28 SIZE: 686139842
ASEABK is now available fyi.
csmgdl.lgmobile.com/swdata/WDLSW/LGP880/ASEABK/V20a_00/V20A_00.kdz
archie87 said:
ASEABK is now available fyi.
csmgdl.lgmobile.com/swdata/WDLSW/LGP880/ASEABK/V20a_00/V20A_00.kdz
Click to expand...
Click to collapse
updated
(ot post)
L2Deliver said:
doesn't have English (Singapore), has English (United States/United Kingdom)
LG sure Singapore isn't part of South East Asia?
Click to expand...
Click to collapse
What is the difference? Is it as different as Bahasa Indonesia and Malay?
AAREBK
The Middle East version (AAREBK) yesterday was "Forbidden" and today is "Not Found"
fararm said:
The Middle East version (AAREBK) yesterday was "Forbidden" and today is "Not Found"
Click to expand...
Click to collapse
yes maybe they found a bug and will upload new 1 later
GERMANY ADEUBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 01:39:04 GMT SIZE: 607512358
is also avilabale since 04-APR-2013. TY.
sPEADy said:
GERMANY ADEUBK VERSION: 20A Last-Modified: Wed, 27 Mar 2013 01:39:04 GMT SIZE: 607512358
is also avilabale since 04-APR-2013. TY.
Click to expand...
Click to collapse
well ADEUWH link is available and for unknown reason ADEUBK still there and forbidden
(OT post by me)
Another fyi. APOLBK is available. :silly:
archie87 said:
Another fyi. APOLBK is available. :silly:
Click to expand...
Click to collapse
Updated keep doing this
and of course, Brazilian ROM will be available in 2018...
brunolmd said:
and of course, Brazilian ROM will be available in 2018...
Click to expand...
Click to collapse
Take it easy... after devs start to work on CM and other stuff, probably a solution will come out from somewhere.
Generaly its like Pandora's box, you never know what might "jump out".
AAREBK test version reuploaded but its 20B this time
RuedasLocas said:
Take it easy... after devs start to work on CM and other stuff, probably a solution will come out from somewhere.
Generaly its like Pandora's box, you never know what might "jump out".
Click to expand...
Click to collapse
We need the bootloader unlocked 1st... and it doesn't seem like anyone is working on that. Unless you have an European open phone you are SOL
why my phone can't update 20a by OTA? only 10f
My phone in VIETNAM
Apoena said:
We need the bootloader unlocked 1st... and it doesn't seem like anyone is working on that. Unless you have an European open phone you are SOL
Click to expand...
Click to collapse
Why cant you flash the eur firmware? Its what i did and it worked fine...
Also I can unlock my boot loader and I am really using the Thai Rom. So it is not only the Euro Rom
Sent from my LG-P880 using xda app-developers app
---------- Post added at 10:58 AM ---------- Previous post was at 10:56 AM ----------
You can't update via OTA. You need to do via the LG support tool on your computer.
Sent from my LG-P880 using xda app-developers app
AHASBK available
Regards

[Q] Install question (HP-TP): How to determine previous Android / clockworkmod on TP?

Hi,
I tried looking on past posts and the web, but I couldn't find an answer on my own.
I am hoping this is an easy question to some of you.
A while back I loaded a version of clockworkmod which looked like a cellphone interface on my HP Touchpad.
I didn't use it much and at some later date, my webOS prompted me to do an update or upgrade, which I did.
After that, I no longer had the option to boot into Android.
* Can someone please help me to determine how to go about installing one of the newer or newest version of Android on my TP?
I have found some instructions that ask if a previous version was already installed and which version.
I am not sure how to know which version I had, so maybe that is a first step.
Once I know if I have an earlier version or what version that is, I can go to one of the great install instructions and follow that.
I guess I need to know all the answers to install Android 4.x onto my particular HP.
Maybe the dates on some of these directories will be a clue or is there another comand one of you wants me to run to know.
Thanks!
Joe
Here is what is listed when I mount the TP on my Linux OS:
[email protected]:/media/HP TOUCHPAD$ ll
total 864
drwx------ 3 joe joe 32768 Oct 17 2011 Android
drwx------ 6 joe joe 32768 Sep 26 2012 appdata
drwx------ 3 joe joe 32768 Oct 31 2011 clockworkmod
drwx------ 3 joe joe 32768 Jan 26 2012 dbdata
drwx------ 4 joe joe 32768 Oct 17 2011 DCIM
drwx------ 2 joe joe 32768 Oct 31 2011 download
drwx------ 2 joe joe 32768 Nov 10 2013 downloads
drwx------ 2 joe joe 32768 Nov 9 11:31 gd_1970-11-06
drwx------ 2 joe joe 32768 Oct 30 2011 LOST.DIR
-rw-r--r-- 1 joe joe 292092 Nov 10 2013 Open Source Information.pdf
drwx------ 2 joe joe 32768 Jun 9 2011 ringtones
drwx------ 2 joe joe 32768 Jun 9 2011 wallpapers
-rw-r--r-- 1 joe joe 1265 Apr 6 2012 webos-ausmt.log
-rw-r--r-- 1 joe joe 170136 Sep 26 2012 webos-patches.log
[email protected]:/media/HP TOUCHPAD$
[email protected]:/media/HP TOUCHPAD$ ll clockworkmod/
total 32
drwx------ 2 joe joe 32768 Oct 31 2011 download
[email protected]:/media/HP TOUCHPAD$
[email protected]:/media/HP TOUCHPAD$ ll clockworkmod/download/-2110140792
-rw-r--r-- 1 joe joe 35517 Oct 31 2011 clockworkmod/download/-2110140792
[email protected]:/media/HP TOUCHPAD$
Still hoping for an answer.
To clarify my question, the install page asks me to decide whether this is a reinstall or a first time install.
I think it would probably be better to do a Full Clean install, but since there are some leftover artifacts of the clockworkmod, I need to know what I can get rid of.
I found this page with instructions at the rootzwiki:
rom-guide-how-to-install-android-42-43-and-new-44-builds-on-the-hp-touchpad-edited-111113
Anyone?
jemc said:
Hi,
I tried looking on past posts and the web, but I couldn't find an answer on my own.
I am hoping this is an easy question to some of you.
A while back I loaded a version of clockworkmod which looked like a cellphone interface on my HP Touchpad.
I didn't use it much and at some later date, my webOS prompted me to do an update or upgrade, which I did.
After that, I no longer had the option to boot into Android.
* Can someone please help me to determine how to go about installing one of the newer or newest version of Android on my TP?
I have found some instructions that ask if a previous version was already installed and which version.
I am not sure how to know which version I had, so maybe that is a first step.
Once I know if I have an earlier version or what version that is, I can go to one of the great install instructions and follow that.
I guess I need to know all the answers to install Android 4.x onto my particular HP.
Maybe the dates on some of these directories will be a clue or is there another comand one of you wants me to run to know.
Thanks!
Joe
Here is what is listed when I mount the TP on my Linux OS:
[email protected]:/media/HP TOUCHPAD$ ll
total 864
drwx------ 3 joe joe 32768 Oct 17 2011 Android
drwx------ 6 joe joe 32768 Sep 26 2012 appdata
drwx------ 3 joe joe 32768 Oct 31 2011 clockworkmod
drwx------ 3 joe joe 32768 Jan 26 2012 dbdata
drwx------ 4 joe joe 32768 Oct 17 2011 DCIM
drwx------ 2 joe joe 32768 Oct 31 2011 download
drwx------ 2 joe joe 32768 Nov 10 2013 downloads
drwx------ 2 joe joe 32768 Nov 9 11:31 gd_1970-11-06
drwx------ 2 joe joe 32768 Oct 30 2011 LOST.DIR
-rw-r--r-- 1 joe joe 292092 Nov 10 2013 Open Source Information.pdf
drwx------ 2 joe joe 32768 Jun 9 2011 ringtones
drwx------ 2 joe joe 32768 Jun 9 2011 wallpapers
-rw-r--r-- 1 joe joe 1265 Apr 6 2012 webos-ausmt.log
-rw-r--r-- 1 joe joe 170136 Sep 26 2012 webos-patches.log
[email protected]:/media/HP TOUCHPAD$
[email protected]:/media/HP TOUCHPAD$ ll clockworkmod/
total 32
drwx------ 2 joe joe 32768 Oct 31 2011 download
[email protected]:/media/HP TOUCHPAD$
[email protected]:/media/HP TOUCHPAD$ ll clockworkmod/download/-2110140792
-rw-r--r-- 1 joe joe 35517 Oct 31 2011 clockworkmod/download/-2110140792
[email protected]:/media/HP TOUCHPAD$
Click to expand...
Click to collapse

SM-G900A Galaxy S5 AT&T Update to Android OS5.1.1

ro.build.id=LMY47X.
ro.build.display.id=LMY47X.G900AUCU4COI5.
ro.build.version.incremental=G900AUCU4COI5.
ro.build.version.sdk=22.
ro.build.version.codename=REL.
ro.build.version.all_codenames=REL.
ro.build.version.release=5.1.1.
ro.build.date=Tue Sep 22 21:38:37 KST 2015.
ro.build.date.utc=1442925517.
ro.build.type=user.ro.build.user=dpi.ro.build.host=SWHD4323.
ro.build.tags=release-keys.
ro.build.flavor=klteuc-user.
ro.product.model=SAMSUNG-SM-G900A.
ro.product.brand=samsung.
ro.product.name=klteuc.
ro.product.device=klteatt.

Discussion: DNSCrypt that actually utilize magisk features

As you (may?) know DNSCrypt can protect you from DNS Spoofing attacks and related nasty stuff.
I've searched today to check if there is any magisk module for that and found one by p1n2o in the repository.
Thing is, it requires init.d and as you know, init.d support is rarely found in stock roms and users choosing magisk want just one main thing, untouched /system, meaning hacks for implementing init.d are out of question.
I wonder, is it possible to modify dnscrypt binaries to use magisk postfs which serves the exact same purpose as init.d?
I'm really surprised to see no-one else brought this topic up before. No-one cares for integrity these days?
Read my post
https://forum.xda-developers.com/showthread.php?p=75108681
DNSCrypt is good idea but bad implemented.
Wysłane z mojego Moto G (5S) Plus przy użyciu Tapatalka
QkiZMR said:
Read my post
https://forum.xda-developers.com/showthread.php?p=75108681
DNSCrypt is good idea but bad implemented.
Wysłane z mojego Moto G (5S) Plus przy użyciu Tapatalka
Click to expand...
Click to collapse
I'm not a specialist but I guess dnscrypt source code has to be slightly modified to use magisk postfs path and not init.d and then recompiled especially for this module.
Wrong file permissions (execute is missing) can be easily fixed in magisk config.sh template. Not a real issue.
DenyDarko said:
I'm not a specialist but I guess dnscrypt source code has to be slightly modified to use magisk postfs path and not init.d and then recompiled especially for this module.
Wrong file permissions (execute is missing) can be easily fixed in magisk config.sh template. Not a real issue.
Click to expand...
Click to collapse
Source code isn't needed to modify. There is only need to change startup script.
Wysłane z mojego Moto G (5S) Plus przy użyciu Tapatalka
@Zackptg5 has a module in the repo called init.d linker. it links init.d to Magisk. just use that and install dnscrypt
JohnFawkes said:
@Zackptg5 has a module in the repo called init.d linker. it links init.d to Magisk. just use that and install dnscrypt
Click to expand...
Click to collapse
No there isn't. It was outdated and got removed.
DenyDarko said:
No there isn't. It was outdated and got removed.
Click to expand...
Click to collapse
The devs updated it to the latest template (1500). It hasn't reapeared in magisk manager yet, but it is listed in magisk modules repo on github. I downloaded it from there and now dnscript seems to work as expected on my phone.
JERW28 said:
The devs updated it to the latest template (1500). It hasn't reapeared in magisk manager yet, but it is listed in magisk modules repo on github. I downloaded it from there and now dnscript seems to work as expected on my phone.
Click to expand...
Click to collapse
Hm. Interesting.
So You're telling me you just installed those two magisk modules, doing nothing else (like changing configuration or properties), and it worked?
So..
I've fixed the permissions for binaries for dnscrypt and it'll run out of the box.
I've also exported init.d linker from github and it works too.
By installing both through manager and reboot, it runs. Both are attached.
However it won't actually work.
Check the image.
Any ideas?
DenyDarko said:
Hm. Interesting.
So You're telling me you just installed those two magisk modules, doing nothing else (like changing configuration or properties), and it worked?
Click to expand...
Click to collapse
I had to choose a dnscypt resolver and I used this small mod to change it.
You need to reboot for the change to take effect and I had to follow the directions in this post because i'm running android 7.1.2
---------- Post added at 03:58 AM ---------- Previous post was at 03:47 AM ----------
DenyDarko said:
So..
I've fixed the permissions for binaries for dnscrypt and it'll run out of the box.
I've also exported init.d linker from github and it works too.
By installing both through manager and reboot, it runs. Both are attached.
However it won't actually work.
Check the image.
Any ideas?
Click to expand...
Click to collapse
Forget what I said. I looked closer and I have the same issue.
JERW28 said:
Forget what I said. I looked closer and I have the same issue.
Click to expand...
Click to collapse
I've changed the default servers to yandex and Cisco as the default were having errors in the log. Attached.
Now it seems it runs no errors. Still I can't pass dnssec tests xD
Wanna try?
No need to chmod (the post you mentioned), I've fixed that.
Also, no need for the mod either, dnscrypt (this one) places iptables rules itself.
@DenyDarko It doesn't seem to be working The log isn't running like before..
See log below
3C Toolbox Pro (terminal)
========================
=======================
dnscrypt enable (su)
=======================
Enabling dnscrypt-proxy...
Thu Jan 25 04:39:48 2018 [INFO] - [cisco] does not support DNS Security Extensions
Thu Jan 25 04:39:48 2018 [NOTICE] Starting dnscrypt-proxy 1.9.4
Thu Jan 25 04:39:48 2018 [INFO] Generating a new session key pair
Thu Jan 25 04:39:48 2018 [INFO] Done
Thu Jan 25 04:39:48 2018 [INFO] Server certificate with serial #1490391488 received
Thu Jan 25 04:39:48 2018 [INFO] This certificate is valid
Thu Jan 25 04:39:48 2018 [INFO] Chosen certificate #1490391488 is valid from [2017-03-24] to [2018-03-24]
Thu Jan 25 04:39:48 2018 [INFO] The key rotation period for this server may exceed the recommended value. This is bad for forward secrecy.
Thu Jan 25 04:39:48 2018 [INFO] Server key fingerprint is E7F8:4477:BF89:1434:1ECE:23F06A6:6EB9:4F45:316771F:80BB:4E80:A04F:F180:F778
Done
Thu Jan 25 04:39:48 2018 [WARNING] This system doesn't provide enough entropy to quickly generate high-quality random numbers
Thu Jan 25 04:39:48 2018 [WARNING] Installing the rng-utils/rng-tools or haveged packages may help.
Thu Jan 25 04:39:48 2018 [WARNING] On virtualized Linux environments, also consider using virtio-rng.
Thu Jan 25 04:39:48 2018 [WARNING] The service will not start until enough entropy has been collected.
Thu Jan 25 04:39:48 2018 [WARNING] - [cisco] logs your activity - a different provider might be better a choice if privacy is a concern
Thu Jan 25 04:39:48 2018 [WARNING] This system doesn't provide enough entropy to quickly generate high-quality random numbers
Thu Jan 25 04:39:48 2018 [WARNING] Installing the rng-utils/rng-tools or haveged packages may help.
Thu Jan 25 04:39:48 2018 [WARNING] On virtualized Linux environments, also consider using virtio-rng.
Thu Jan 25 04:39:48 2018 [WARNING] The service will not start until enough entropy has been collected.
=======================
dnscrypt enable (su)
=======================
Enabling dnscrypt-proxy...
Thu Jan 25 04:40:02 2018 [INFO] - [cisco] does not support DNS Security Extensions
Thu Jan 25 04:40:02 2018 [NOTICE] Starting dnscrypt-proxy 1.9.4
Thu Jan 25 04:40:02 2018 [INFO] Generating a new session key pair
Thu Jan 25 04:40:02 2018 [INFO] Done
Thu Jan 25 04:40:02 2018 [INFO] Server certificate with serial #1490391488 received
Thu Jan 25 04:40:02 2018 [INFO] This certificate is valid
Thu Jan 25 04:40:02 2018 [INFO] Chosen certificate #1490391488 is valid from [2017-03-24] to [2018-03-24]
Thu Jan 25 04:40:02 2018 [INFO] The key rotation period for this server may exceed the recommended value. This is bad for forward secrecy.
Thu Jan 25 04:40:02 2018 [INFO] Server key fingerprint is E7F8:4477:BF89:1434:1ECE:23F06A6:6EB9:4F45:316771F:80BB:4E80:A04F:F180:F778
Thu Jan 25 04:40:02 2018 [WARNING] This system doesn't provide enough entropy to quickly generate high-quality random numbers
Thu Jan 25 04:40:02 2018 [WARNING] Installing the rng-utils/rng-tools or haveged packages may help.
Thu Jan 25 04:40:02 2018 [WARNING] On virtualized Linux environments, also consider using virtio-rng.
Thu Jan 25 04:40:02 2018 [WARNING] The service will not start until enough entropy has been collected.
Thu Jan 25 04:40:02 2018 [WARNING] - [cisco] logs your activity - a different provider might be better a choice if privacy is a concern
Done
Thu Jan 25 04:40:02 2018 [WARNING] This system doesn't provide enough entropy to quickly generate high-quality random numbers
Thu Jan 25 04:40:02 2018 [WARNING] Installing the rng-utils/rng-tools or haveged packages may help.
Thu Jan 25 04:40:02 2018 [WARNING] On virtualized Linux environments, also consider using virtio-rng.
Thu Jan 25 04:40:02 2018 [WARNING] The service will not start until enough entropy has been collected.
JERW28 said:
@DenyDarko It doesn't seem to be working The log isn't running like before..
See log below
3C Toolbox Pro (terminal)
========================
=======================
dnscrypt enable (su)
=======================
Enabling dnscrypt-proxy...
Thu Jan 25 04:39:48 2018 [INFO] - [cisco] does not support DNS Security Extensions
Thu Jan 25 04:39:48 2018 [NOTICE] Starting dnscrypt-proxy 1.9.4
Thu Jan 25 04:39:48 2018 [INFO] Generating a new session key pair
Thu Jan 25 04:39:48 2018 [INFO] Done
Thu Jan 25 04:39:48 2018 [INFO] Server certificate with serial #1490391488 received
Thu Jan 25 04:39:48 2018 [INFO] This certificate is valid
Thu Jan 25 04:39:48 2018 [INFO] Chosen certificate #1490391488 is valid from [2017-03-24] to [2018-03-24]
Thu Jan 25 04:39:48 2018 [INFO] The key rotation period for this server may exceed the recommended value. This is bad for forward secrecy.
Thu Jan 25 04:39:48 2018 [INFO] Server key fingerprint is E7F8:4477:BF89:1434:1ECE:23F06A6:6EB9:4F45:316771F:80BB:4E80:A04F:F180:F778
Done
Thu Jan 25 04:39:48 2018 [WARNING] This system doesn't provide enough entropy to quickly generate high-quality random numbers
Thu Jan 25 04:39:48 2018 [WARNING] Installing the rng-utils/rng-tools or haveged packages may help.
Thu Jan 25 04:39:48 2018 [WARNING] On virtualized Linux environments, also consider using virtio-rng.
Thu Jan 25 04:39:48 2018 [WARNING] The service will not start until enough entropy has been collected.
Thu Jan 25 04:39:48 2018 [WARNING] - [cisco] logs your activity - a different provider might be better a choice if privacy is a concern
Thu Jan 25 04:39:48 2018 [WARNING] This system doesn't provide enough entropy to quickly generate high-quality random numbers
Thu Jan 25 04:39:48 2018 [WARNING] Installing the rng-utils/rng-tools or haveged packages may help.
Thu Jan 25 04:39:48 2018 [WARNING] On virtualized Linux environments, also consider using virtio-rng.
Thu Jan 25 04:39:48 2018 [WARNING] The service will not start until enough entropy has been collected.
=======================
dnscrypt enable (su)
=======================
Enabling dnscrypt-proxy...
Thu Jan 25 04:40:02 2018 [INFO] - [cisco] does not support DNS Security Extensions
Thu Jan 25 04:40:02 2018 [NOTICE] Starting dnscrypt-proxy 1.9.4
Thu Jan 25 04:40:02 2018 [INFO] Generating a new session key pair
Thu Jan 25 04:40:02 2018 [INFO] Done
Thu Jan 25 04:40:02 2018 [INFO] Server certificate with serial #1490391488 received
Thu Jan 25 04:40:02 2018 [INFO] This certificate is valid
Thu Jan 25 04:40:02 2018 [INFO] Chosen certificate #1490391488 is valid from [2017-03-24] to [2018-03-24]
Thu Jan 25 04:40:02 2018 [INFO] The key rotation period for this server may exceed the recommended value. This is bad for forward secrecy.
Thu Jan 25 04:40:02 2018 [INFO] Server key fingerprint is E7F8:4477:BF89:1434:1ECE:23F06A6:6EB9:4F45:316771F:80BB:4E80:A04F:F180:F778
Thu Jan 25 04:40:02 2018 [WARNING] This system doesn't provide enough entropy to quickly generate high-quality random numbers
Thu Jan 25 04:40:02 2018 [WARNING] Installing the rng-utils/rng-tools or haveged packages may help.
Thu Jan 25 04:40:02 2018 [WARNING] On virtualized Linux environments, also consider using virtio-rng.
Thu Jan 25 04:40:02 2018 [WARNING] The service will not start until enough entropy has been collected.
Thu Jan 25 04:40:02 2018 [WARNING] - [cisco] logs your activity - a different provider might be better a choice if privacy is a concern
Done
Thu Jan 25 04:40:02 2018 [WARNING] This system doesn't provide enough entropy to quickly generate high-quality random numbers
Thu Jan 25 04:40:02 2018 [WARNING] Installing the rng-utils/rng-tools or haveged packages may help.
Thu Jan 25 04:40:02 2018 [WARNING] On virtualized Linux environments, also consider using virtio-rng.
Thu Jan 25 04:40:02 2018 [WARNING] The service will not start until enough entropy has been collected.
Click to expand...
Click to collapse
Have you tried seeder to see if it shuts that error up?
And I say seeder... Cuz it's easily removed if it doesn't help
Sent from my PH-1 using Tapatalk
rignfool said:
Have you tried seeder to see if it shuts that error up?
Click to expand...
Click to collapse
have you a link?
rignfool said:
Have you tried seeder to see if it shuts that error up?
And I say seeder... Cuz it's easily removed if it doesn't help
Sent from my PH-1 using Tapatalk
Click to expand...
Click to collapse
What is that? I've never heard of it?
starbase64 said:
have you a link?
Click to expand...
Click to collapse
Not off the top of my head... But Google will bring you to it...
There's a thread on XDA with a free version...
Sent from my PH-1 using Tapatalk
---------- Post added at 12:32 PM ---------- Previous post was at 12:30 PM ----------
JERW28 said:
What is that? I've never heard of it?
Click to expand...
Click to collapse
It uses uhhh... I think Urandom to seed actual random...
Mumble mumble not true random numbers mumble mumble
From what I read that part is only applicable with things like PGP... However... Since you're using DNSCrypt... You MIGHT care... I don't know
Sent from my PH-1 using Tapatalk
I've found this app, but doesn't work on android 8
https://play.google.com/store/apps/details?id=com.lcis.seeder
starbase64 said:
I've found this app, but doesn't work on android 8
https://play.google.com/store/apps/details?id=com.lcis.seeder
Click to expand...
Click to collapse
Try the app from this post.
---------- Post added at 08:23 PM ---------- Previous post was at 08:11 PM ----------
I don't know if seeder and dnscrypt is actually working or not.. it will give me a key when I type
su
dnscrypt enable
but it's not a running log..so I don't know.. I am using openDNS. Any clue how to tell if it's working?
@JERW28
that works, thanks
JERW28 said:
Try the app from this post.
---------- Post added at 08:23 PM ---------- Previous post was at 08:11 PM ----------
I don't know if seeder and dnscrypt is actually working or not.. it will give me a key when I type
su
dnscrypt enable
but it's not a running log..so I don't know.. I am using openDNS. Any clue how to tell if it's working?
Click to expand...
Click to collapse
Never mind it's working fine

Categories

Resources