安卓软件都是apk形式,那么今天聊聊这个apk的相关常识。首先我们找一个apk作为演示。前面的帖子我就说过。apk其实就是一个压缩包。我们使用压缩软件直接可以打开这个apk查看内部相关文件,但不可以直接修改哦
如果你想要修改这个apk的相关。那么需要对应的工具。这类工具很多。其中手机端使用较多的为MT np管理器 刺客 等等反编译软件。电脑端也有很多。我们使用反编译软件打开这个app后发现有很多文件和文件夹组成。如图
其中 assets文件夹为总的资源目录。其中包含有文本文件。图片 网页 声音 视频和一些对应的图标软件。如果你要修改软件中的图标等等,就在其中搜索修改即可
lib为软件运行的库文件 。他有静态库与动态库,其中都为一些so文件。反编译一般不需要修改这个.
META-INF就是此款app的签名文件。有的反编译软件编译中会隐藏该目录。他包含了apk文件的信息和签名,保障文件的完整性和系统的安全。也可以称为密匙。只要重新编译软件此密匙会失效。需要重新签名。
res目录文件夹为apk资源的总目录。此类修改的较多包含的图片类等等都在这个目录里。
AndroidManifest.xml这个文件较为重要。包含有权限设置 修改 图标 活动 服务 版本等等的配置信息。
类似代码
- <?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="com.huati">
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
- <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
- <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.GET_TASKS"/>
- <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
- <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
- <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
- <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
- <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
- <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
- <uses-permission android:name="android.permission.VIBRATE"/>
- <uses-permission android:name="com.huati"/>
- <uses-permission android:name="com.huati.permission.ACCESS_DOWNLOAD_MANAGER"/>
- <uses-permission android:name="com.huati.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED"/>
- <uses-permission android:name="com.huati.permission.SEND_DOWNLOAD_COMPLETED_INTENTS"/>
- <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:xlargeScreens="true"/>
- <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
- <uses-permission android:name="android.permission.RECORD_AUDIO"/>
- <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
- <uses-permission android:name="android.permission.WAKE_LOCK"/>
- <permission android:name="android.permission.DEVICE_POWER"/>
- <uses-permission android:name="android.permission.READ_CONTACTS"/>
- <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
- <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
- <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
- <uses-permission android:name="android.permission.BLUETOOTH"/>
- <uses-permission android:name="android.permission.REORDER_TASKS"/>
- <permission android:name="com.huati.permission.MIPUSH_RECEIVE" android:protectionLevel="signature"/>
- <uses-permission android:name="com.huati.permission.MIPUSH_RECEIVE"/>
- <uses-permission android:name="com.android.launcher.permission.READ_PHONE_STATE"/>
- <uses-permission android:name="com.android.launcher.permission.GET_TASKS"/>
- <uses-permission android:name="com.android.launcher.permission.ACCESS_COARSE_LOCATION"/>
- <uses-permission android:name="android.permission.CAMERA"/>
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
如你要去除软件的广告。有以下几种方法
1-----去除他的联网功能,这样一般就不会有广告弹出。去翻译修改AndroidManifest.xml文件即可
2-----删掉软件中的广告控件.。也是在这个AndroidManifest.xml中修改。记住一下控件的位置名称
gdt_plugin 腾讯广告
bdxadsdk.jar 百度广告
ksad_common_encrypt_image.png 快手广告等等
3---修改classes.dex里面的相关信息
如你要去除软件中的弹窗 可以参考步骤
当你打开一款软件。跳处弹窗类的界面。例如“欢迎 *********”我们首先进行反编译打开软件目录,找到resources.arsc文件。然后搜索此关键字符串。定位后进行删除即可
其实初期有兴趣的友友们可以先找一个体积较小的app进行反编译修改尝试。个人推荐可以手机端操作试练。方便简单。电脑端类的对系统运行环境有点关联。有时候很麻烦。当你去除一个你不需要的功能或者窗口。成就感满满滴。兴趣是最好的老师,什么东西只要入了门。你会发现很多乐趣。