吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10377|回复: 20
收起左侧

[Android 原创] 去广告的【8位元画家】及教程

[复制链接]
Chuckie 发表于 2016-6-13 21:44
本帖最后由 Chuckie 于 2016-6-13 21:47 编辑

最近在学习前端,好久不搞android了,也慢慢从linux平台用回到windows,废话少说,最近发现了个很萌的应用,叫做8位元画家。
以下是我下午地铁上无聊的时候画的。后来我发现,这个app下面有广告,于是就想要把它给咔嚓了,哈哈哈
740258913.jpg 1064556182.jpg 1524359225.jpg

要用到的工具有:
apktool:用来反编译
sign.jar:用来签名
dex2jar:用来将dex转换成jar(有助于我们找到修改地点)
jd-gui:用来查看jar源码
以上工具基本都在github上找得到,我的上一篇帖子也有贴地址。文末再贴dex2jar和jd-gui的链接。


首先,在PC上下载我们需要的apk文件,我在360市场找的:http://zhushou.360.cn/detail/index/soft_id/3246707
把它用apktool反编译,java -jar apktool_2.1.1.jar d ****.apk(因为我们最终都是要在smali的文件里更改然后重新打包的)
先看一眼apktool 反编译出的 manifest(用的notepad++)
internet.PNG
注意我选中的,首先,它请求的internet的权限,而这款软件按道理不需要这个权限,用它来干嘛呢?就是获取广告。。。所以,粗暴一点的话,直接删去这里的第二个permission就可以了但是,打包签名再安装之后,我们会发现,广告是不见了,但是下面会有警告的字样。。洁癖的我们是不允许出现这种情况的。
于是我们继续看,下面有一个activity,包名里面com.google.android.gms.ads.AdActivity。ad就是广告的意思,所以它摆明了告诉我们,这里是个广告,于是我第一次在想,直接把这里咔嚓了会怎么样? manifest.PNG
还没想完,我反应过来,要是这里没有注册activity,后面要是出现调用,这个app岂不是崩溃了,于是我试都没有试,至于把它删掉能不能达到去广告的目的,看官们可以去试一试。

好,下一步。
我们使用winrar这个软件把它解压缩了。(apk本质上是压缩文件,直接解压会得到下面这样的目录)
dex目录树.PNG
我们使用dex2jar把classes.dex转换成jar,windows下直接使用 d2j-dex2jar.bat classes.dex 就好然后打开jd-gui,java -jar jd-gui.jar。把刚刚得到的classes-dex2jar.jar打开。
现在我们就开始查看源码吧,首先目录树是这样的
jar目录树.PNG
按照套路,广告一定是要有一个view来承载的。这样的view一般会在activity onCreate 的时候出现(这句话我瞎掰的),我们要想去除广告,只需要把这个view的大小设置为0即可
于是我们一个activity接着一个activity的看。但是都没有发现明显的征兆。
无头绪中,我在这个包里面翻看了每一个类的前几行(主要看有没有引用google的包,因为从前面的manifest里,我们可以知道,这里的广告是谷歌的广告)。
很快在com.onetap.bit8painter.a.a这个类里,引用了google的包,接着往下看,天哪。。这函数名也太赤裸裸了。。如下图:
目标.PNG
于是我们跟踪这个函数,jd-gui可以直接跳转。看看这个e.a是什么东西:
跟踪.PNG
跟踪之后,我们发现了这段代码。结合e的构造函数,我们可以看出第一个参数是宽,第二个参数是高。并且在构造函数中有对参数的合法性检验,使之必须大于等于0;那么我们直接把所有的尺寸全部改为0就好了。所以我们需要更改的文件是com\google\android\gms\ads 下的e.class
我们回到apktool反编译出的文件夹对应的smali文件是\smali\com\google\android\gms\ads\e.smali

打开之后我们会发现类似于:
[Asm] 纯文本查看 复制代码
    const/16 v4, 0x140

    new-instance v0, Lcom/google/android/gms/ads/e;

    const/16 v1, 0x32

    const-string v2, "320x50_mb"

这样的代码片段,每一个参数都是以16进制的形式存进去的,所以我们把类似于这样的所有片段的16进制参数全部改为0x0即可
(注意下面有-0x1 -0x2 也全部改为0x0即可)
完事之后, 进入反编译的根目录 用apktool 打包 java -jar apktool_2.1.1.jar b ./
在dist路径下得到未签名的apk,继续用sign.jar签名 java -jar sign.jar signapk-key.testkey.x509.pem signapk-key.testkey.pk8 未签名.apk
最后得到未签名apk
打开手机的开发者模式,使用 adb.exe install 已签名.apk 即可完成安装(adb是android sdk里的工具,也可以使用其他方式将apk传入手机,直接进行安装,要注意的是,要先将有广告的版本进行卸载)
dex2jar:https://sourceforge.net/projects/dex2jar/files/
jd-gui:http://jd.benow.ca/
最后完成的apk:链接: http://pan.baidu.com/s/1nuMb5Pn 密码: 4dbx


注意:这里的去广告只是把广告的尺寸改没了,但是网络请求仍然会发生。。所以并不是真正的去广告,但是做到这样也是眼不见心不烦了~

免费评分

参与人数 4威望 +1 热心值 +4 收起 理由
查理大弟 + 1 热心回复!
qtfreet00 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
gsym97 + 1 谢谢@Thanks!
FantasyOwl + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| Chuckie 发表于 2016-6-15 11:44
点击下载 发表于 2016-6-14 12:00
這個軟件是不是用像馬賽克一樣的東西畫畫呢,沒有看到你的成品

是的,就是画8位像素风格的图像,一点一点的描。前面三个就是我画的
FantasyOwl 发表于 2016-6-13 22:14
感谢分享, 如果是免费注册的用户最好不要一直潜水- -会BAN的。
小浪妖 发表于 2016-6-13 22:35
哈哈哈  可惜看不懂 这个到底是干嘛的  而且 这软件好玩吗?
gsym97 发表于 2016-6-13 23:39
虽然对我没用,还是支持楼主,感谢分享!
zfdr_pc 发表于 2016-6-14 05:10 来自手机
顶一下,不错的内容
真爱贤 发表于 2016-6-14 11:41
分析的挺不错,现在能这样轻松反编译的app还真不多见了
时辰 发表于 2016-6-14 11:52
异常感谢  反编译不错
头像被屏蔽
点击下载 发表于 2016-6-14 12:00
提示: 作者被禁止或删除 内容自动屏蔽
52破姐 发表于 2016-6-14 12:02
虽然对我没用,还是支持楼主,感谢分享!
陈益宏 发表于 2016-6-14 17:48
感谢分享!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-1 15:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表