安卓玩机-----给app加注册码 app加弹窗 云注入弹窗

news/2024/5/17 17:28:11 标签: android, gitee, 给app加注册码, apk验证

在对接很多工作室业务中有些客户需要在他们自带的有些app中加注册码或者验证码的需求。其实操作起来也很简单。很多反编译软件有自带的注入功能。例如注入弹窗。这个是需要对应的注册码来启动应用。而且是随机id。重新安装app后需要重新注册才可以继续使用,原则上可以杜绝工作室外发定制app的滥用。

加注册码效果如图

上个博文解析了下app去广告  去弹窗,

反编译apk 修改apk 去广告 去弹窗等操作中的一些常识

结合上个博文我们基本可以了解到弹窗在什么位置。根据客户的需求。编译生成一个文件用于注册码的验证方式。然后在app中反编译加入弹窗即可.

在app中我们要基本了解app相关文件的作用,这个是前提条件之一

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/app_and_notification_dashboard_title" android:key="apps_and_notification_screen" settings:initialExpandedChildrenCount="4"
  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res-auto">
    <com.android.settingslib.miuisettings.preference.Preference android:title="@string/applications_settings" android:key="all_app_info" android:order="-999" android:fragment="com.android.settings.applications.manageapplications.ManageApplications" settings:controller="com.android.settings.applications.AllAppsInfoPreferenceController" settings:keywords="@string/keywords_applications_settings" />
    <com.android.settingslib.widget.LayoutPreference android:layout="@layout/app_entities_header" android:title="@string/recent_app_category_title" android:selectable="false" android:key="recent_open_apps" android:order="-998" settings:allowDividerBelow="true" settings:controller="com.android.settings.applications.RecentAppsPreferenceController" />
    <PreferenceCategory android:layout="@layout/preference_category_no_label" android:key="recent_apps_divider" android:order="-997" />
    <PreferenceCategory android:key="dashboard_tile_placeholder" android:order="10" />
    <com.android.settingslib.miuisettings.preference.Preference android:title="@string/app_permissions" android:key="manage_perms" android:order="12" settings:controller="com.android.settings.applications.AppPermissionsPreferenceController" settings:keywords="@string/keywords_app_permissions">
        <intent android:action="android.intent.action.MANAGE_PERMISSIONS" />
    </com.android.settingslib.miuisettings.preference.Preference>
    <com.android.settingslib.RestrictedPreference android:title="@string/cell_broadcast_settings" android:key="app_and_notif_cell_broadcast_settings" android:order="15" settings:useAdminDisabledSummary="true">
        <intent android:targetPackage="com.android.cellbroadcastreceiver" android:action="android.intent.action.MAIN" android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings" />
    </com.android.settingslib.RestrictedPreference>
    <com.android.settingslib.miuisettings.preference.Preference android:title="@string/special_access" android:key="special_access" android:order="20" android:fragment="com.android.settings.applications.specialaccess.SpecialAccessSettings" settings:controller="com.android.settings.applications.SpecialAppAccessPreferenceController" />
</PreferenceScreen>

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/battery_action_bluetooth"
  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res-auto">
    <PreferenceCategory android:title="@string/bluetooth_connect_settings" android:order="1">
        <com.android.settingslib.miuisettings.preference.SwitchPreference android:title="@string/bluetooth_mi_fast_connect" android:key="bluetooth_mi_fast_connect" android:summary="@string/bluetooth_mi_fast_connect_summary" />
        <com.android.settingslib.miuisettings.preference.Preference android:persistent="false" android:title="@string/app_bluetooth_device_blacklist" android:summary="@string/bluetooth_device_blacklist_summary" android:fragment="com.android.settings.bluetooth.BluetoothBlacklistFragment" settings:showRightArrow="true" />
    </PreferenceCategory>
    <PreferenceCategory android:title="@string/bluetooth_display_settings" android:key="bluetooth_show" android:order="2">
        <com.android.settingslib.miuisettings.preference.SwitchPreference android:title="@string/bluetooth_show_devices_without_names" android:key="bluetooth_show_devices_without_names" android:summary="@string/bluetooth_show_devices_without_names_summary" />
        <com.android.settingslib.miuisettings.preference.SwitchPreference android:title="@string/bt_show_notification_title" android:key="bluetooth_show_notification" android:summary="@string/bt_show_notification_summary" />
    </PreferenceCategory>
    <PreferenceCategory android:key="load_preferenceCategory_flag" android:order="3">
        <com.android.settingslib.miuisettings.preference.Preference android:persistent="false" android:title="@string/app_enable_bluetooth_record" android:fragment="com.android.settings.bluetooth.BluetoothEnableRecord" settings:showRightArrow="true" />
    </PreferenceCategory>
</PreferenceScreen>

在app源码中。

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:persistent="true" android:title="@string/accessibility_settings" android:key="accessibility_settings_screen"
  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res-auto">
    <PreferenceCategory android:key="user_installed_services_category" />
    <PreferenceCategory android:title="@string/screen_reader_category_title" android:key="screen_reader_category">
        <com.android.settings.MiuiValuePreference android:persistent="false" android:title="@string/accessibility_screen_reader_haptic_title" android:key="accessibility_screen_reader_haptic" android:order="-1" android:fragment="com.android.settings.accessibility.HapticSettingsFragment" settings:controller="com.android.settings.accessibility.ScreenReaderController" />
        <com.android.settings.MiuiValuePreference android:title="@string/tts_settings_title" android:key="tts_settings_preference" android:order="100" android:fragment="com.android.settings.tts.TextToSpeechSettings" settings:searchable="false" />
    </PreferenceCategory>
    <PreferenceCategory android:title="@string/display_category_title" android:key="display_category">
        <com.android.settings.display.ScreenZoomPreference android:title="@string/screen_zoom_title" android:key="accessibility_settings_screen_zoom">
            <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.display.ScreenZoomActivity" />
        </com.android.settings.display.ScreenZoomPreference>
        <com.android.settingslib.miuisettings.preference.SwitchPreference android:title="@string/dark_ui_mode" android:key="dark_ui_mode_accessibility" settings:searchable="false" />
        <com.android.settings.MiuiValuePreference android:title="@string/accessibility_screen_magnification_title" android:key="magnification_preference_screen" android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment" />
        <com.android.settingslib.miuisettings.preference.SwitchPreference android:title="@string/accessibility_disable_animations" android:key="toggle_disable_animations" />
    </PreferenceCategory>
    <PreferenceCategory android:title="@string/experimental_category_title" android:key="experimental_category">
        <com.android.settingslib.miuisettings.preference.miuix.DropDownPreference android:persistent="false" android:title="@string/screen_reader_mode_input_type_title" android:key="screen_reader_mode_input_type" android:summary="@string/screen_reader_mode_input_type_summary" settings:entries="@array/screen_reader_mode_input_type_selector_titles" settings:entryValues="@array/screen_reader_mode_input_type_selector_values" />
        <com.android.settingslib.miuisettings.preference.SwitchPreference android:title="@string/accessibility_toggle_high_text_contrast_preference_title" android:key="toggle_high_text_contrast_preference" />
        <com.android.settingslib.miuisettings.preference.SwitchPreference android:title="@string/toggle_auto_speaker_preference_title" android:key="toggle_auto_speaker_preference" android:summary="@string/toggle_auto_speaker_preference_summary" />
        <com.android.settings.MiuiValuePreference android:title="@string/accessibility_display_daltonizer_preference_title" android:key="daltonizer_preference" android:fragment="com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment" settings:searchable="false" />
        <com.android.settingslib.miuisettings.preference.SwitchPreference android:persistent="false" android:title="@string/accessibility_display_inversion_preference_title" android:key="toggle_inversion_preference" android:summary="@string/accessibility_display_inversion_preference_subtitle" settings:controller="com.android.settings.accessibility.ColorInversionPreferenceController" />
    </PreferenceCategory>
</PreferenceScreen>

show开头的源代码中就标示是弹窗对话框.去弹窗 加弹窗.修改app中的 AndroidManifest.xml文件.兴趣的友友可以使用反编译软件中的注入弹窗内容  然后对照原文件来参考弹窗的生成。

还有很多云注入弹窗方式。

去掉app云注入弹窗

第一种方法:dex搜索代码:invoke-virtual {v0}, Landroid/app/AlertDialog;->show()V 然后删除即可!

第二种方法:搜索代码:invoke-direct {p0}, Lcom/cloudinject/feature/App;->̗̖̙̗̖̖()V  然后删除即可!

第三种方法:搜索字符串:"无联网",找到当前方法,开头添加: return-void

第四种完美去除法:找到入口,替换入口即可,删除云注入dex和assets目录下的云注入文件,找入口可参考搜索:.super Landroid/app/Application;一般第四行就是了.可以参考以上

 


http://www.niftyadmin.cn/n/5059038.html

相关文章

《C和指针》读书笔记(第十四章 预处理器)

目录 0 简介1 预定义符号2 #define2.1 宏2.2 #define替换2.3 宏与函数2.4 带副作用的宏参数2.5 命名约定2.6 #undef2.7 命令行定义 3 条件编译3.1 是否被定义3.2 嵌套指令 4 文件包含4.1 函数库文件包含4.2 本地文件包含4.3 嵌套文件包含 5 其他指令6 总结 0 简介 编译一个C程…

web:[极客大挑战 2019]BabySQL

题目 点进页面显示如下 查看源代码 先尝试一下万能密码 没用&#xff0c;or被过滤了 试着双写看看 回显一串&#xff0c;也不是flag 先查询列数尝试一下&#xff0c;把union select过滤了&#xff0c;使用双写 构造payload /check.php?usernameadmin&password1 %27 ununi…

探索ClickHouse——使用Projection加速查询

在测试Projection之前&#xff0c;我们需要先创建一张表&#xff0c;并导入大量数据。 我们可以直接使用指令&#xff0c;从URL指向的文件中获取内容并导入表。但是担心网络不稳定&#xff0c;我们先将文件下载下来。 下载文件 wget wget http://prod.publicdata.landregistr…

一百八十八、Hive——HiveSQL查询表中的日期是星期几(亲测,附截图)

一、目的 指标需要查询以工作日和周末维度的数据统计&#xff0c;因此需要根据数据的日期判断这一天属于星期几&#xff0c;周一到周五为工作日&#xff0c;周六到周日为周末 二、SQL查询 &#xff08;一&#xff09;SQL语句 selectday,case when pmod(datediff(create_tim…

智能回答机器人的“智能”体现在哪里?

人工智能的广泛应用已经成为当今社会科技发展的趋势之一。通过人工智能技术&#xff0c;我们可以在不同领域中实现自动化、智能化和高效化&#xff0c;从而大大提升生产和生活效率。智能回答机器人的出现和使用便能很好的证明这一点。今天我们就来探讨一下智能会打机器人的“智…

APScheduler包——python tornado框架中实现定时任务

介绍&#xff1a; APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务&#xff1a;固定时间间隔&#xff0c;固定时间点&#xff08;日期&#xff09;&#xff0c;Linux 下的 Crontab 命令。同时&#xf…

YOLov5 分割数据集的制作(详细过程+代码)

1.labelme 的使用 每张图片会对应生成一个&#xff1a; 以上已经画好所有的数据集&#xff08;&#xff01;&#xff01;&#xff09; 2.这里介绍一下如果都是没有变化的数据集&#xff0c;标签的位置都一样&#xff0c;如何批量生成这个数据集 我们先将第一个数据集复制2275…

树与二叉树的概念 性质及其存储结构

&#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;数据结构 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 树与二叉树 树的概念与结构&#xff1a;树的概…