diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 0000000..3dbc8dd --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,34 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle + +name: Java CI with Gradle + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: build diff --git a/README.md b/README.md index 4013497..a8ee4d6 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,49 @@ -# SMTShell +# #system_shell_2# -This tool allows most Samsung devices to achieve a `system` shell (UID 1000). It was patched in OneUI 5.1, but will work on Android 13 running OneUI 5.0 or older. It should work as far back and Android 9.0 (and maybe earlier). -It also acts similar to Magisk or SuperSU, allowing apps to easily execute `system` commands via [SMTShell-API](https://github.com/BLuFeNiX/SMTShell-API/). +A comedic twist to BLuFeNiX's SMT Shell (https://github.com/BLuFeNiX/SMTShell/) + +Fully adapted and updated with new *bypass* to combat Samsung's One UI 5.1 PATCH for downgrading "SMT" that was introduced in February.
- - - + + +
+But now dead on any firmware with a security patch of May 1, 2023, due to the framework changes AOSP +made most recently. (https://android.googlesource.com/platform/frameworks/base/+/33940a9749666eec991904094ccf56ae4ca4ae10) + + + + ## CREDITS + +#### APP & API + BLuFeNiX (https://github.com/BLuFeNiX/) + SMT SHELL (https://github.com/BLuFeNiX/SMTShell/) + SMT SHELL API (https://github.com/BLuFeNiX/SMTShell-API/) + + + *Thanks for the challenge, still dont know what im doing, but I'm getting there.* + *Appreciate your time and patience* + + +### *NEW* Method for *Bypassing* One UI 5.1 Patch + New bypass was made possible by the intense research and dedication of one person and that is + K0mRaid3! (https://twitter.com/k0mraid3). FULL CREDIT goes to him and on his discovery for bypassing + the ASKSManager and introducing a new tool/arg, to help in the fight with Samsung. + + BYPASS METHOD discovered by K0mRaiD for Samsung Devices that have a security patch of APRIL 1, 2023 or earlier + (THIS DOES NOT COUNT FOR WATCHES, KOREAN OR INDIAN VARIANT DEVICES!) + + " pm install -d -i "com.sec.android.preloadinstaller" /path/to/vuln/SMT " + + + + + + + ## Usage (with Shizuku) Simply run the app and grant Shizuku access. diff --git a/screenshots/01.png b/screenshots/01.png deleted file mode 100644 index a65b619..0000000 Binary files a/screenshots/01.png and /dev/null differ diff --git a/screenshots/02.png b/screenshots/02.png deleted file mode 100644 index 78a5983..0000000 Binary files a/screenshots/02.png and /dev/null differ diff --git a/screenshots/03.png b/screenshots/03.png deleted file mode 100644 index 24ae790..0000000 Binary files a/screenshots/03.png and /dev/null differ diff --git a/screenshots/ss1.png b/screenshots/ss1.png new file mode 100644 index 0000000..4a90bdd Binary files /dev/null and b/screenshots/ss1.png differ diff --git a/screenshots/ss2.png b/screenshots/ss2.png new file mode 100644 index 0000000..340a694 Binary files /dev/null and b/screenshots/ss2.png differ diff --git a/screenshots/ss3.png b/screenshots/ss3.png new file mode 100644 index 0000000..9f0ab98 Binary files /dev/null and b/screenshots/ss3.png differ diff --git a/smtshell/app/src/main/java/com/samsung/SMT/lang/smtshell/AllTheButtons.java b/smtshell/app/src/main/java/com/samsung/SMT/lang/smtshell/AllTheButtons.java index b17f8df..c61c4c9 100644 --- a/smtshell/app/src/main/java/com/samsung/SMT/lang/smtshell/AllTheButtons.java +++ b/smtshell/app/src/main/java/com/samsung/SMT/lang/smtshell/AllTheButtons.java @@ -27,65 +27,77 @@ public class AllTheButtons extends AppCompatActivity { ArrayList list = new ArrayList<>(Arrays.asList( new SMTCapability( - "Kill SMT Shell API", - "Clears application data for com.samsung.SMT, disabling all payloads and allowing the exploit to run again.", + "Kill #system_shell_2#'s API", + "SHOTS FIRED! SYSTEM is down...SYSTEM is down. RIP MAY 2023.", "Kill", v -> { InternalAPI.killAPI(this, success -> { ActivityUtils.launchNewTask(this, MainActivity.class); }); }), new SMTCapability( - "Local System Shell", - "Connect to a system shell directly in the app!", + "#system_shell_2# Terminal", + "For the lazy people, who dont want that PC life...like ME!", "Launch", v -> { ActivityUtils.launch(AllTheButtons.this, ShellActivity.class); }), new SMTCapability( - "Reverse Shell", - "Start a reverse shell that can be connected to via:\n adb shell nc -l -p 9999", + "For the NERDS, who want that PC life", + "NC LYFE 4Ever....nc -l -p 9999", "Launch", v -> { SMTShellAPI.loadLibrary(this, getApplicationInfo().nativeLibraryDir + "/" + "libsmtshell.so"); }), new SMTCapability( - "Band Selection", + "Bands Will Make Her Dance", null, "Launch", v -> { SMTShellAPI.executeCommand(this, "am start com.samsung.android.app.telephonyui/.hiddennetworksetting.MainActivity"); }), new SMTCapability( - "Band Selection (Advanced)", - null, + "Bands Will Make Her Dance #2)", + "After hours edition", "Launch", v -> { SMTShellAPI.executeCommand(this, "am broadcast -a com.samsung.android.action.SECRET_CODE -d android_secret_code://2263 -n com.sec.android.RilServiceModeApp/.SecKeyStringBroadcastReceiver"); }), new SMTCapability( - "Change CSC", + "Cave of Wonders - CSC boys!", null, "Launch", v -> { SMTShellAPI.executeCommand(this, "am start -n com.samsung.android.cidmanager/.modules.preconfig.PreconfigActivity -a com.samsung.android.action.SECRET_CODE -d secret_code://27262826 --ei type 2"); }), new SMTCapability( - "Service Menu", - null, + "Pandora's Box", + "If you come inside, dont cry when you break something...do it at XDA", "Launch", v -> { SMTShellAPI.executeCommand(this, "am broadcast -a com.samsung.android.action.SECRET_CODE -d android_secret_code://27663368378 -n com.sec.android.RilServiceModeApp/.SecKeyStringBroadcastReceiver"); }), new SMTCapability( "Info Menu", - null, + "Info? What info...I AINT NO SNITCH!", "Launch", v -> { SMTShellAPI.executeCommand(this, "am broadcast -a com.samsung.android.action.SECRET_CODE -d android_secret_code://0011 -n com.sec.android.RilServiceModeApp/.SecKeyStringBroadcastReceiver"); }), new SMTCapability( - "DSU Loader", + "IOTHiddenMenu", + "Enter the Master Menu of IOTHiddenMenu", + "Launch", v -> { + SMTShellAPI.executeCommand(this, "am start -n com.sec.hiddenmenu/.IOTHiddenMenu -e 7267864872 72678647376477466"); + }), + new SMTCapability( + "5G Tile Service in Quick Settings", null, "Launch", v -> { + SMTShellAPI.executeCommand(this, "am start -n com.samsung.android.app.telephonyui/.carrierui.tile.TurnOn5gTileService"); + }), + new SMTCapability( + "DSU Loader", + "FAKE ROM........You have!.", + "Launch", v -> { SMTShellAPI.executeCommand(this, "am start -n com.android.settings/.development.DSULoader"); }), new SMTCapability( - "Spawn DSU Notification", + "Spank Me Daddy!!! Ive been BAD.", "Spawns a notification in the system tray that allows a selected DSU to be discarded.", - "Launch", v -> { + "Spank Me", v -> { SMTShellAPI.executeCommand(this, "am start -n com.android.dynsystem/.VerificationActivity"); }) )); diff --git a/smtshell/app/src/main/java/com/samsung/SMT/lang/smtshell/shizuku/PackageInstallerUtils.java b/smtshell/app/src/main/java/com/samsung/SMT/lang/smtshell/shizuku/PackageInstallerUtils.java index d8204ad..71f66c9 100644 --- a/smtshell/app/src/main/java/com/samsung/SMT/lang/smtshell/shizuku/PackageInstallerUtils.java +++ b/smtshell/app/src/main/java/com/samsung/SMT/lang/smtshell/shizuku/PackageInstallerUtils.java @@ -64,7 +64,7 @@ public static boolean installApkFromAssets(Context context, String apkName) { installerAttributionTag = context.getAttributionTag(); } PackageInstaller packageInstaller = PackageInstallerUtils.createPackageInstaller( - appContext, _packageInstaller, "com.android.shell", installerAttributionTag, 0); + appContext, _packageInstaller, "com.sec.android.preloadinstaller", installerAttributionTag, 0); PackageInstaller.SessionParams params = new PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL); int installFlags = PackageInstallerUtils.getInstallFlags(params); diff --git a/smtshell/gradle/wrapper/gradle-wrapper.properties b/smtshell/gradle/wrapper/gradle-wrapper.properties index 8049c68..59bc51a 100644 --- a/smtshell/gradle/wrapper/gradle-wrapper.properties +++ b/smtshell/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists