首页
社区
课程
招聘
[原创]内嵌有米广告去除广告和所有权限
发表于: 2013-1-12 23:59 26391

[原创]内嵌有米广告去除广告和所有权限

2013-1-12 23:59
26391

标 题: 【原创】内嵌有米广告去除广告和所有权限
作 者: arsusanh

声明:本文章仅做技术研究,请勿用于非法用途。

有两个目的:
一、去掉有米广告
二、去掉所有权限

这个游戏是我在一个论坛看到的,是别人求助去有米广告的。
这个是没有去广告的截图:

下面说下具体去除方法:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
这个是有米广告必须有的权限,(你删除任何一个或全部权限,安装软件后运行会提示你缺少必要的权限,这个就说明其中有一个检查权限的地方,就从这个入手)随便找个权限,比如:
android.permission.READ_PHONE_STATE
在反编译后的文件夹内搜索含该值的文件。其中有个是by.smali文件(因为这个软件加了混淆,我这里是这个名字),位于net\youmi\android内,这个就是检查权限的地方,下面贴上检查权限的源码:
  static boolean a(Context paramContext, String paramString)
  {
    try
    {
      int i = paramContext.checkCallingOrSelfPermission(paramString);
      if (i == -1)
      {
        bool = false;
        return bool;
      }
    }
    catch (Exception localException)
    {
      while (true)
        boolean bool = true;
    }
  }

对应的反编译是:
.method static a(Landroid/content/Context;Ljava/lang/String;)Z
    .locals 2

    :try_start_0
    invoke-virtual {p0, p1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result v0

    const/4 v1, -0x1

    if-ne v0, v1, :cond_0

    const/4 v0, 0x0

    :goto_0
    return v0

    :catch_0
    move-exception v0

    :cond_0
    const/4 v0, 0x1

    goto :goto_0
.end method

2个返回值,1和0,修改返回值为0的语句,把
const/4 v0,0x0改为const/4 v0,0x1来伪造所有必须要的权限都有,当然也可以修改if语句到达目的,但是不建议这么做,最后就是删除AndroidManifest.xml内所有权限,对于这个游戏来说,去掉所有权限就等于去掉了广告,因为是网络广告,去什么权限要依照你的软件或者游戏而定。
最后附上去所有权限和广告的图:


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 6
支持
分享
最新回复 (11)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习学习!好好
2013-1-14 21:11
0
雪    币: 761
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个思路非常不错, 但是有风险, 有可能造成整个程序崩溃.
对好思路赞一个!我也动手试试...

成功回编译!广告已去除。
2013-1-15 10:58
0
雪    币: 274
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
小白弱弱的问一下,如果软件本身就需要链接网络那该怎么处理呢
2013-1-17 18:10
0
雪    币: 202
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
嗯,以后碰到有米再好好看看~~~
2013-2-2 22:53
0
雪    币: 257
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习了!!!!!!
2013-2-3 20:00
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个好东西啊,多谢楼主。
2013-2-4 12:38
0
雪    币: 2329
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不错,来顶一个!
2013-2-18 17:30
0
雪    币: 1552
活跃值: (1626)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
以后直接干掉有米
2013-7-27 10:52
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
LZ, 我想问一下哈~
请问你在文件夹里搜索的是什么值? "android.permission.READ_PHONE_STATE"?

---
找到了~的确是这个值~
2013-8-21 21:01
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
一直在学习中,希望能够慢慢体会与理解。
2013-11-26 15:41
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
/etc/hosts文件屏蔽广告连接的URL地址
底层hook connect都socket接口,对特定IP进行拦截
2013-11-26 21:18
0
游客
登录 | 注册 方可回帖
返回
//