hello i need your help with modifying the systemui.apk from touchwiz.
to start off i have decomplied the systemui.apk and framework-res.apk in my android dev linux vmware machine, i did load in the framworks + the twframework.
what i am trying to do is remove the brigness slider and the quick setting toggles from the notifaction bar and i did so by removing these lines from layout/tw_status_bar_expaneded.xml and i edited it on eclipse
<com.wanamlite.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/notification_panel_header_height" />
<HorizontalScrollView android:id="@id/quicksetting_scroller" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height" android:layout_marginTop="@dimen/tw_notification_panel_header_height">
<com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel androidrientation="horizontal" android:id="@id/quicksetting_container" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />
</HorizontalScrollView>
and
<LinearLayout androidrientation="vertical" android:id="@id/brightness_controller" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="56.0dip">
<LinearLayout androidrientation="horizontal" android:layout_width="fill_parent" android:layout_height="55.0dip">
<ImageView android:id="@id/brightness_icon" android:clickable="true" android:layout_width="25.0dip" android:layout_height="fill_parent" android:layout_marginLeft="13.0dip" android:src="@drawable/ic_sysbar_brightness" android:contentDescription="@string/accessibility_brightness_icon" />
<FrameLayout android:id="@id/brightness_group" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
<com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/auto_brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
</FrameLayout>
</LinearLayout>
<View android:background="#ff091a24" android:layout_width="fill_parent" android:layout_height="1.0dip" />
</LinearLayout>
after i did that i recomiled it with apktool and it had no problems, i copyed the orignal androidmanifest and meta-inf into the modified apk, zipaligned and made a flashable zip
when i booted the phone i had no status bar and the systemui was crashing so i restored it and i got it back but now i have no mtp connection to the computer nor do i have adb
Hello!
i wanted to share a guide on how to make JB/KK styled close drag handle.
If you don't know what it means take a look at the screenshots below.
Things Required
1)how to decompile and recompile apk
2)SystemUI.apk which you want to mod
3)notepad++
4)a good working brain
so first decompile systemUI.apk and navigate into res/layout
and open status_bar_tracking.xml
replace This code
HTML:
<com.android.systemui.statusbar.phone.CloseDragHandle android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageView android:layout_gravity="bottom" android:id="@id/closeImg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/status_bar_close_on" android:scaleType="fitXY" />
</com.android.systemui.statusbar.phone.CloseDragHandle>
with this
HTML:
<com.android.systemui.statusbar.phone.CloseDragHandle android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="35.0dip">
<ImageView android:layout_gravity="bottom" android:background="@drawable/status_bar_close" android:clickable="true" android:layout_width="fill_parent" android:layout_height="35.0dip" android:scaleType="fitXY" />
</com.android.systemui.statusbar.phone.CloseDragHandle>
then download the res.zip from the attachments and merge(place it) it to the specified folders in \res
now recompile and flash or push and Enjoy
Guide How To Natively Change Lock Screen Carrier Label Text Verizon S5
First thing you need to do is decompile Keyguard.apk located in system/privapp
Find keyguard_emergency_carrier_area.xml in res/layout-sw360dp.
Look for line: "should be line 8"
<com.android.keyguard.CarrierText android:textAppearance="?android:textAppearanceMedium" android:textSize="@dimen/kg_status_line_font_size" android:textColor="#ffffffff" android:ellipsize="marquee" android:id="@id/carrier_text" androidaddingBottom="5.0dip" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:singleLine="true" android:shadowColor="#7f000000" android:shadowDy="2.0" android:shadowRadius="2.0" android:textAllCaps="@bool/kg_use_all_caps" android:fontFamily="roboto-regular" style="@style/keyguard_text_shadow" />
Change to and save file
<TextView android:textSize="@dimen/kg_status_line_font_size" android:textColor="#ffffffff" android:ellipsize="marquee" androidaddingBottom="5.0dip" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:text="@string/mytext" android:singleLine="true" android:shadowColor="#7f000000" android:shadowDy="2.0" android:shadowRadius="2.0" android:textAllCaps="@bool/kg_use_all_caps" android:fontFamily="roboto-regular" style="@style/keyguard_text_shadow" />
Then open res/values/strings.xml
Look for line 304. Add a line right below line 304 as follows:
<string name="tts_temperature">Degree</string>
303 <string name="keyguard_guest_mode_help_text">"Swipe to switch to %s's home screen"</string>
304 <string name="keyguard_clock_with_battery">%s battery power</string>
305 <string name="mytext">PUT YOUR TEXT HERE</string>
306 </resources>
Where it says "PUT YOUR TEXT HERE" is where you enter whatever you want it to say on your lock screen.
Save file and compile Keyguard.apk
Push to System/privapp and Enjoy!!!
Someone can point me to the XML file to MOD LGSystemUI and remove SIM switcher from notification panel ?
LG G2 mini D618 Stock 5.0.2
compared between the two status_bar_expanded
the msim_status_bar_expanded => when there is two sim card
the status_bar_expanded => when there is one sim card 2nd sim slot is empty
found two difference
- the first one
in status_bar_expanded those two lines :
Code:
<LinearLayout android:layout_gravity="top" android:id="@id/mascot_view" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/mascot_display_height" />
<include android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height" layout="@layout/carrier_label" />
are replaced in msim_status_bar_expanded with those 3 lines :
Code:
<include android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height" layout="@layout/msim_carrier_label" />
<include android:layout_gravity="bottom" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" layout="@layout/subs_label" />
<include android:layout_gravity="bottom" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height" layout="@layout/carrier_label" />
- 2nd one :
in status_bar_expanded this line
Code:
1<include android:visibility="invisible" layout="@layout/keyguard_status_bar" />
is replaced with this line in msim_status_bar_expanded
Code:
1<include android:visibility="invisible" layout="@layout/msim_keyguard_status_bar" />
any one knows with XML ??
tried replace contante of msim_status_bar_expanded with the one of the status_bar_expanded and i got FC
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