新手学安卓去广告学破解入门 之 环境配置及对比法学习
本帖最后由 qtfreet00 于 2018-1-31 17:04 编辑原创:世事繁华皆成空
注明:我写的教程都会以最通俗易懂的话来阐释,有些细节我也会讲到,毕竟咱都不是大神,都讲术语谁都不懂,所以大家放心,我的教程绝对让所有人都看得懂!!!{:301_1003:}
首先大家要了解安卓的语言是基于java,所以在处理安卓程序时,也离不开java运行环境
这里我提供最新的java 8_40版本
http://pan.baidu.com/s/1mgvFq5M
下载完成后,打开
在系统变量中添加如下信息
新建一个CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(注意最前面.;别漏了)
新建一个JAVA_HOME
C:\Program Files\Java\jdk1.8.0_40
安装目录
在原有Path添加如下,如果是紧跟在其它命令后,请在最前面添加一个;
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
全部确定保存
java环境就这么配置好了,是不是很简单!!{:301_997:}
下面我们要准备一些什么工具呢,
APKIDE,安卓逆向助手,Beyond.Compare 这些软件论坛都有,请在逆向资源区寻找,附上安卓逆向助手的下载地址
http://pan.baidu.com/s/1kTidFGr
大家应该知道,我们使用反编译工具之后得到的不是java源码而是smail代码,所以我们需要对smail代码做一点了解,这里我提供一个简单的smail中文手册,希望大家可以看一看
http://pan.baidu.com/s/1c0ES4zm
同时我们也需要对安卓的权限问题做一点了解,大家可以参考一下H大最新收集的权限集合
http://www.52pojie.cn/thread-334835-1-1.html
何谓权限,简单点来说,打个老点的比方,我现在在皇宫里,我想要出皇宫。守卫肯定不让我出去,如果这时皇帝给我一个通行令牌,凭借这个我就可以自由出入,我们就是获取了这个权限,经常在破解apk时,我们会删除一些发送,接收短信的权限,这样就无法正常收发短信了
其次,很多广告都是由各大广告商提供的sdk通过软件调用来实现广告植入的,我们也需要对一些移动广告平台做一些了解,我们不妨试试百度
http://apistore.baidu.com/astore ... servicelist/56.html
这个网址对大部分移动广告平台做了比较详细的说明,目前常见的广告有google , youmi , domob , e.qq, 等等
破解方面,我建议大家先观看一遍游人客栈出的安卓逆向14课程,对安卓破解做一个比较基础的了解和尝试下载地址:http://pan.baidu.com/s/1sjNLAtZ密码: bx7u
那作为一个新手,我们可能根本不知道什么东西该修改,什么不该修改,怎么办,我们也许找不到相应的教程,也没有人愿意教我们,那怎么办,俗话说,自己动手,丰衣足食
我们讲解一下对比法,此方法适合大部分apk,少数加壳程序在无法正确反编译情况,或者需要修改so文件,我们可能无法使用该方法
这里举个列子
我们使用的apk叫做《盛名列车时刻表-20150212》,一个原版,一个已经去除过广告(感谢soldier )
我们先测试一下原程序,模拟器运行
好了,我们发现了广告,但我们不知道该如何修改,那么我们看看大神是怎么修改的
打开 安卓逆向助手 2.2 ,对两个apk都进行反编译
选中反编译apk,将apk拖入上面那个框,点击“操作”,建议大家第一次使用安卓逆向助手时替换其中的apktool到最新版,可以在逆向资源区找到,同名覆盖
注意使用该工具时,请不要有文件夹名称和apk名称相同,不然它会自动删除那个同名文件夹,都怪我喜欢用1,结果丢了好多资料{:301_972:}
我们全部f反编译完成之后,我们打开Beyond.Compare
选择文件夹比较
把两个文件夹全部导入之后
依次选择展开,选择,然后选择“操作”选项按钮,选择其中的“比较内容”,点击开始,然后选择折叠,我们就可以清晰的看到修改者修改了那些部分,我们打开AndroidManifest.xml文件看看,如果在这个文件中看到很多红色的不要慌,因为很多作者喜欢使用apkide修改软件(不同的软件也会产生不同的效果),不过这款软件会破坏文件结构,所以经常会看到很多红色的地方,如下图
这个我们是可以无视的
我们可以看看作者修改了这个文件中的什么内容
<activity android:theme="@android:style/Theme.Translucent" android:name="cn.domob.android.ads.DomobActivity" />
<activity android:label="@string/app_name" android:name="com.mobisage.android.MobiSageActivity" android:configChanges="keyboardHidden|orientation" />
<activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent100508237" />
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name="com.adsmogo.adview.AdsMogoWebView" android:configChanges="keyboardHidden|orientation|screenSize" />
<service android:name="com.adsmogo.controller.service.UpdateService" android:exported="true" android:process=":remote" />
<service android:name="com.adsmogo.controller.service.CountService" android:exported="true" android:process=":remote" />
<service android:name="com.easou.ecom.mads.service.DownloadService" android:exported="false" />
<activity android:name="com.baidu.mobads.AppActivity" android:configChanges="keyboard|keyboardHidden|orientation" />
<service android:theme="@android:style/Theme.Translucent" android:name="com.qq.e.comm.DownloadService" android:exported="false" />
<activity android:name="com.qq.e.ads.AdActivity" />
<activity android:name="com.qq.e.ads.GdtBrowserActivity" />
之前我有讲过,domob和e.qq都是移动广告,这里又看到一个adsmogo,大家可以百度一下这是什么,反正大家记住一下,看到有ads标识的肯定不是什么好东西
这里修改者删除了广告的活动项,意图和服务项,使得广告无法正常调用,这是去广告的第一步
好了,我们进入smail文件夹中观察有哪些地方进行了修改,在Beyond.Compare视图下我们可以很清晰的看到哪些文件是不同的,随意选择一个进入查看,
我们先在左侧找到红线处,这里代表两侧有不同之处,我们再观察有何不同,我们发现修改者用0.0替换了domob.cn,0.0是一个无法访问的空地址,通过0.0代替使得软件无法正确的获取广告信息,来达到去广告的目的
这里我就不一一进行比对了,大家可以自行尝试观察一下
还有在新手学习修改apk时,一定要有一个良好的记笔记的习惯,记下我们修改了什么,一来方便下次修改,二来方便我们总结修改经验,比如我的,哈哈有点乱糟糟的
一般我们修改,除了AndroidManifest.xml,smail文件之外,还有一个就是layout目录下的文件了,layout又称布局文件,在安卓开发中负责对控件进行布局,广告当然也需要布局,不然怎么显示?{:301_997:}
我们依然查看有哪个文件是红色的
发现一个,我们点进去看看
我们总共发现修改了两处,我们看一下这是什么
<LinearLayout android:orientation="vertical" android:background="@drawable/shape_settings_bk" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10.0dip">
光看这一行,我们好似看不出什么,不过根据这个布局文件的结构,这里我建议大家去了解一下安卓开发下布局的结构
http://www.cnblogs.com/devinzhang/archive/2012/01/19/2327535.html
我提供一篇文章,大家也可以自行搜索
由于是第一个线性布局,我们就可以断定,这是热门应用的布局显示,我们把它的宽高定义为0.0dip,这里的意思就是显示尺寸为0,这样实质上这个东西就看不到了,或者我们可以在这一行中添加一句android:visibility="gone",这句话的意思是 “可见度=隐藏”这样我们同样也看不到这个布局,意味着我们就看不到这个广告了
我们看一下第二个不同的地方
哈哈,这里是修改者的大名,大家如果修改软件希望留下自己大名的话也可以这么做,但千万不要影响软件的使用哦!{:301_1009:}
当然有的修改名称会在string文件中
这里我们就全部对比完毕了,我们可以仔细想一想为什么要这么做?用支笔写下来,不懂的可以百度,相信不断的积累下去的话,你也会成为下一代大神了,
好了,今天的教程到此为止,我把我大部分的学习途径都告诉你们了,我们也要一起进步,让各大资源论坛以后都会出现我们的大名!!
{:301_993:}
最后附上一些逆向软件,大家可以在这个板块中找到我提到的所有软件http://www.52pojie.cn/forum.php? ... r=typeid&typeid=230
码了近3个小时,还不来点热心?
对于新手就是需要通俗易懂的教程,支持一个,感谢楼主分享经验!!!! 好厉害,好厉害。前排 哇咔咔!谢谢楼主分享!学习了! 学习一下 谢谢大神分享,不错的我会学习一下的 没事来学学 楼主大赞,经验之谈啊 谢谢分享 win7下怎样安装JAVA 放逐22 发表于 2015-3-7 23:16
win7下怎样安装JAVA
就下一步下一步啊 一如既往的通俗易懂~热心 lexun 发表于 2015-3-8 08:28
一如既往的通俗易懂~热心
感谢支持。。。 哈哈,以前在做pc软件破解时候也有这样的问题,别人破解好的程序如何分析出来怎么破的?内存比较?文件比较?
安卓里也一样适合这样的方法,赞一个,恭喜@世事繁华皆成空 获得第三篇精华贴,获得吾爱大牛认证!
另外论坛逆向资源区的安卓辅助工具如果不全可以转发到论坛里,合适的工具我可以上传到吾爱云盘,方便下载。
看了楼主的教程教程很详细谢谢 Hmily 发表于 2015-3-8 15:34
哈哈,以前在做pc软件破解时候也有这样的问题,别人破解好的程序如何分析出来怎么破的?内存比较?文件比较 ...
是啊 新手不可能一蹴而就,大神们说的东西基本都看不懂,很多修改方式都是照搬别人的方法,其实真的不能从中学习到什么东西 通俗易懂,好文章! 好教程,先收藏找个时间仔细研究一下。谢谢分享。