Buggy updated APN-List in Custom ROMs - G1 Android Development

Brazil APN List
Some one can put this on active development roms apn lists? ( CM will be great )
Carrier: TIM
APN: tim.br
UserName: tim
Password: tim
Carrier: OI
APN: gprs.oi.com.br
UserName: oi
Password: oi
Carrier: vivo
APN: zap.vivo.com
UserName: vivo
Password: (blank)
Carrier: BRASIL TELECOM
APN: brt.br
UserName: brt
UserName: brt
THX a lot

Hi,
found out the apnlist.xml is buggy.
There are values with MNC anc MCC="null".
These values cannot be "null", because then the SIM-Card cannot be associated to the provider.
There's an app on market "APN Backup and Restore" and because of these faulty entries it is not possible to restore the apnlist.xml.
I believe these entries are from big APN thread and sombody didn't do a good job when entering the values, so four of these APNs are waste.
e.g:
Code:
<apn name="Fido MMS" numeric="nullnull" [B]mcc="null" mnc="null"[/B] apn="mms.fido.ca" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="205.151.11.13" mmsport="null" mmsprotocol="null" mmsc="http://mms.fido.ca" type="mms" />
Code:
<apn name="Fido" numeric="nullnull" [B]mcc="null" mnc="null"[/B] apn="internet.fido.ca" user="fido" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="default" />
Code:
<apn name="Rogers MMS" numeric="nullnull" [B]mcc="null" mnc="null" [/B]apn="media.com" user="media" server="172.25.0.107" password="mda01" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="http://mms.gprs.rogers.com" type="mms" />
I removed four faulty APNs, and now the apnlist.xml (download zip-file) shoud be bugfree.
Btw i added some missing APNs.
This apnlist.xml is from MLIGN Hero-ROM, and i believe other share the same apnlist.xml.
EDIT: New apnlist.xml now working with "APN Backup & Restore" app

I like to add some danish to it:
Code:
<apn carrier="Telenor" apn="internet" mcc="238" mnc="02" type="default" />
<apn carrier="Telenor MMS" apn="internet" mmsc="http://mms.telenor.dk" mmsproxy="212.88.64.8" port="8080" mcc="238" mnc="02" type="mms" />
<apn carrier="Telia" apn="www.internet.mtelia.dk" mcc="238" mnc="20" type="default" />
<apn carrier="Telia MMS" apn="www.mms.mtelia.dk" mmsc="http://mms.telia.dk" mmsproxy="193.209.134.131" port="8080" mcc="238" mnc="20" type="mms" />
<apn carrier="Telmore" apn="internet" mcc="238" mnc="01" type="default" />
<apn carrier="Telmore MMS" apn="mms" mmsc="http://192.168.241.114:8002" mmsproxy="194.182.251.15" port="8080" mcc="238" mnc="01" type="mms" />
<apn carrier="3" apn="data.tre.dk" mcc="238" mnc="06" type="default" />
<apn carrier="3 MMS" apn="data.3.dk" mmsc="http://mms.3.dk" mmsproxy="172.16.1.25" port="8799" mcc="238" mnc="06" type="mms" />

Related

Removal of Carrier from Notification Bar

So far all my searches on how to remove the carrier from the drop down notification bar focus on changing the string value to something else or blanking it out. I would like to remove that whole section. I am on Rogers and my carrier is not listed in eri.xml, so that is not an option anyway.
I found some interesting info on this site:
http://www.absolutelyandroid.com/ui-tweaks-on-cm6-a-tutorial/
which explained some bits inside status_bar_expanded.xml from the framework-res.apk. I am not that familiar with the code (yet) but wondered what would happen if I removed the chunk that refers to "plmnLabel" and "spnLabel"? Could I safely remove that wasted space that tells me what I already know (that I'm on Rogers network).
Code:
<?xml version="1.0" encoding="UTF-8"?>
<com.android.server.status.ExpandedView android:orientation="vertical" android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants" android:directionality="leftToRight"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:orientation="horizontal" android:background="@drawable/status_bar_header_background" android:paddingTop="3.0dip" android:paddingRight="3.0dip" android:paddingBottom="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
[COLOR="Red"]<LinearLayout android:layout_gravity="center_vertical" android:orientation="vertical" android:paddingBottom="1.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0">
<TextView android:textAppearance="?textAppearanceLarge" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:id="@id/plmnLabel" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:textAppearance="?textAppearanceLarge" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:id="@id/spnLabel" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>[/COLOR]
<TextView android:textSize="14.0sp" android:textColor="#ff000000" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:background="@drawable/btn_default_small" android:paddingLeft="15.0dip" android:paddingRight="15.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginBottom="1.0dip" android:text="@string/status_bar_clear_all_button" style="\?android:attr/buttonStyle" />
</LinearLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
<com.android.server.status.NotificationLinearLayout android:orientation="vertical" android:id="@id/notificationLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBarTitle" android:id="@id/noNotificationsTitle" android:background="@drawable/title_bar_portrait" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_no_notifications_title" />
<TextView android:textAppearance="@style/TextAppearance.StatusBarTitle" android:id="@id/ongoingTitle" android:background="@drawable/title_bar_portrait" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_ongoing_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<TextView android:textAppearance="@style/TextAppearance.StatusBarTitle" android:id="@id/latestTitle" android:background="@drawable/title_bar_portrait" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_latest_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.server.status.NotificationLinearLayout>
</ScrollView>
<ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/title_bar_shadow" android:scaleType="fitXY" />
</FrameLayout>
</com.android.server.status.ExpandedView>
The only reason I don't intend to remove the next level of nested FrameLayout tags is because the Clear button appears in it. I'm not sure what to do about that.
Eventually, I would like to figure out how to add power control toggles to this are (much like some other themes/roms have done).
Any thoughts?
I found a little more info (not directly helpful to what I want to do) that will help blank the carrier if that is all you want to do.
My carrier is not listed in my eri.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<EriFile VersionNumber="1357" NumberOfEriEntries="12" EriFileType="1">
<CallPromptId Id="0" CallPromptText="CallPromptId0" />
<CallPromptId Id="1" CallPromptText="CallPromptId1" />
<CallPromptId Id="2" CallPromptText="CallPromptId2" />
<EriInfo RoamingIndicator="64" IconIndex="1" IconMode="0" EriText="T-CDMA 64" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="65" IconIndex="65" IconMode="0" EriText="T-CDMA 65" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="66" IconIndex="1" IconMode="0" EriText="T-CDMA Ext 66" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="67" IconIndex="67" IconMode="0" EriText="T-CDMA Ext 67" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="68" IconIndex="68" IconMode="0" EriText="T-CDMA Roam 68" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="69" IconIndex="69" IconMode="1" EriText="T-CDMA Ext 69" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="70" IconIndex="70" IconMode="1" EriText="T-CDMA Roam 70" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="71" IconIndex="1" IconMode="0" EriText="T-CDMA Ext 71" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="72" IconIndex="72" IconMode="0" EriText="T-CDMA Ext 72" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="73" IconIndex="73" IconMode="0" EriText="T-CDMA Roam 73" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="74" IconIndex="74" IconMode="1" EriText="T-CDMA Ext 74" CallPromptId="0" AlertId="0" />
<EriInfo RoamingIndicator="75" IconIndex="75" IconMode="1" EriText="T-CDMA Roam 75" CallPromptId="0" AlertId="0" />
</EriFile>
But I did find a file located on my phone that lists many providers with their details (from all continents):
/etc/customization/content/com/sonyericsson/r2r/client/preloaded_config.xml
Gonna take a browse through that and look for "Rogers".

AndroidManifest.xml issues

Alright I used this same AndroidManifest.xml code several times to create my app and it worked just fine now I'm getting 5 different errors and I can't figure out why.
Here's the xml code:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="technologx.technologx"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<meta-data
android:name="com.google.android.backup.api_key"
android:value="AEdPqrEAAAAILe2cCZXNBhacXv2fkMpNM5F7FWTdWRUw-r1dFg" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="technologx.technologx.SplashScreen"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="technologx.technologx.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="technologx.technologx.MAINACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
Here's the errors I"m getting every time I try to create the apk:
Code:
Error:(27, 24) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(28, 24) No resource found that matches the given name (at 'theme' with value '@style/AppTheme').
Error:(31, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(40, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:Execution failed for task ':app:processReleaseResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Users/knye1991/Library/Android/sdk/build-tools/23.0.2/aapt'' finished with non-zero exit value 1
Could someone possibly help me fix my issue please?

Any App development to read the Wifi Passwords in WifiConfigStore.xml for Oreo?

I don't know if no one picked up on this but I don't see any discussion about app development to read wifi passwords for the replacement to wpa_supplicant.conf, that being WifiConfigStore.xml. I have notified the developer of the app I use of the change but he has yet to release an update.
Essentially if you upgrade your phone to Android Oreo it will migrate the /data/misc/wifi/wpa_supplicant.conf to /data/misc/wifi/WifiConfigStore.xml.
That is the new file
Your Wifi Password app of choice will read the wpa_supplicant.conf which will still exist, however, any new connections made will be stored in the WifiConfigStore.xml file meaning that the Wifi Password apps won't "see" the new connections.
Worse yet, If you did a reset of your phone and you are starting from scratch you will only be able to get that information from the WifiConfigStore.xml file.
All is not lost, since you most likely have root for the Wifi Password app to get that data in the first place, albeit in a nice gui.
This means that you access that file directly, via a root explorer file manager, to see your connections and passwords.
So is there anyone considering doing an app for this? If so, the following may help.
This is only a small sample with 2 wifi connections. One with a preshared key and one without.
I hope this helps.
Code:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<WifiConfigStoreData>
<int name="Version" value="1" />
<NetworkList>
<Network>
<WifiConfiguration>
<string name="ConfigKey">"LIME1002"WPA_PSK</string>
<string name="SSID">"LIME1002"</string>
<null name="BSSID" />
<string name="PreSharedKey">"guesswhatitis"</string>
<null name="WEPKeys" />
<int name="WEPTxKeyIndex" value="0" />
<boolean name="HiddenSSID" value="false" />
<boolean name="RequirePMF" value="false" />
<byte-array name="AllowedKeyMgmt" num="1">02</byte-array>
<byte-array name="AllowedProtocols" num="1">03</byte-array>
<byte-array name="AllowedAuthAlgos" num="0"></byte-array>
<byte-array name="AllowedGroupCiphers" num="1">0c</byte-array>
<byte-array name="AllowedPairwiseCiphers" num="1">06</byte-array>
<boolean name="Shared" value="true" />
<int name="Status" value="0" />
<null name="FQDN" />
<null name="ProviderFriendlyName" />
<null name="LinkedNetworksList" />
<null name="DefaultGwMacAddress" />
<boolean name="ValidatedInternetAccess" value="true" />
<boolean name="NoInternetAccessExpected" value="false" />
<int name="UserApproved" value="1" />
<boolean name="MeteredHint" value="false" />
<boolean name="UseExternalScores" value="false" />
<int name="NumAssociation" value="2" />
<int name="CreatorUid" value="-1" />
<string name="CreatorName">null</string>
<null name="CreationTime" />
<int name="LastUpdateUid" value="-1" />
<string name="LastUpdateName">null</string>
<int name="LastConnectUid" value="-1" />
<boolean name="IsLegacyPasspointConfig" value="false" />
<long-array name="RoamingConsortiumOIs" num="0" />
</WifiConfiguration>
<NetworkStatus>
<string name="SelectionStatus">NETWORK_SELECTION_ENABLED</string>
<string name="DisableReason">NETWORK_SELECTION_ENABLE</string>
<null name="ConnectChoice" />
<long name="ConnectChoiceTimeStamp" value="-1" />
<boolean name="HasEverConnected" value="true" />
</NetworkStatus>
<IpConfiguration>
<string name="IpAssignment">DHCP</string>
<string name="ProxySettings">NONE</string>
</IpConfiguration>
</Network>
<Network>
<WifiConfiguration>
<string name="ConfigKey">"Ashton_Med_Patients"NONE</string>
<string name="SSID">"Ashton_Med_Patients"</string>
<null name="BSSID" />
<null name="PreSharedKey" />
<null name="WEPKeys" />
<int name="WEPTxKeyIndex" value="0" />
<boolean name="HiddenSSID" value="false" />
<boolean name="RequirePMF" value="false" />
<byte-array name="AllowedKeyMgmt" num="1">01</byte-array>
<byte-array name="AllowedProtocols" num="1">03</byte-array>
<byte-array name="AllowedAuthAlgos" num="0"></byte-array>
<byte-array name="AllowedGroupCiphers" num="1">0c</byte-array>
<byte-array name="AllowedPairwiseCiphers" num="1">06</byte-array>
<boolean name="Shared" value="true" />
<int name="Status" value="0" />
<null name="FQDN" />
<null name="ProviderFriendlyName" />
<null name="LinkedNetworksList" />
<null name="DefaultGwMacAddress" />
<boolean name="ValidatedInternetAccess" value="true" />
<boolean name="NoInternetAccessExpected" value="false" />
<int name="UserApproved" value="1" />
<boolean name="MeteredHint" value="false" />
<boolean name="UseExternalScores" value="false" />
<int name="NumAssociation" value="1" />
<int name="CreatorUid" value="1000" />
<string name="CreatorName">android.uid.system:1000</string>
<string name="CreationTime">time=07-26 13:20:02.564</string>
<int name="LastUpdateUid" value="1000" />
<string name="LastUpdateName">android.uid.system:1000</string>
<int name="LastConnectUid" value="1000" />
<boolean name="IsLegacyPasspointConfig" value="false" />
<long-array name="RoamingConsortiumOIs" num="0" />
</WifiConfiguration>
<NetworkStatus>
<string name="SelectionStatus">NETWORK_SELECTION_ENABLED</string>
<string name="DisableReason">NETWORK_SELECTION_ENABLE</string>
<null name="ConnectChoice" />
<long name="ConnectChoiceTimeStamp" value="-1" />
<boolean name="HasEverConnected" value="true" />
</NetworkStatus>
<IpConfiguration>
<string name="IpAssignment">DHCP</string>
<string name="ProxySettings">NONE</string>
</IpConfiguration>
</Network>
</NetworkList>
<PasspointConfigData>
<long name="ProviderIndex" value="0" />
</PasspointConfigData>
</WifiConfigStoreData>
I'm looking for an app that lets you manage/see wifi passwords with the new method too.
So far, the only app who does something with it, is titanium backup. It only backups/restores the networks with passwords though.
Hope there will be more apps being updated to support this.
I've created an app that you can test.
thread: https://forum.xda-developers.com/android/apps-games/app-oreo-wifi-passwords-t3708043
Try WiFi Password Show app, it can help you read WiFi Password on Android Oreo 8.0 and up
play.google.com/store/apps/details?id=com.phuongpn.wifipasswordshow
She reads them to me and makes a copy https://play.google.com/store/apps/details?id=com.rusdelphi.wifipassword
joseac said:
She reads them to me and makes a copy https://play.google.com/store/apps/details?id=com.rusdelphi.wifipassword
Click to expand...
Click to collapse
on samsung ROM, seems to be, the PWD not stored anymore in PLAIN ....
they are now encrypted ...
any idea if that can be supported as well ?
camro said:
on samsung ROM, seems to be, the PWD not stored anymore in PLAIN ....
they are now encrypted ...
any idea if that can be supported as well ?
Click to expand...
Click to collapse
Some time ago, it was said that if you changed the line the build.prop: ro.securestorage.support = true
by: - ​​ro.securestorage.support = false, and then restarted, it no longer encrypted networks.

[GUIDE-VOLTE-PIE]VoLTE and VoWifi enabling on PIE G710EM

Hello everyone, I just wanted to share with you how to enable VoLTE and VoWiFi on the LG G710EM Android Pie.
I've found on the forum this guide https://forum.xda-developers.com/lg-g7-thinq/how-to/wip-guide-enable-volte-vowifi-uk-mobile-t3835167 written by @stuclark , it is perfect but you have to do something else to make it works on Android 9.
What we need:
LG G710EM with unlocked bootloader and root(magisk).
Follow these steps:
1) Flash a patched boot.img with "lge.op_verity=0". I'll attach an already patched and edited boot.img for V20e PIE. If you are on a different version, just extract the boot.img from the LG KDZ, patch with magisk and open with an hex-editor, like HxD, search "lge.op_verity=1" then change it to "lge.op_verity=0".
2)Flash the patched and edited boot.img in fastboot mode
Code:
fastboot flash boot_a [location of your boot.img file]
fastboot flash boot_b [location of your boot.img file]
then reboot
3) Now you can follow the steps of @stuclark 's guide that I will report below:
4) Open Solid Exploer and navigate to the following location in your root storage: Root > OEM > OP > OPEN_EU > CONFIG folder and open the VO_CONFIG.XML file. Make a backup of it. If you're magisk is not working well after flashing the modified boot.img, go into magisk manager and patch it again.
5) You now need to add settings for your network in the file above... You'll need to know your network's MNC & MNC for this, which can be found from the LG hidden menu *#546368#*710# under the Field Test > SIM Info section. You can add just the network you use, or all for your country, or any other combination of your choosing.
To have the VoLTE enabled and working with the Italian providers (TIM IT, Vodafone IT, Wind):
Code:
</info>
<info mcc="222" mnc="88"><!-- WIN -->
<prop
support_volte="1"
support_vilte="0"
support_vowifi="0"
support_viwifi="0"
/>
</info>
<info mcc="222" mnc="10"><!-- VDF IT -->
<prop
support_volte="1"
support_vilte="0"
support_vowifi="0"
support_viwifi="0"
/>
</info>
<info mcc="222" mnc="01"><!-- TIM IT -->
<prop
support_volte="1"
support_vilte="0"
support_vowifi="0"
support_viwifi="0"
/>
6) Check in the global_apns.xml file if your provider's ims apn is present. If not just add it.
For the italian providers :
Code:
<apn carrier="IMS" mcc="222" mnc="88" apn="ims" user="" password="" authtype="0" server="" proxy="" port="" mmsc="" mmsproxy="" mmsport="" type="ims" defaultflag="2" user_editable="false" user_visible="false" roaming_protocol="IPV4V6" protocol="IPV4V6" preferapp="" suffix="EUU,WIND" childSuffix="EUU[WIND]" />
<apn carrier="IMS" mcc="222" mnc="10" apn="IMS" user="" password="" authtype="0" server="" proxy="" port="" mmsc="" mmsproxy="" mmsport="" type="ims" defaultflag="2" roaming_protocol="IPV4V6" protocol="IPV4V6" preferapp="" user_editable="false" user_visible="false" suffix="EUU,OVG,VDI" childSuffix="EUU[VDI],OVG[VDI]" />
<apn carrier="IMS" mcc="222" mnc="01" apn="ims" user="" password="" authtype="0" server="" proxy="" port="" mmsc="" mmsproxy="" mmsport="" type="ims" defaultflag="2" user_editable="false" user_visible="false" roaming_protocol="IPV4V6" protocol="IPV4V6" preferapp="" suffix="EUU,TIM" childSuffix="EUU[TIM]" />
Save it and reboot the phone. Now The VoLTE should works and you should be able to see the VoLTE toggle in the settings.
I hope it helped. Thanks to @stuclark .
Attachments:
https://drive.google.com/open?id=1jiXkI1aH5PHIQQFLe_FXYoPh5HgeVZEe boot img
GuidoFlex2 said:
Hello everyone, I just wanted to share with you how to enable VoLTE and VoWiFi on the LG G710EM Android Pie.
I've found on the forum this guide https://forum.xda-developers.com/lg-g7-thinq/how-to/wip-guide-enable-volte-vowifi-uk-mobile-t3835167 written by @stuclark , it is perfect but you have to do something else to make it works on Android 9.
What we need:
LG G710EM with unlocked bootloader and root(magisk).
Follow these steps:
1) Flash a patched boot.img with "lge.op_verity=0". I'll attach an already patched and edited boot.img for V20e PIE. If you are on a different version, just extract the boot.img from the LG KDZ, patch with magisk and open with an hex-editor, like HxD, search "lge.op_verity=1" then change it to "lge.op_verity=0".
2)Flash the patched and edited boot.img in fastboot mode
Code:
fastboot flash boot_a [location of your boot.img file]
fastboot flash boot_b [location of your boot.img file]
then reboot
3) Now you can follow the steps of @stuclark 's guide that I will report below:
4) Open Solid Exploer and navigate to the following location in your root storage: Root > OEM > OP > OPEN_EU > CONFIG folder and open the VO_CONFIG.XML file. Make a backup of it. If you're magisk is not working well after flashing the modified boot.img, go into magisk manager and patch it again.
5) You now need to add settings for your network in the file above... You'll need to know your network's MNC & MNC for this, which can be found from the LG hidden menu *#546368#*710# under the Field Test > SIM Info section. You can add just the network you use, or all for your country, or any other combination of your choosing.
To have the VoLTE enabled and working with the Italian providers (TIM IT, Vodafone IT, Wind):
Code:
</info>
<info mcc="222" mnc="88"><!-- WIN -->
<prop
support_volte="1"
support_vilte="0"
support_vowifi="0"
support_viwifi="0"
/>
</info>
<info mcc="222" mnc="10"><!-- VDF IT -->
<prop
support_volte="1"
support_vilte="0"
support_vowifi="0"
support_viwifi="0"
/>
</info>
<info mcc="222" mnc="01"><!-- TIM IT -->
<prop
support_volte="1"
support_vilte="0"
support_vowifi="0"
support_viwifi="0"
/>
6) Check in the global_apns.xml file if your provider's ims apn is present. If not just add it.
For the italian providers :
Code:
<apn carrier="IMS" mcc="222" mnc="88" apn="ims" user="" password="" authtype="0" server="" proxy="" port="" mmsc="" mmsproxy="" mmsport="" type="ims" defaultflag="2" user_editable="false" user_visible="false" roaming_protocol="IPV4V6" protocol="IPV4V6" preferapp="" suffix="EUU,WIND" childSuffix="EUU[WIND]" />
<apn carrier="IMS" mcc="222" mnc="10" apn="IMS" user="" password="" authtype="0" server="" proxy="" port="" mmsc="" mmsproxy="" mmsport="" type="ims" defaultflag="2" roaming_protocol="IPV4V6" protocol="IPV4V6" preferapp="" user_editable="false" user_visible="false" suffix="EUU,OVG,VDI" childSuffix="EUU[VDI],OVG[VDI]" />
<apn carrier="IMS" mcc="222" mnc="01" apn="ims" user="" password="" authtype="0" server="" proxy="" port="" mmsc="" mmsproxy="" mmsport="" type="ims" defaultflag="2" user_editable="false" user_visible="false" roaming_protocol="IPV4V6" protocol="IPV4V6" preferapp="" suffix="EUU,TIM" childSuffix="EUU[TIM]" />
Save it and reboot the phone. Now The VoLTE should works and you should be able to see the VoLTE toggle in the settings.
I hope it helped. Thanks to @stuclark .
Attachments:
https://drive.google.com/open?id=1jiXkI1aH5PHIQQFLe_FXYoPh5HgeVZEe boot img
Click to expand...
Click to collapse
I have the LG G710VM20f Verizon model and I crossflashed to the korean open kdz and updated to android 10 and rooted it. Everything worked except for VoLTE and VoWifi. I'll give this a try again sometime this week and see if I can get it to work.
netookska05 said:
I have the LG G710VM20f Verizon model and I crossflashed to the korean open kdz and updated to android 10 and rooted it. Everything worked except for VoLTE and VoWifi. I'll give this a try again sometime this week and see if I can get it to work.
Click to expand...
Click to collapse
Let me know
GuidoFlex2 said:
Let me know
Click to expand...
Click to collapse
Will do.
I am trying to edit vo_config.XML on my Magisk rooted LG V40. Solid Explorer is able to save the file but everything is undone after reboot.
I am scratching my head because this worked on my LG V35 which is also on PIE.
U need to have a magisk module for mount temporally files like mixer_paths or vo_config
Idk what is coz ive not tried, but does extactly the same as edit /system files but keeping the /system files untouched, like a systemless host archive
manuhuelva said:
U need to have a magisk module for mount temporally files like mixer_paths or vo_config
Idk what is coz ive not tried, but does extactly the same as edit /system files but keeping the /system files untouched, like a systemless host archive
Click to expand...
Click to collapse
The Magisk module could be one solution but I have found a more elegant way. I had to disable dm-verity by HEX edit boot_a partition. /OEM directory edit persists afterward.
---------- Post added at 09:12 AM ---------- Previous post was at 09:06 AM ----------
Do you guys see the VoWiFi indicator when it is enabled?
On my V35 and V40, VoWiFi has been confirmed to be working but there is no icon indicator like when VoLTE is on. I even check the box in the hidden menu. It only affects VoLTE.
Did LG just omit VoWiFi indicator when they built the firmware?
abuchison said:
The Magisk module could be one solution but I have found a more elegant way. I had to disable dm-verity by HEX edit boot_a partition. /OEM directory edit persists afterward.
---------- Post added at 09:12 AM ---------- Previous post was at 09:06 AM ----------
Do you guys see the VoWiFi indicator when it is enabled?
On my V35 and V40, VoWiFi has been confirmed to be working but there is no icon indicator like when VoLTE is on. I even check the box in the hidden menu. It only affects VoLTE.
Did LG just omit VoWiFi indicator when they built the firmware?
Click to expand...
Click to collapse
Stop stop, I dont have the knowledge to understand u did with hex editor hahaha, but congrats for ur work, never had ear this way for the mixer tweaks.
I dont have a indicator of volte on topbar, but im sure that is working, and I hope continue working on current root and u-bl.
Pd: if u could post here the way u did for some that need this, I'm sure they will be very grateful.
I used the VoEnabler Magisk module by Toucan. It gave me Volte, Vowifi and fixed my RCS after I lost those things due to switching my T-MOBILE SIM to a Verizon Sim.
hi!
Just to let you know guys, i've followed this.. and successfully enabled volte.. but the switches to enable/disable didnt show up..
AND
I can't call any landline using volte... i have no clue why.
This is great and I'd like to get VoWIFI on my V35. That leads me to a couple questions. What carrier do you have? Would you mind posting a copy of your vo_carrier.xml file? Did you do anything else.
My carrier is Verizon. Editing vo_carrier.xml per these guides and ticking appropriate boxes in gpri provisions the phone for VoWIFI, but I activation fails. Any suggestions?
abuchison said:
I am trying to edit vo_config.XML on my Magisk rooted LG V40. Solid Explorer is able to save the file but everything is undone after reboot.
I am scratching my head because this worked on my LG V35 which is also on PIE.
Click to expand...
Click to collapse

Oppo R17 - create dd image /data for forensic analysis

Hi Guys,
Definitely not my first visit to the forums, but my first post.
I'm not a NOOB, but I am definitely not a developer but I am on a very steep learning curve.
What I am trying to do is create a full backup of the /data [/dev/block/sda13] using dd piped via NC to the laptop
Imaging Android with ADB, Root, Netcat and DD
Today we are going to acquire an android smartphone (Samsung Note II) using Android Debug Bridge (ADB), netcat and dd. The system I am using is Ubuntu linux. On the “forensic workstation” you will need ADB and netcat installed. I’m using the excellent instructions from here.
dfir.science
No root, dd won't run, it all falls down, but that is an incredibly elegant solution and works perfectly for what I want to do.
I have also done a lot of reading on this site - linked from the site above, credit where credit is due
Live imaging an Android device
Free Android Forensics and Android CELLEX advice and tutorials
freeandroidforensics.blogspot.kr
Heaps of good info, much learning on my part!
So down to it:
This is my late brother's phone, he took his own life and his ex girlfriend has deleted data relating to my brother being blackmailed.
It's a very long story, we got Court order for return of the phone finally - I can verify this for anyone concerned that I am trying to 'steal' data for nefarious purposes with a copy of that Court order if necessary.
Now I know that all of the threads about getting root on the R17 taper off, the device is very well locked, good work by Oppo, bad for me...
I've tried edl - without the correct firehose, that goes nowhere - here's my posts
MacOS 10.10.5 · Issue #149 · bkerler/edl
Trying to get this built on Yosemite The system has python 2.7 installed by default, which cannot be removed I've got Python 3.9.7 installed python -V returns that correctly Set the following envir...
github.com
signed transactions - verification failed Oppo - Info · Issue #152 · bkerler/edl
Hi, I guess I can upload the firehose loader, but sorry to say, the oppo devices I know use VIP programming, so even if you have a firehose loader, chances are high you can't do anything as all tra...
github.com
eld would have been a nice, simple, tidy and elegant solution, but the VIP programming requirement stops that solution point blank!
I've also had a serious look at QFIL and MSMDownloadtool - the same issue which afflicts edl seems to afflict those solutions also - the lack of a correct firehose to correctly enter Sahara mode - I do have numerous potential candidates from decompressed firmware images.
None work.
However I suspect that they are for programming only, recall that I want to make a backup of the /data partition via the block device
So many dead ends...I've been down almost every single one
So I've since been trying to find a method to escalate abd shell to root to run dd on the block device
NOW - I've just stumbled upon this
[Update: OnePlus Responds] OnePlus Accidentally Pre-Installed an App that acts as a Backdoor to Root Access
OnePlus left in place a Qualcomm engineering test app that acts as a backdoor to grant root access on the OnePlus 3, 3T, and 5.
www.xda-developers.com
Now there is no engineer mode app on this device, BUT, using the instructions found here
Oppo A72 (CPH2067) Timed out error. · Issue #111 · bkerler/edl
System i'm using is Kali linux command i'm entering is python3 edl.py --debugmode printgpt I have Extracted Loader from official firmware ofp and have added it to loaders in edl using following com...
github.com
dialing *#899# brings up an engineer mode - so something is installed
Here are some other useful codes for various information pages
From this video
and this page
Codes OPPO R17 Pro, how to - HardReset.info
The whole list of secret codes for your device. Check out how to get access to hidden mode, advanced features and secret options.
www.hardreset.info
Some work, some don't
*#899# - works correctly enters one of the engineer modes
*#1234# - works - displays ColorOS version
*#6776# - works - displays Software version
*#809# - works - displays EngineerCamera
*#*#225#*#* - works correctly displays calendar information
*#*#426#*#* - works correctly FCM diagnostics
*#*#759#*#* - doesn’t work
*#*#3646633#*#* - doesn’t work - video is for an R17 Pro - this is another engineer mode
*#*#4636#*#* - doesn’t work
At this point I am looking for pointers as to whether or not I am headed in the right direction of traveling down another dead end.
Phone details are:
Oppo CHP1879
Android Version 10
Kernel 4.9.186
Master date 202012232000
Version CPH1879EX_11_F.13
OTA Version CPH1879EX_11.F.13_3130_202012231858
Factory Version CPH1879_11_F.13_201223_6b3d1f59
One anomaly though - in Engineer mode going to the Reading reset complete indicator gives the following
FAIL!!!
info:download over 2019-03-21 09:33:37 +Download
Mode ID:0 _ Download Mode Str:After-sale + software version:CPH1879_11_A.06_190226_97ceeec + download version: V1.6.17 Exp +Net Status:intranet + Readback
Verify:true
ota_info:upgrade failed at 2021-09-21 16:54:44splay version: CPH1879EX_11_F.13, ota_version: CPH1879EX_F.13_3130_202012231858
Any help will be very much appreciated
Glenn
Replying to myself, anyway...
This thread is incredibly informative, so although the Qualcomm engineering APK is no longer there, this [I could be wrong] seems to hold potential
Entering Engineering Mode (and list of secret codes)
To enter the Engineering Mode: dial *#899# Here are two more lists with secret codes that I found, it seems without root yout can only execude codes with Level 1. I am not responsible for any data loss or damage to your device by using these...
forum.xda-developers.com
These three xml files contain a lot of keypad codes - some work, others give various error messages - need to research more...
cat /system/etc/engineermode/engineer_config_list.xml
cat /system/etc/engineermode/engineer_order_list.xml
cat /system/etc/engineermode/engineer_order_list_jp.xml
Now if I can figure out how to execute them from a shell, I'm hopefully progressing
Look inside here:
[TOOL][ADB][WIN]Android Partitions Backupper / Cloner
Hi all, wrote a Windows CMD script that backups / clones partitions of an Android device via ADB because I wasn't content with any 3rd-party APK what claims to do this job. The backups /clones are stored on Windows computer as...
forum.xda-developers.com
jwoegerbauer said:
Look inside here:
[TOOL][ADB][WIN]Android Partitions Backupper / Cloner
Hi all, wrote a Windows CMD script that backups / clones partitions of an Android device via ADB because I wasn't content with any 3rd-party APK what claims to do this job. The backups /clones are stored on Windows computer as...
forum.xda-developers.com
Click to expand...
Click to collapse
Thanks, but no cigar I'm afraid - I haven't got root...which is why I'm investigating privilege escalation for adb as the bootloaders are very well locked and I cannot jeapordize the /data partition being wiped
On the keypad *#899# works and brings up an application with a lot of interesting pages - one requires a password to do a read/write system log test - interesting!
Completely independently I discovered the com.oppo.engineermode package and the com.oppo.engineermode.network
Some of the details are here from somebody else's previous discovery
Entering Engineering Mode (and list of secret codes)
To enter the Engineering Mode: dial *#899# Here are two more lists with secret codes that I found, it seems without root yout can only execude codes with Level 1. I am not responsible for any data loss or damage to your device by using these...
forum.xda-developers.com
FWIW the EngineerMode runs as system uid=1000 and has an enormous list of permissions granted
Been doing much exploring - I'll put it all together into something coherent
Now to get it to do something useful...I think there's potential here
These are located on /system/etc/engineermode
There's a rub in all of these config files, which I will explain in a later post
Some of the MMI codes work through the keypad input and bring up screens, others run but produce no discernible output and others throw errors
I'll return to these in the next post as one has me particularly intrigued - but I cannot find much information on it
First here's the engineer_config_list.xml
XML:
<?xml version="1.0" encoding="UTF-8"?>
<engineer_switch>
<version>20190101</version>
<switch switchName="activity_sw" switchState="false" />
<switch switchName="service_sw" switchState="false" />
<switch switchName="shell_command_sw" switchState="false" />
<switch switchName="engineer_order_sw" switchState="false" />
<switch switchName="reset_atm_sw" switchState="false" />
<!--*#928#-->
<activity packageName="com.oppo.engineermode"
className="com.oppo.engineermode.wifi.manualtest.WifiFTMActivity" />
<!--*#3644321#,*#3644999#-->
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.RebootManager" />
<!--*#8019#-->
<activity packageName="com.oppo.engineermode"
className="com.oppo.engineermode.wireless.WifiSocketHelper" />
<!--*#8020#-->
<activity packageName="com.oppo.engineermode"
className="com.oppo.engineermode.wireless.WifiAdbHelper" />
<activity packageName="com.oppo.engineermode"
className="com.oppo.engineermode.wireless.SwitchMetaModeHelper" />
<activity packageName="com.oppo.engineermode"
className="com.oppo.engineermode.DetectMasterClearResult" />
<!--*#637243#-->
<activity packageName="com.oppo.engineermode"
className="com.oppo.engineermode.ShowRemoteMessage" />
<activity packageName="com.oppo.engineermode"
className="com.oppo.engineermode.manualtest.modeltest.ModelTestImpl" />
<service packageName="com.oppo.engineermode"
className="com.oppo.engineermode.assistant.SwitchWifiMMI" />
<service packageName="com.oppo.engineermode"
className="com.oppo.engineermode.assistant.SwitchProductionMode" />
<service packageName="com.oppo.engineermode"
className="com.oppo.autotest.connector.AutoTestServer" />
<service packageName="com.oppo.engineermode"
className="com.oppo.engineermode.mmi.connector.AutoTestServer" />
<service packageName="com.oppo.engineermode" className="com.oppo.autotest.RunAllTest" />
<service packageName="com.oppo.engineermode"
className="com.oppo.engineermode.wireless.WifiAdbHelperService" />
<shell_command command="--update_back_cover_color" />
<shell_command command="--update_engineer_result" />
<shell_command command="--update_oppo_sn" />
<shell_command command="--reset_back_cover_color" />
<shell_command command="--reset_write_protect" />
<shell_command command="--reset_engineer_result" />
<shell_command command="--reset_download_mode" />
<shell_command command="--execute_start_mmi" />
<shell_command command="--execute_stop_mmi" />
<shell_command command="--execute_master_clear" />
<shell_command command="--execute_power_off" />
<shell_command command="--execute_model_test" />
<shell_command command="--execute_engineer_order" />
<shell_command command="--execute_switch_production_mode" />
<shell_command command="--execute_detect_ms_result" />
<shell_command command="--execute_show_production_message" />
<shell_command command="--execute_switch_wifi_mmi" />
<shell_command command="--execute_launch_wifi_mmi" />
<shell_command command="--generate_attk_key_pair" />
<shell_command command="--verify_attk_key_pair" />
<shell_command command="--verify_attk_key_pair_only" />
<shell_command command="--verify_ali_key" />
<shell_command command="--export_attk_public_key" />
<shell_command command="--get_device_id" />
<shell_command command="--enable_rpmb" />
<shell_command command="--crypto_eng_verify" />
<shell_command command="--get_tee_version" />
<shell_command command="--install_keybox" />
<shell_command command="--provision_keybox" />
<shell_command command="--verify_keybox" />
<engineer_order order="*#8011#" />
<engineer_order order="*#8019#" />
<engineer_order order="*#8020#" />
<engineer_order order="*#3644321#" />
<engineer_order order="*#3644999#" />
<engineer_order order="*#928#" />
<engineer_order order="*#637243#" />
<engineer_order order="*#667611#" />
<engineer_order order="*#667610#" />
<!-- Xiang.Gui Add for 5G test switch *#54794824#-->
<engineer_order order="*#54794824#" />
</engineer_switch>
then the engineer_order_list_jp.xml
XML:
<?xml version="1.0" encoding="utf-8"?>
<OrderList version="20190101" xmlns:android="http://schemas.android.com/apk/res/android">
<OrderItem name="*#0000#" type="startActivity" platform="ALL" region="CN" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.manualtest.TelecomVersionInfo"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#12345#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="com.oppo.activation.action.STOP_SERVICE" />
</OrderItem>
<OrderItem name="*#10000#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.MarkResultShow"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#36446337#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.EngineeringMode"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*##*37847#" type="startActivity" platform="ALL" region="ALL" level="6">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.device.manualtest.DeviceListActivity"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#394321#" type="startService" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.LanguageSwitchToZimbabweService"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#3644321#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.RebootManager"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#3644999#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.RebootManager"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#66#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.IMeiAndPcbCheck"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#6776#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.CheckSoftwareInfo"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#649010#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.usb.manualtest.DiagEnabled"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#637243#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.ShowRemoteMessage"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#727#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.LteSarTest"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#727#" type="startActivity" platform="QCOM" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SarTest"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#7327#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.rftoolkit.RfToolkitCustomerService"
android:targetPackage="com.oppo.rftoolkit" />
</OrderItem>
<!-- Add for TW FETNET, bud 1278196-->
<OrderItem name="*#7890#" type="startActivity" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetWorkSet"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#807#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.aftersale.DeviceSimpleDetectActivity"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#808#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.EngineerModeMain"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#805#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.bluetooth.manualtest.BluetoothTest"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#803#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wifi.manualtest.WifiSettings"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#804#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearch"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#802#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.gps.manualtest.GpsActivity"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#806#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.autoaging.AutoAgingMainListActivity"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#8778#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.manualtest.MasterClear"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#888#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.PcbShow"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*##*8110#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.development.manualtest.OtaSwitch"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#872#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.usb.manualtest.UsbPreloaderEnabled"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#8019#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wireless.WifiSocketHelper"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#818#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="First" />
</intent>
</OrderItem>
<OrderItem name="*#838#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Second" />
</intent>
</OrderItem>
<OrderItem name="*#618#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Nr_ant0" />
</intent>
</OrderItem>
<OrderItem name="*#638#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Nr_ant1" />
</intent>
</OrderItem>
<OrderItem name="*#658#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Nr_ant2" />
</intent>
</OrderItem>
<OrderItem name="*#678#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Nr_ant3" />
</intent>
</OrderItem>
<OrderItem name="*#858#" type="startActivity" platform="QCOM" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Third" />
</intent>
</OrderItem>
<OrderItem name="*#878#" type="startActivity" platform="QCOM" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Fourth" />
</intent>
</OrderItem>
<OrderItem name="*#8168#" type="startActivity" platform="ALL" region="CN" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.CmccEvaluationOTA"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="AntPosition"
android:value="Button" />
</intent>
</OrderItem>
<OrderItem name="*#8398#" type="startActivity" platform="ALL" region="CN" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.CmccEvaluationOTA"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="AntPosition"
android:value="TOP" />
</intent>
</OrderItem>
<OrderItem name="*#8020#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wireless.WifiAdbHelper"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#899#" type="other" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.aftersale.AfterSalePage"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#99#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.development.manualtest.KeepSrceenOn"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#928#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wireless.SwitchMetaModeHelper"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#928#" type="startActivity" platform="QCOM" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wifi.manualtest.WifiFTMActivity"
android:targetPackage="com.oppo.engineermode">
<extra
android:name="Step_WifiFtm"
android:value="First" />
</intent>
</OrderItem>
<OrderItem name="*#9434#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.decrypt.WifiDecryptionActivity"
android:targetPackage="com.oppo.decrypt" />
</OrderItem>
<OrderItem name="*#911#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.PowerOff"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#391#" type="other" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SwitchSoftwareVersion"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#3954391#" type="other" platform="ALL" region="EXP" level="2" />
<OrderItem name="*#7799#" type="other" platform="ALL" region="EXP" level="2" />
<OrderItem name="*#789#" type="startActivity" platform="ALL" region="EXP" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.simlockexp.ClearTelcelnetlock"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#912#" type="startActivity" platform="ALL" region="EXP" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.simlockexp.RecoverTelcelnetlock"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#3921234#" type="other" platform="ALL" region="EXP" level="1">
<intent android:action="com.android.engineeringmode.SwitchSoftwareVersionInFw" />
</OrderItem>
<OrderItem name="*#39243#" type="startActivity" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.explock.SecretVersonShowActivityExp"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#3988691#" type="startActivity" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.explock.RegionNetLockDialogExp"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#390000#" type="sendBroadcast" platform="ALL" region="EXP" level="2">
<intent
android:action="com.oppo.show.all.language"
android:targetClass="com.oppo.settings.exp.ExpBroadcastReceiver"
android:targetPackage="com.android.settings" />
</OrderItem>
<OrderItem name="*#07#" type="other" platform="ALL" region="EXP" level="2" />
<OrderItem name="*#67767#" type="other" platform="ALL" region="EXP" level="2" />
<OrderItem name="*#8011#" type="other" platform="ALL" region="ALL" level="1" />
<OrderItem name="*#39724#" type="other" platform="ALL" region="EXP" level="2" />
<OrderItem name="*#390501#" type="other" platform="ALL" region="EXP" level="1" />
<OrderItem name="*#390502#" type="other" platform="ALL" region="EXP" level="1" />
<OrderItem name="*#667611#" type="other" platform="ALL" region="ALL" level="2" />
<OrderItem name="*#667610#" type="other" platform="ALL" region="ALL" level="2" />
<!-- Xiang.Gui Add for 5G test switch *#54794824#-->
<OrderItem name="*#54794824#" type="other" platform="ALL" region="ALL" level="2" />
<OrderItem name="*#39137#" type="startService" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SwitchSoftwareService"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="carrierval"
android:value="@string/carrierVersion_thailand_true" />
<extra
android:name="carriername"
android:value="Thailand TRUE" />
<extra
android:name="sim_switch_operator"
android:value="@string/sim_switch_operator_switch_on" />
</intent>
</OrderItem>
<OrderItem name="*#39248#" type="startService" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SwitchSoftwareService"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="carrierval"
android:value="@string/carrierVersion_thailand_ais" />
<extra
android:name="carriername"
android:value="Thailand AIS" />
<extra
android:name="sim_switch_operator"
android:value="@string/sim_switch_operator_switch_on" />
</intent>
</OrderItem>
<OrderItem name="*#39369#" type="startService" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SwitchSoftwareService"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="carrierval"
android:value="@string/carrierVersion_thailand_dtac" />
<extra
android:name="carriername"
android:value="Thailand DTAC" />
<extra
android:name="sim_switch_operator"
android:value="@string/sim_switch_operator_switch_on" />
</intent>
</OrderItem>
<OrderItem name="*#008#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.LanguageSwitchActivity"
android:targetPackage="com.oppo.engineermode">
<extra
android:name="language_str"
android:value="zh_CN" />
</intent>
</OrderItem>
<OrderItem name="*#7869264#" type="startActivity" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.explock.DeviceLockDialogExp"
android:targetPackage="com.oppo.engineermode.network">
</intent>
</OrderItem>
<!-- SH add start-->
<OrderItem name="*#643223#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.development.manualtest.DevelopmentConfigPage"
android:targetPackage="com.oppo.engineermode">
</intent>
</OrderItem>
<OrderItem name="*#885526#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.development.manualtest.VulkanDebugActivity"
android:targetPackage="com.oppo.engineermode">
</intent>
</OrderItem>
<!-- SH add end-->
<OrderItem name="*#456225#" type="startActivity" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.aftersale.SwitchRegionAssistant"
android:targetPackage="com.oppo.engineermode">
</intent>
</OrderItem>
</OrderList>
[/CODE
thirdly the engineer_order_list.xml
XML:
<?xml version="1.0" encoding="utf-8"?>
<OrderList version="20190101" xmlns:android="http://schemas.android.com/apk/res/android">
<OrderItem name="*#0000#" type="startActivity" platform="ALL" region="CN" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.manualtest.TelecomVersionInfo"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#12345#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="com.oppo.activation.action.STOP_SERVICE" />
</OrderItem>
<OrderItem name="*#10000#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.MarkResultShow"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#36446337#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.EngineeringMode"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*##*37847#" type="startActivity" platform="ALL" region="ALL" level="6">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.device.manualtest.DeviceListActivity"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#394321#" type="startService" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.LanguageSwitchToZimbabweService"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#3644321#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.RebootManager"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#3644999#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.RebootManager"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#66#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.IMeiAndPcbCheck"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#6776#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.CheckSoftwareInfo"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#649010#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.usb.manualtest.DiagEnabled"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#637243#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.ShowRemoteMessage"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#727#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.LteSarTest"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#727#" type="startActivity" platform="QCOM" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SarTest"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#7327#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.rftoolkit.RfToolkitCustomerService"
android:targetPackage="com.oppo.rftoolkit" />
</OrderItem>
<!-- Add for TW FETNET, bud 1278196-->
<OrderItem name="*#7890#" type="startActivity" platform="ALL" region="EXP" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetWorkSet"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#807#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.aftersale.DeviceSimpleDetectActivity"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#808#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.EngineerModeMain"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#805#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.bluetooth.manualtest.BluetoothTest"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#803#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wifi.manualtest.WifiSettings"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#804#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearch"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#802#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.gps.manualtest.GpsActivity"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#806#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.autoaging.AutoAgingMainListActivity"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#8778#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.manualtest.MasterClear"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#888#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.PcbShow"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*##*8110#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.development.manualtest.OtaSwitch"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#872#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.usb.manualtest.UsbPreloaderEnabled"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#8019#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wireless.WifiSocketHelper"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#818#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="First" />
</intent>
</OrderItem>
<OrderItem name="*#838#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Second" />
</intent>
</OrderItem>
<OrderItem name="*#618#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Nr_ant0" />
</intent>
</OrderItem>
<OrderItem name="*#638#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Nr_ant1" />
</intent>
</OrderItem>
<OrderItem name="*#658#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Nr_ant2" />
</intent>
</OrderItem>
<OrderItem name="*#678#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Nr_ant3" />
</intent>
</OrderItem>
<OrderItem name="*#858#" type="startActivity" platform="QCOM" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Third" />
</intent>
</OrderItem>
<OrderItem name="*#878#" type="startActivity" platform="QCOM" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.NetworkSearchNew"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="Step_Num"
android:value="Fourth" />
</intent>
</OrderItem>
<OrderItem name="*#8168#" type="startActivity" platform="ALL" region="CN" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.CmccEvaluationOTA"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="AntPosition"
android:value="Button" />
</intent>
</OrderItem>
<OrderItem name="*#8398#" type="startActivity" platform="ALL" region="CN" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.CmccEvaluationOTA"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="AntPosition"
android:value="TOP" />
</intent>
</OrderItem>
<OrderItem name="*#8020#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wireless.WifiAdbHelper"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#899#" type="other" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.aftersale.AfterSalePage"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#99#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.development.manualtest.KeepSrceenOn"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#928#" type="startActivity" platform="MTK" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wireless.SwitchMetaModeHelper"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#928#" type="startActivity" platform="QCOM" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.wifi.manualtest.WifiFTMActivity"
android:targetPackage="com.oppo.engineermode">
<extra
android:name="Step_WifiFtm"
android:value="First" />
</intent>
</OrderItem>
<OrderItem name="*#9434#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.decrypt.WifiDecryptionActivity"
android:targetPackage="com.oppo.decrypt" />
</OrderItem>
<OrderItem name="*#911#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.PowerOff"
android:targetPackage="com.oppo.engineermode" />
</OrderItem>
<OrderItem name="*#391#" type="other" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SwitchSoftwareVersion"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#3954391#" type="other" platform="ALL" region="EXP" level="2" />
<OrderItem name="*#7799#" type="other" platform="ALL" region="EXP" level="2" />
<OrderItem name="*#789#" type="startActivity" platform="ALL" region="EXP" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.simlockexp.ClearTelcelnetlock"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#912#" type="startActivity" platform="ALL" region="EXP" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.simlockexp.RecoverTelcelnetlock"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#3921234#" type="other" platform="ALL" region="EXP" level="1">
<intent android:action="com.android.engineeringmode.SwitchSoftwareVersionInFw" />
</OrderItem>
<OrderItem name="*#39243#" type="startActivity" platform="ALL" region="EXP" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.explock.SecretVersonShowActivityExp"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#3988691#" type="startActivity" platform="ALL" region="EXP" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.explock.RegionNetLockDialogExp"
android:targetPackage="com.oppo.engineermode.network" />
</OrderItem>
<OrderItem name="*#390000#" type="sendBroadcast" platform="ALL" region="EXP" level="2">
<intent
android:action="com.oppo.show.all.language"
android:targetClass="com.oppo.settings.exp.ExpBroadcastReceiver"
android:targetPackage="com.android.settings" />
</OrderItem>
<OrderItem name="*#07#" type="other" platform="ALL" region="EXP" level="1" />
<OrderItem name="*#67767#" type="other" platform="ALL" region="EXP" level="1" />
<OrderItem name="*#8011#" type="other" platform="ALL" region="ALL" level="1" />
<OrderItem name="*#39724#" type="other" platform="ALL" region="EXP" level="2" />
<OrderItem name="*#390501#" type="other" platform="ALL" region="EXP" level="1" />
<OrderItem name="*#390502#" type="other" platform="ALL" region="EXP" level="1" />
<OrderItem name="*#667611#" type="other" platform="ALL" region="ALL" level="2" />
<OrderItem name="*#667610#" type="other" platform="ALL" region="ALL" level="2" />
<!-- Xiang.Gui Add for 5G test switch *#54794824#-->
<OrderItem name="*#54794824#" type="other" platform="ALL" region="ALL" level="1" />
<OrderItem name="*#39137#" type="startService" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SwitchSoftwareService"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="carrierval"
android:value="@string/carrierVersion_thailand_true" />
<extra
android:name="carriername"
android:value="Thailand TRUE" />
<extra
android:name="sim_switch_operator"
android:value="@string/sim_switch_operator_switch_on" />
</intent>
</OrderItem>
<OrderItem name="*#39248#" type="startService" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SwitchSoftwareService"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="carrierval"
android:value="@string/carrierVersion_thailand_ais" />
<extra
android:name="carriername"
android:value="Thailand AIS" />
<extra
android:name="sim_switch_operator"
android:value="@string/sim_switch_operator_switch_on" />
</intent>
</OrderItem>
<OrderItem name="*#39369#" type="startService" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.SwitchSoftwareService"
android:targetPackage="com.oppo.engineermode.network">
<extra
android:name="carrierval"
android:value="@string/carrierVersion_thailand_dtac" />
<extra
android:name="carriername"
android:value="Thailand DTAC" />
<extra
android:name="sim_switch_operator"
android:value="@string/sim_switch_operator_switch_on" />
</intent>
</OrderItem>
<OrderItem name="*#008#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.LanguageSwitchActivity"
android:targetPackage="com.oppo.engineermode">
<extra
android:name="language_str"
android:value="zh_CN" />
</intent>
</OrderItem>
<OrderItem name="*#7869264#" type="startActivity" platform="ALL" region="EXP" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.network.explock.DeviceLockDialogExp"
android:targetPackage="com.oppo.engineermode.network">
</intent>
</OrderItem>
<!-- SH add start-->
<OrderItem name="*#643223#" type="startActivity" platform="ALL" region="ALL" level="1">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.development.manualtest.DevelopmentConfigPage"
android:targetPackage="com.oppo.engineermode">
</intent>
</OrderItem>
<OrderItem name="*#885526#" type="startActivity" platform="ALL" region="ALL" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.development.manualtest.VulkanDebugActivity"
android:targetPackage="com.oppo.engineermode">
</intent>
</OrderItem>
<!-- SH add end-->
<OrderItem name="*#456225#" type="startActivity" platform="ALL" region="EXP" level="2">
<intent
android:action="android.intent.action.MAIN"
android:targetClass="com.oppo.engineermode.aftersale.SwitchRegionAssistant"
android:targetPackage="com.oppo.engineermode">
</intent>
</OrderItem>
</OrderList>
and finally sys_secrecy_switch_list.xml which is located in /system/etc
XML:
<?xml version="1.0" encoding="UTF-8"?>
<filter-conf>
<version>20190201</version>
<isOpen>1</isOpen>
<filter-name>sys_secrecy_switch_list</filter-name>
<support>true</support>
<activity_sw>false</activity_sw>
<log_sw>false</log_sw>
<adb_sw>true</adb_sw>
<test_sw>false</test_sw>
<!-- Time out for mac 24 * 60 min -->
<mac_timeout>1440</mac_timeout>
<!-- Time out for id 24 * 60 min -->
<id_timeout>1440</id_timeout>
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.EngineeringMode" />
<!-- *#8778# -->
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.manualtest.MasterClear" />
<!-- *#806# -->
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.autoaging.AutoAgingMainListActivity" />
<!-- *#37847# -->
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.device.DeviceListActivity" />
<!-- *#649010# -->
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.development.DiagEnabled" />
<!-- *#268# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.qualcomm.QualCommActivity" />
<!-- *#818#/*#838# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.NetworkSearchNew" />
<!-- *#727# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.SarTest" />
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.LteSarTest" />
<!-- *#7332# -->
<activity packageName="com.oppo.rftoolkit" className="com.oppo.rftoolkit.RfToolkitFactory" />
<!-- *#7328# -->
<activity packageName="com.oppo.rftoolkit" className="com.oppo.rftoolkit.RfToolkitAgingTest" />
<!-- *#804# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.NetworkSearch" />
<!-- *#872# -->
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.development.UsbPreloaderEnabled" />
<!-- *#391# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.SwitchSoftwareVersion" />
<!-- *#*#88#*#* -->
<activity packageName="com.factory.mmigroup" className="com.factory.mmigroup.MMIGroupNormalMode" />
<!-- *#*#86#*#* -->
<activity packageName="com.factory.mmigroup" className="com.factory.mmigroup.MMIGroupMenu" />
<!-- Ant debug toolkit -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.AntDebugToolBox" />
<!-- ASDIV state display -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.ASDIVSettings" />
<!-- GSM Power Settings -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.GsmPwrSetting" />
<!-- RF MIPI device test -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OPPOMissingRFFEActivity" />
<!-- Tx power back-off control -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.SarControl" />
<!-- Communication Debugging -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.StanCurTest" />
<!-- ForceAntennaForLabTest -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.ForceAntennaForLabTest" />
<!-- MaxTxPowerTuning -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.MaxTxPowerTuning" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.MultNetworkModeSet" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.BandMode2" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.NetWorkSet" />
<!-- *#36446337# -->
<activity packageName="com.oppo.nw" className="com.oppo.nw.RadioInfoActivity" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.LteCaStatusActivity" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoFilterCsfbArfcn" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoLockGSMArfcn" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoLockLteArfcn" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoCheckVolteFr1Fr2Feature" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.LteBandMode" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoFastDormancy" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.CfuActivity" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.DeviceMgr" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.AutoAnswer" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.ProtocolTestSwitcher" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoMtuActivity" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoLTEOnlyFullBandTestActivity" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoSignalSmooth" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoEnable4gSwitch" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.PLMNListPreference" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.development.AutoFillSmsContacts" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.qualcomm.QualCommActivity" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.qualcomm.QualCommNv2" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.qualcomm.CalibrateStatus" />
<!-- *#36446337# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.OppoEnableHotswapSwitch" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.wifi.manualtest.WifiFTMActivity" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.RebootManager" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.wireless.WifiSocketHelper" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.wireless.WifiAdbHelper" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.wireless.SwitchWifiAdbHelper" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.wireless.SwitchMetaModeHelper" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.DetectMasterClearResult" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.SwitchColorActivation" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.ShowRemoteMessage" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.ResetTestMark" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.PowerOff" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.manualtest.modeltest.ModelTestImpl" />
<!-- *#8168#/*#8398# -->
<activity packageName="com.oppo.engineermode.network" className="com.oppo.engineermode.network.CmccEvaluationOTA" />
<activity packageName="com.oppo.engineermode" className="com.oppo.engineermode.aftersale.SwitchRegionAssistant" />
<!-- *#*#4636#*#* -->
<activity packageName="com.android.settings" className="com.android.settings.Settings$TestingSettingsActivity" />
<!--*#*#3646633#*#*-->
<activity packageName="com.mediatek.engineermode" className="com.mediatek.engineermode.EngineerMode" />
</filter-conf>
From the above xml files - running:
Code:
adb exec-out am start com.oppo.engineermode/ .usb.manualtest.DiagEnabled
produces
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] }
and a small launched drawer opens up from the bottom of the screen with a selected number of apps - I don't know how to modify the apps which are available in these drawers - there's 4 drawers on this phone - totalling 31 apps
Now why do I think this is happening - look back at the xml files - I think they've been doctored - the intent point to android, not the engineering app.
I don't that's a dead end - but I need to research more, much more
I've downloaded the EngineerMode.apk and decompressed it, not decompiled it to investigate
Within the decompressed EngineerMode.apk source is this entry in four files
Code:
smali/com/oppo/engineermode/manualtest/MasterClear.smali: const-string p1, "persist.sys.adb.engineermode"
smali/com/oppo/engineermode/PowerOff$PowerOffStateMachine$FinishState.smali: const-string v1, "persist.sys.adb.engineermode"
smali/com/oppo/engineermode/usb/manualtest/DiagEnabled.smali: const-string v3, "persist.sys.adb.engineermode"
smali/com/oppo/engineermode/usb/manualtest/DiagEnabled.smali: const-string v2, "persist.sys.adb.engineermode"
smali/com/oppo/engineermode/util/UsbConfigManager.smali: const-string v4, "persist.sys.adb.engineermode"
So, running the below initially got me a permissions error - curious
Code:
adb exec-out am start -n com.oppo.engineermode/.usb.manualtest.DiagEnabled
Starting: Intent { cmp=com.oppo.engineermode/.usb.manualtest.DiagEnabled }
Security exception: Permission Denial: starting Intent { flg=0x10000000 cmp=com.oppo.engineermode/.usb.manualtest.DiagEnabled mCallingUid=2000 } from null (pid=32262, uid=2000) not exported from uid 1000
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.oppo.engineermode/.usb.manualtest.DiagEnabled mCallingUid=2000 } from null (pid=32262, uid=2000) not exported from uid 1000
at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1156)
at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:967)
at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:634)
at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1783)
at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:565)
at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1179)
at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1143)
at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:3967)
at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:518)
at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:172)
at android.os.ShellCommand.exec(ShellCommand.java:104)
at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:10855)
at android.os.Binder.shellCommand(Binder.java:881)
at android.os.Binder.onTransact(Binder.java:765)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:4854)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3059)
at com.android.server.am.OppoActivityManagerService.onTransact(OppoActivityManagerService.java:99)
at android.os.Binder.execTransactInternal(Binder.java:1021)
at android.os.Binder.execTransact(Binder.java:994)
It since runs correctly both via termux on the phone and via adb - I don't know what changed...
running getprop has one interesting entry though
persist.sys.adb.engineermode 1
I am wondering if the EngineerMode apk can be modified
Of the MMI codes that do work
From this video - credit where credit is due
Firstly *#899#
This brings up an EngineerMode application - good work
Choosing manual test - swipe left 6 times to get to others
Read/Write important log test requests a password - intriguing, but I don't have the password.
Secondly *#643223#
Development setting
Oifce Debuggable Switch
Not finding much out there info wise on this
The keys to the Kingdom reside within the EngineerMode.apk itself
This one had me interested first because within the EngineerMode pages, it asks for a password to execute the test so I ran:
Code:
CPH1879:/vendor/oppo $ start am com.oppo.engineermode/com.oppo.engineermode.development.manualtest.WriteLogTest
start: must be root
Code:
CPH1879:/vendor/oppo $ start am com.oppo.engineermode/com.oppo.engineermode.util.OppoEngineerManager
start: must be root
There's potential here because within the decompressed EngineerMode.apk there looks to be the encryption tools to calculate the password itself.
Thinking on it, a service centre would need to be able to get root access for service for some operations.
Speculation on my part - it looks to be calculated from the two strings below
Code:
smali/com/oppo/engineermode/security/base/KeyAttestationTest.smali
.field private static final OS_PATCH_LEVEL_STRING_PATTERN:Ljava/util/regex/Pattern;
.field private static final OS_VERSION_STRING_PATTERN:Ljava/util/regex/Pattern;
I'm already well outside my comfort zone - steep learning curve, so onto seeing if I can load an image into QEMU and work from there, or install Android studio and debug the EngineerMode.apk.
One last thing worth mentioning - in the /system/etc/security there are three zipped PEM certificates - they aren't installed by default and all three relate to firmware images and their certification
orescerts.zip -> contains oppo_data_app.x509.pem
otacerts.zip -> contains local_OTA.x509.pem
specialcerts.zip -> contains special_OTA.x509.pem
I am assuming that these are used to verify install packages/images using the recovery bootloader
things to ponder - a modified recovery image TWRP might be able to be re-signed with one of these certificates - I don't know enough about the process to be certain
Dangerous though because unless you've got access to a working edl firehose and have either MSMDownloadtool, or QFIL or QPST working you could end up with a bricked phone that won't boot

Categories

Resources