• 安卓玩机-----反编译apk 修改apk 去广告 去弹窗等操作中的一些常识


    安卓机型app的编译与反编译 apk文件的简单说明与解析

    -安卓修改apk apk的组成和编译 一

    电脑端几种反编译apk工具操作步骤解析

    前面几个博文有说明关于反编译apk和apk架构等有些常识.今天对以上做个补充。初学者记住一点。对于一个apk文件使用压缩软件7zip打开可以查看到文件组成。使用反编译软件编译后的文件是不同的,这个取决于你使用的反编译软件的功能。不同的反编译软件反编译后的文件略有不同。请区别对待.

    简单在说下app中各个文件夹的具体作用,方便感兴趣的友友后续操作对比。

    1- assets——总资源目录

    主要存放四种文件:文本文件、图像文件、网页文件(包括html中引用的js/ccs/jpg等资源)、音频视频文件,例如游戏bgm、背景图、商店等一些图标.一般来说,如果修改游戏时想换个bgm、图标什么的可以在此处替换.

    2-lib——可理解为辅助文件,一般用不到

    一种是静态库,另一种是动态库, 一般存放so文件。看图片可以基本了解到软件安装适用于不同的cpu架构.

    3-META-INF(有时会在com文件夹中-js开发)——签名文件目录

    META-INF文件夹下存放了APK文件的基本信息和签名信息,用来保证APK文件的完整性和系统的安全。通俗的讲,你修改了一段代码,换了某个图片,如果校验结果与META-INF下的内容不一致,系统就不会安装这个APK文件,所以一些软件修改前可以去签名检验,或者修改完自签名。

    4-res——资源库目录

    可以存放项目中所有的资源文件,例如:图片(*.png、*.jpg)、文本等。(软件logo图标、icon),音频等相关的资源文件。要改软件icon(图标)的可以从这里改.

    如:

    res/drawable-hdpi:高分辨率图片

    res/drawable-mdpi:中分辨率图片

    res/drawable-ldpi:低分辩率图片

    5-AndroidManifest.xml——理解为权限和页面布局集合

    权限设置与管理,修改权限,修改布局专用文件。应用清单文件,版本号、版本名称、权限、应用名称、应用图标、活动、服务、广播等配置信息,均在这个文件中。(也就是运行时调用手机的硬件、组件,例如调用蓝牙的权限、发送SIM的权限).在其中

    拥有完全的网络访问权限 -->    可以去网络权限从而去广告 .可以改版本号从而去更新等【或者改为0dp去联网权限】

    6.resources.arsc——资源索引文件

    编译后的二进制资源文件,内容包含了开发程序时项目文件夹中res子文件夹下main.xml、strings.xml等文件的信息。汉化的话一般是反编译这个文件.可以在这里改软件名,去广告,改会员等

    7.classes.dex——可执行文件【有单个或者多个classes文件】

    简单说就是优化后的android版.exe。每个apk安装包里都有。安卓系统上的可执行文件,也是我们逆向的主要的文件,源码都被编译在里面。

    比如有许多软件因为每个dex里最多存放65535个方法,而项目的方法数超出了这个数量,所以被分成多个保存,而出现了classes.dex,classes2.dex ,classes3.dex等等.这个最常用,一般都在dex里搜索过滤isvip,会员,ad,show year vip ,免费,qq,弹窗等等

    ------------------------------------------------------------------------------------------------------------------------

    了解有关app中去广告等修改相关的步骤与索引

    1.在app中代码-mDialog,是对话的意思,跳转
    clclasses++搜索:isvip代码,选择方法名,会员的意思多数软件赋值地方.大部分软件修改会员都用这个.

    2.去xml删除谷歌类
    与com.google.android.gms.ads.AdActivity相关

    3.使用字符常量池打开dex搜索
    com.google.android.gms.ads.AdActivity.留下.AdActivity不能全删会闪退

    4--show弹窗对话框,常用破 解软件赋值代码

    const-wide v0, 0x1赋值
    const/4 v0, 0x1 破 解会员功能赋值
    const-string p1,
    const-string p0,""
    const v0,-1 赋值去广告秒数
    const v0,0 去广告赋值。去升级赋值
    const v0, 0x1 破 解会员功能赋值
    const-string v0 , "11"
    return-object v0 返回结束代码 return v0

    5.去广告都是赋值x0

    列如:去广告赋值 const/4 v0, 0x0,

    6.破解软件会员赋值

    const/4 v0, 0x1
    return v0

    所有的赋值需要在return v0代码上面,因为return v0是赋值给0也就是赋值给0了,所以需要在它返回结束的代码上,给它强行赋值x1。

    7.showDialog是显示对话框的意思

    删除或注释show这行代码它就没弹窗

    8.给软件加简单弹窗.弹窗代码

    1. const-string v0, "弹窗内容"
    2. const/4 v1, 0x1
    3. invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
    4. move-result-object v0
    5. invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    定位主程序入口(一般都act记录来找)dex++中找到主程序入口.在主程序中oncreate粘贴弹窗代码

    9.去弹窗.修改 AndroidManifest.xml

    编译 apk 中的 AndroidManifest.xml 文件查看应用的版本号和版本名称。其中 versionCode 就是版本号,软件更新就是根据这个,versionName 就是版本名称,随便改可以,我们把 versionCode 改成 9999(也就是大于他原来的数字如5100,5600),然后编译保存,重新签名后安装测试,如果更新没了就说明成功了,如果发现还是有更新提示,看来这个 APP 使用方法一无效。(只是对当前 APP 无效,其它 APP 还是可能有效的.

    10.去弹窗-搜索版本号

    Dex 编辑器++ 打开 apk 中的 classes.dex 文件,切换到搜索页,发起新搜索,内容输入 510(看你软件版本号),搜索类型选择整数,不要勾选十六进制,点击确认后,使用该方法如果搜索到了很少的几个结果(如图),只需要在代码中把对应的数字修改成大于最新版本的数字就行了。另外代码中的数字一般以十六进制显示,所以在代码中进行文本搜索时还需要手动转换一下版本号

    11-去弹窗.

    搜索关键字

    一般 APP 会从一个网址中读取最新版本信息,而网址是 http 开头,所以我们搜索 http,然后根据整个网址来判断它是否是我们要找的。

    与更新有关的英语单词有:version、update、ver,如果你找到的网址包含其中一个,那么很可能就是它了。

    如果在你搜到的网址中都找不到这几个单词,那你可以尝试使用 Dex 编辑器++,搜索类型选择代码,分别搜索上面的三个单词。

    如果我们看到一个网址包含着关键字 version或update,我们把它随便改成一个无效的网址,例如 http:jinitaimei,修改完成后然后保存 dex 文件。弹窗就没了

    12--去广告.app中classes.dex(有的话全选)/dex编辑器, 然后右上角常量搜索:onLayout然后会出来很多结果,因为只要把这个类名路径改掉就好了,com/google/android/gms/ads/BaseAdView;(注:你们找的时候可以看com开头的。)

    兴趣是最好的老师。通过了解以上可以从最初步的修改软件版本 替换软件图标等等上手操作体验其中的乐趣。

  • 相关阅读:
    【SpringMVC】JSR 303与拦截器注释使用
    [附源码]JAVA毕业设计的问卷调查系统设计与实现(系统+LW)
    学习R语言第六天
    恶意代码防范技术笔记(二)
    Nginx--单向链表分析
    Linux中固定ip端口和修改ip地址
    Java语言程序设计-关键术语(第一弹)
    Win10更新KB5014699开启热点后无法正常联网的解决方法
    Web Components详解-Shadow DOM插槽
    PMSM FOC位置环S曲线控制算法(恒定急动度)
  • 原文地址:https://blog.csdn.net/u011283906/article/details/133385143