本帖最后由 世事繁华皆成空 于 2015-4-6 13:58 编辑
昨天逛应用市场的时候看到这玩意,下来来看看
看作者的介绍:日期计算器是一款非常实用的计算工具,它可以帮助您计算从出生到现在的日期数,打开软件,选定您的出生日期,然后点击计算,就能知道您从出生那天开始到现在所经历的天数了,来吧,快来帮您和您的家人计算一下吧!!
废话不多说,模拟器安装查看,第一眼着实吓尿了
我不禁被作者的智商和态度给深深的折服,按钮去哪了?不用想肯定是被广告覆盖住了,软件应该开发给竖屏机器用的,本身没有提供横竖屏切换功能,那怎么办,我们自己来改!!
APKIDE反编译,打开apk的AndroidManifest文件
我们看到软件需要如下权限
[Java] 纯文本查看 复制代码 <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
本身程序是不需要联网的,只有加载广告才需要联网,我们干掉那些权限,剩下的如下:
[Java] 纯文本查看 复制代码 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
我们不需要它来定位,也不需要它才创建快捷方式
接下来我们查找广告的activity和服务
全部删除,依然记得一条方法,当发现可疑东西时,不明确的话请善用百度,关键字“youmi.android.AdReceiver”
结果一下子就明朗了,果断删除不要怕。
这里广告活动和多余权限已经清除干净了,不过我们还有一个没做,这个app启动默认是根据模拟器默认方向来设定的,我们把它设置为强制竖屏。找到主类
千万不要以为是上面一条,看清楚上面也清楚的写着splash,这是个过场动画,一般app打开都有个动画,就是这玩意,好了,我们在主类中添加一句
android:screenOrientation="portrait"
这样就行了,我们回编译试试效果
好的,没问题,竖屏了,按钮也能看到了,不得不说,界面真的丑,牢骚一句,就算是新入门的开发者,首先要做的应该是积累水平和用户量,用心做app,而不是上来就插入广告想着赚钱!闲话说完,我们看到下方广告已经不见了,但是有残留东西,我们试着在布局文件中查找相关信息
看来并没有重要的信息,之前我主要讲的也就是在layout中清除广告,现在貌似不可行了,那么我们换一种方法,我们在smail中找到主类,MainActivity.smail
我们看到这里是设置了广告的监听器,o(︶︿︶)o 唉,smail看起来就是麻烦,我们用jd-gui查看JAVA源码
这下就明朗了,那么我们怎么去除广告呢,我提供一种最简单的方法,所有的东西显示都要在Oncreate方法(软件进入后默认就会加载此方法)中进行show,那么我们直接把show这行直接干掉不就行了,我们试试
JAVA中找到这行,来到smail下,删除蓝色部分
我们回编译试试,
不出我们所料,软件已经干净了,我们试试它的功能,没想到我已经活了这么久了
好了,教程结束,修改之后的apk奉上:http://pan.baidu.com/s/1qWC3lz2
|