各位好!
目前想写个一键去广告的软件!但是碰到了些问题,希望大家给些意见,共同探讨下,目
前这里先不考虑加壳问题,谢谢
下面我介绍下我的几个思路:
1.最初我是觉得因为广告SDK需要注册,如果直接把AndroidManifest.xml里的注册信息去掉,
如"com.google.ads.AdsActivity"去掉那就解决问题了吗,但是实践中碰到了几个问题,(1)有些APK反编译处理,再回编回去是行不通的,当然这里主要是有apktool,aapt的版本问题,(2)有一些资源问题,如果ogg格式音频问题,(3)有的是编译出来,多了许多文件(drawable_xxx),估计要等新的版本的apktool解决这些问题.总之这条路暂时行不通。目前我没考虑这条路。
2.后面想到既然部分资源编译不了,那我就不把资源重新编译这样总行了吧.所以直接改smali代码吧,那要改那些代码呢?第一个想法就是把资源下载的URL去掉,那APK就下载不了,这样不是就没广告了吧?有想法就要实验,这里就把通过把比较像的http地址全替换成0.0.0.0(这也是网上常见教程的方法),但是问题来了,好像测试了几个APK,有的去广告成功,有的广告没显示了,但是广告栏变黑没东西(
因为资源没下载下来),
有的还既然直接挂了,后面追踪原因(旧的SDK里面需要从网络中获取配置信息,如Admob)。后面觉得单单改地址这条路好像不太够,,这个描述有误,挂掉是因为我删了不该删的。于是有了第三种思路
3.那是就是直接把SDK的API置空,也就是把SDK提供给用户的接口清空,这样不就解决问题了?后面实验了下,有的APK在实现广告部分时,有的是直接动态创建,有的是通过XML配置layout,有有的广告商的SDK去空会直接挂了,因为他们SDK混淆后,代码看的很累,要看懂代码再修改,这样子又麻烦,而且又不好对所有广告的SDK程序化。。。
4.又想了,如果我把最新官方的SDK去广告后(主要是觉得一般SDK的api会向后兼容)也就是把广告商提供的SDK反编译完之后,如何直接看代码去广告后,直接替换要去广告的apk的广告部分代码,因为它们的API一致,编译应该没什么问题,就是这样子会有个问题,因为目前的广告联盟太多了,所以你懂得...。想法觉得还不错,
但是发现API有的不一样额。(如Admob旧的有setTestDrivce
这个接口,新的好像没找到这个接口)。这个也描述有误,具体问题我还在找.见谅
5.后面总结了下,这几种方法,大致就这些,因为以前语文是体育老师教的
,各位见谅,大家有没什么好的想法,希望可以探讨下!谢谢
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!