美文网首页
Android安全之---APP去广告

Android安全之---APP去广告

作者: Ivonhoe | 来源:发表于2017-06-24 16:24 被阅读124次

    一、工具介绍

    更多反编译工具可查看:Uncle Chen---Android反编译技术总结

    二、去除应用开发助手的广告

    CodeKK公众号在17年初推出了一个应用开发助手。V1.0版本是有广告版本的,下面以这个版本为例,简单看下去广告过程。它的后续的V1.1.0和V1.2.0已经去除了广告功能。

    2.1、反编译

    apktool.sh d -f ./dev-tools.apk
    

    2.2、注释广告代码

    这里可以先用dex2jar转jar后查看下源码,会发现使用的是Google AdMob作为广告平台,简单看下代码可以发现在主页面activty_main.xml中包含广告视图的布局文件。所以只需要找到ad_layout.xml将其android:visibility="gone"属性设置成gone就可以了。

    2.3、重打包

    这里重打包的过程可能会遇到一些错误,不过认真查看日志并结合Google都是可以找到解决方案的,这里暂且不表。使用apktool b命令,生成的apk默认路径为/dist路径下

    apktool.sh b ./dev-tools
    

    2.4、制作一个名为hackapk.keystore的证书,并重新签名应用

    制作证书:
    keytool -genkey -keystore hackapk.keystore -keyalg RSA -validity 10000 -alias hackapk
    
    签名:
    jarsigner -verbose -keystore hackapk.keystore -signedjar dev-tools-no-ads.apk ./dev-tools/dist/dev-tools.apk hackapk
    

    详细的参数可以参考:
    APK签名之keytool生成keystore和jarsigner签名apk

    2.5、安装

    adb install -r dev-tools-no-ads.apk
    
    有广告版本 无广告版本

    2.6、下载去广告版本的应用开发助手

    三、反编译脚本

    #!/bin/sh
    workDir=./
    if [ "$2" ]
    then
             mkdir $2
             workDir=./$2/
    fi
    
    echo $workDir
    name=`basename $1 .apk`
    zipPath=$workDir$name.zip
    
    ##apkTool反编译
    smaliDir=$workDir$name@smali
    apktool.sh d -f $1 -o $smaliDir
    
    ## 解压缩,使用dex2jar处理
    unzipDir=$workDir$name@unzip
    cp $1 $zipPath
    unzip $zipPath -d $unzipDir
    
    d2j-dex2jar.sh -f $unzipDir/classes.dex -o ${workDir}dex2jar.jar
    d2j-dex2jar.sh -f $unzipDir/classes2.dex -o ${workDir}dex2jar2.jar
    d2j-dex2jar.sh -f $unzipDir/classes3.dex -o ${workDir}dex2jar3.jar
    open $workDir
    

    将上述内容保存到本地hack.sh文件中,使用下面的命令就会把apktool和dex2jar的结果输出到meipu这个目录中,这样就不需要每次收到敲命令喽,只要知道需要反编译的apk和输出的文件夹名称就可以~

    ./hack.sh ./美铺_1487845975713.apk meipu

    相关文章

      网友评论

          本文标题:Android安全之---APP去广告

          本文链接:https://www.haomeiwen.com/subject/ovykcxtx.html