diff --git a/README.md b/README.md index f4d535f..415b98a 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,6 @@ This refers to the string params of methods of [PackageManagerService](https://c How to use it: pms methods whose string params contain configured strings will be intercepted Notice that under **MOST** circumstances you do not need to switch on this interception nor need to add any rule. ### How did HMA Magisk module work? -HMA install inline hooks for syscall wrappers in libc and modify the results to make the app think there "isn't" suspicious files or directories. +HMA install inline hooks for syscalls and replace the path to dummy to make the app think there "isn't" suspicious files or directories. -However, this can be bypassed by directly calling syscall with assembly code. Due to upstream hook framework's problem on ARM64, I cannot write direct syscall hooks right now. - -What's more, inline hook is very **unstable**, and can be detected by some methods. So do not switch on *file detection / maps scan* interceptions if not needed. +However, syscall hook is very **unstable**, and can be detected by some methods. So do not switch on *file detection / maps scan* interceptions if not needed. diff --git a/app/src/main/assets/extension.zip b/app/src/main/assets/extension.zip index 1c26b71..fcaa119 100644 Binary files a/app/src/main/assets/extension.zip and b/app/src/main/assets/extension.zip differ diff --git a/app/src/main/java/com/tsng/hidemyapplist/app/ui/activities/AboutActivity.kt b/app/src/main/java/com/tsng/hidemyapplist/app/ui/activities/AboutActivity.kt index 0f7946e..7d41937 100644 --- a/app/src/main/java/com/tsng/hidemyapplist/app/ui/activities/AboutActivity.kt +++ b/app/src/main/java/com/tsng/hidemyapplist/app/ui/activities/AboutActivity.kt @@ -32,9 +32,11 @@ class AboutActivity : AbsAboutActivity() { items.add(Card(getString(R.string.about_hook_differences_description))) items.add(Category(getString(R.string.about_developer))) - items.add(Contributor(R.drawable.author, "\uD835\uDD93\uD835\uDD9A\uD835\uDD91\uD835\uDD91\uD835\uDD95\uD835\uDD99\uD835\uDD97", "Developer", "https://github.com/Dr-TSNG")) + items.add(Contributor(R.drawable.cont_author, "\uD835\uDD93\uD835\uDD9A\uD835\uDD91\uD835\uDD91\uD835\uDD95\uD835\uDD99\uD835\uDD97", "Developer", "https://github.com/Dr-TSNG")) items.add(Line()) - items.add(Contributor(R.drawable.about_icon_designer, "辉少菌", "Icon designer", "http://www.coolapk.com/u/1560270")) + items.add(Contributor(R.drawable.cont_icon_designer, "辉少菌", "Icon designer", "http://www.coolapk.com/u/1560270")) + items.add(Line()) + items.add(Contributor(R.drawable.cont_cpp_master, "LoveSy", "Idea provider", "https://github.com/yujincheng08")) items.add(Category(getString(R.string.about_support))) items.add(Card("Github\nhttps://github.com/Dr-TSNG/Hide-My-Applist")) diff --git a/app/src/main/java/com/tsng/hidemyapplist/app/ui/fragments/AppSelectFragment.kt b/app/src/main/java/com/tsng/hidemyapplist/app/ui/fragments/AppSelectFragment.kt index 6ce3104..b5abb42 100644 --- a/app/src/main/java/com/tsng/hidemyapplist/app/ui/fragments/AppSelectFragment.kt +++ b/app/src/main/java/com/tsng/hidemyapplist/app/ui/fragments/AppSelectFragment.kt @@ -8,17 +8,19 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.setFragmentResult import androidx.recyclerview.widget.LinearLayoutManager import com.github.kyuubiran.ezxhelper.utils.runOnMainThread -import com.google.android.gms.ads.AdRequest import com.tsng.hidemyapplist.R import com.tsng.hidemyapplist.app.helpers.AppInfoHelper import com.tsng.hidemyapplist.app.ui.adapters.AppSelectAdapter +import com.tsng.hidemyapplist.app.ui.views.Ads import com.tsng.hidemyapplist.databinding.FragmentAppSelectBinding import java.text.Collator import java.util.* import kotlin.concurrent.thread class AppSelectFragment : Fragment() { + companion object { + @JvmStatic fun newInstance(selectedApps: Array, requestKey: String? = null) = AppSelectFragment().apply { @@ -48,7 +50,7 @@ class AppSelectFragment : Fragment() { savedInstanceState: Bundle? ): View { binding = FragmentAppSelectBinding.inflate(inflater, container, false) - binding.adBanner.loadAd(AdRequest.Builder().build()) + binding.adBanner.loadAd(Ads.appSelectAd) binding.refreshLayout.setOnRefreshListener { refresh() }.autoRefresh() return binding.root } diff --git a/app/src/main/java/com/tsng/hidemyapplist/app/ui/fragments/ScopeManageFragment.kt b/app/src/main/java/com/tsng/hidemyapplist/app/ui/fragments/ScopeManageFragment.kt index 7ccfda7..263a1a3 100644 --- a/app/src/main/java/com/tsng/hidemyapplist/app/ui/fragments/ScopeManageFragment.kt +++ b/app/src/main/java/com/tsng/hidemyapplist/app/ui/fragments/ScopeManageFragment.kt @@ -6,19 +6,20 @@ import androidx.appcompat.widget.SearchView import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.github.kyuubiran.ezxhelper.utils.runOnMainThread -import com.google.android.gms.ads.AdRequest import com.tsng.hidemyapplist.BuildConfig import com.tsng.hidemyapplist.R import com.tsng.hidemyapplist.app.JsonConfigManager.globalConfig import com.tsng.hidemyapplist.app.helpers.AppInfoHelper import com.tsng.hidemyapplist.app.startFragment import com.tsng.hidemyapplist.app.ui.adapters.AppSelectAdapter +import com.tsng.hidemyapplist.app.ui.views.Ads import com.tsng.hidemyapplist.databinding.FragmentAppSelectBinding import java.text.Collator import java.util.* import kotlin.concurrent.thread class ScopeManageFragment : Fragment() { + private lateinit var binding: FragmentAppSelectBinding private var adapter: AppSelectAdapter? = null private var isShowSystemApp = false @@ -35,7 +36,7 @@ class ScopeManageFragment : Fragment() { savedInstanceState: Bundle? ): View { binding = FragmentAppSelectBinding.inflate(inflater, container, false) - binding.adBanner.loadAd(AdRequest.Builder().build()) + binding.adBanner.loadAd(Ads.appSelectAd) binding.refreshLayout.setOnRefreshListener { refresh() }.autoRefresh() return binding.root } diff --git a/app/src/main/java/com/tsng/hidemyapplist/app/ui/views/Ads.kt b/app/src/main/java/com/tsng/hidemyapplist/app/ui/views/Ads.kt new file mode 100644 index 0000000..de5c17b --- /dev/null +++ b/app/src/main/java/com/tsng/hidemyapplist/app/ui/views/Ads.kt @@ -0,0 +1,10 @@ +package com.tsng.hidemyapplist.app.ui.views + +import com.google.android.gms.ads.AdRequest + +object Ads { + + val appSelectAd: AdRequest by lazy { + AdRequest.Builder().build() + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/author.png b/app/src/main/res/drawable/cont_author.png similarity index 100% rename from app/src/main/res/drawable/author.png rename to app/src/main/res/drawable/cont_author.png diff --git a/app/src/main/res/drawable/cont_cpp_master.png b/app/src/main/res/drawable/cont_cpp_master.png new file mode 100644 index 0000000..1510db0 Binary files /dev/null and b/app/src/main/res/drawable/cont_cpp_master.png differ diff --git a/app/src/main/res/drawable/about_icon_designer.png b/app/src/main/res/drawable/cont_icon_designer.png similarity index 100% rename from app/src/main/res/drawable/about_icon_designer.png rename to app/src/main/res/drawable/cont_icon_designer.png diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 0b16714..1a5aaeb 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -216,5 +216,5 @@ android:layout_below="@id/menu_scroll_bar" android:layout_marginTop="20dp" app:adSize="BANNER" - app:adUnitId="ca-app-pub-7935522387526005/6498455665" /> + app:adUnitId="ca-app-pub-7935522387526005/9113700045" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_app_select.xml b/app/src/main/res/layout/fragment_app_select.xml index 0b7c572..9e68edb 100644 --- a/app/src/main/res/layout/fragment_app_select.xml +++ b/app/src/main/res/layout/fragment_app_select.xml @@ -10,7 +10,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" app:adSize="BANNER" - app:adUnitId="ca-app-pub-7935522387526005/6498455665" + app:adUnitId="ca-app-pub-7935522387526005/3450309828" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/build.gradle.kts b/build.gradle.kts index d3e249e..af47140 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,10 +12,10 @@ val minSdkVer by extra(24) val targetSdkVer by extra(31) val buildToolsVer by extra("31.0.0") -val appVerName by extra("2.2.4") -val appVerCode by extra(70) +val appVerName by extra("2.3.Beta") +val appVerCode by extra(71) val serviceVer by extra(69) -val minRiruVer by extra(29) +val minRiruVer by extra(32) val minBackupVer by extra(65) val gitCommitCount by extra("git rev-list HEAD --count".execute())