`
abc20899
  • 浏览: 938885 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

apk去广告

 
阅读更多
所需要用到的工具有:apktool,JD-GUI,dex2jar,Apk文件签名工具
dex2jar下载地址:http://laichao.googlecode.com/files/...7-SNAPSHOT.zip
JD-GUI下载地址:
windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip
Linux版JD-GUI:http://laichao.googlecode.com/files/...ux.i686.tar.gz
apktool下载地址:
http://code.google.com/p/android-apktool/
Apk文件签名工具下载地址:
自己百度吧
1.先把下载来的新浪微博apk程序,用解压工具(winrar)解压出来,解压出来的目录下有个classes.dex文件,用dex2jar把它反编译成jar。

2.用JD-GUI打开这个jar文件,找com.sina.weibo\HomeListActivity,打开直接看代码了。。。(找去广告的关键地方,自己根据情况搜索关键字,比如:AdView)
很容易就在protected void onCreate(Bundle paramBundle)函数里面看到,在初始化广告窗口的代码:

    IntentFilter localIntentFilter3 = new IntentFilter();
    localIntentFilter3.addAction("com.sina.weibo.action.AdCenter.show");
    BroadcastReceiver localBroadcastReceiver3 = this.mAdReceiver;
    Intent localIntent3 = registerReceiver(localBroadcastReceiver3, localIntentFilter3);
    initAdView();

initAdView:
  private void initAdView()
  {
    Animation localAnimation1 = AnimationUtils.loadAnimation(this, 2130968576);
    this.mAdInAnimation = localAnimation1;
    Animation localAnimation2 = AnimationUtils.loadAnimation(this, 2130968577);
    this.mAdOutAnimation = localAnimation2;
    ImageView localImageView1 = (ImageView)findViewById(2131624038);
    this.mAdBar1 = localImageView1;
    ImageView localImageView2 = (ImageView)findViewById(2131624039);
    this.mAdClose1 = localImageView2;
    ImageView localImageView3 = (ImageView)findViewById(2131624040);
    this.mAdBar2 = localImageView3;
    ImageView localImageView4 = (ImageView)findViewById(2131624041);
    this.mAdClose2 = localImageView4;
    HomeListActivity.14 local14 = new HomeListActivity.14(this);
    HomeListActivity.15 local15 = new HomeListActivity.15(this);
    this.mAdBar1.setOnClickListener(local14);
    this.mAdClose1.setOnClickListener(local15);
    this.mAdBar2.setOnClickListener(local14);
    this.mAdClose2.setOnClickListener(local15);
  }
所以去广告,很简单,只要把onCreate那五行代码给NOP掉就OK了,不过,就这样五行代码nop掉,广告是去了,但退出时,微博客户端还是会崩溃。原因是onCreate注册了一个广播接收但被NOP掉了,但在在销毁窗口的时候,在这个 protected void onDestroy()函数里面有移除这个广播接收,所以就造成崩溃了。所以onDestroy函数下面这两句代码也要nop!

BroadcastReceiver localBroadcastReceiver2 = this.mAdReceiver;
unregisterReceiver(localBroadcastReceiver2);

3.使用apktool把整个新浪微博的apk程序给反编译出来,在反编译出来的程序目录下,找smali\com\sina\weibo\HomeListActivity.smali这个文件,直接记事本打开。搜“com.sina.weibo.action.AdCenter.show”定位到onCreate函数,把下面这几行给删除掉。

    .line 329
    new-instance v1, Landroid/content/IntentFilter;
    invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V

    .line 330
    .local v1, myAdIntentFilter:Landroid/content/IntentFilter;
    const-string v3, "com.sina.weibo.action.AdCenter.show"
    invoke-virtual {v1, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    .line 331
    iget-object v3, p0, Lcom/sina/weibo/HomeListActivity;->mAdReceiver:Landroid/content/BroadcastReceiver;
    invoke-virtual {p0, v3, v1}, Lcom/sina/weibo/HomeListActivity;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;

    .line 334
    invoke-direct {p0}, Lcom/sina/weibo/HomeListActivity;->initAdView()V

再搜索下"protected onDestroy()"定位到onDestroy函数里,把这几行也给删除掉!
    .line 808
    iget-object v0, p0, Lcom/sina/weibo/HomeListActivity;->mAdReceiver:Landroid/content/BroadcastReceiver;
    invoke-virtual {p0, v0}, Lcom/sina/weibo/HomeListActivity;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V

4,最后还要去删除掉的ADCenter服务!不然这个服务会一直在后台运行着,看着某地方都会疼!打开在新浪微博的apk程序反编译出来的程序目录下的AndroidManifest.xml文件。删除掉下面这几行,就可以去掉AdCenter服务。

        <service android:name=".business.AdCenter">
            <intent-filter>
                <action android:name="com.sina.weibo.action.speed" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </service>

5,用apktool把那个修改去广告后的新浪微博反编译的程序目录编译成apk文件。最后在打上签名,去广告版就完成了
去广告版传送门:http://www.52pojie.cn/forum.php?mod=viewthread&tid=104819
分享到:
评论

相关推荐

    APK去广告的一种方法

    APK去广告所需资源如下: 过程大体分为以下四步:解包、去广告、打包、签名,具体如下:

    APK植入广告详细教学

    本教程主要聚焦于如何在APK中植入广告,以实现应用的盈利策略。"智行火车票,抢票神器"作为一个应用示例,我们来探讨其背后的广告植入过程。 首先,我们需要理解APK的结构。APK是由多个文件组成的,包括.dex(Dalvik...

    APK广告检查器

    APK广告检查器是一款专为Android用户设计的工具,它的主要目的是帮助用户检测下载的APK应用软件包中是否存在广告以及可能的扣费陷阱。在移动互联网时代,安全下载和安装应用变得至关重要,因为恶意软件和不道德的...

    记计帐.apk

    本软件是一款记账类软件,由runner四人团队开发,软件并不完美,望大家提出自己的意见,我们好改进,谢谢0.0

    apk软件去广告傻瓜教程.pdf

    apk软件去广告傻瓜教程.pdf

    APK清除垃圾广告教程

    然而,很多免费的APK应用为了盈利,往往会内置广告模块,这不仅会影响用户体验,有时还可能涉及用户隐私问题。本教程将教你如何清除APK中的垃圾广告,提升你的设备使用体验。 首先,了解广告是如何出现在APK中的。...

    AdsPlug广告聚合平台apk

    AdsPlug广告聚合工具体验apk,从网络上下载的2048源码加上adsplug工具

    推送广告检测.apk

    推送广告检测.apk

    apk软件去广告 傻瓜教程.pdf

    apk软件去广告 傻瓜教程.pdf

    APK万能签名工具

    1. **原版APK修改**:如果用户下载的APK文件是未经官方渠道发布的,可能已经被第三方修改过代码、资源或者广告,这种情况下,原始签名不再有效。 2. **调试与发布**:开发者在调试过程中,使用的是debug签名,而发布...

    按键精灵手机助手去生成广告_freeapk_freeapk按键精灵_去除按键小精灵广告_

    标题中的“按键精灵手机助手去生成广告_freeapk_freeapk按键精灵_去除按键小精灵广告_”指的是一个针对“按键精灵手机助手”的优化版本,它移除了原版应用中的广告元素,提供更清爽的使用体验。关键词“freeapk”...

    Xtemp去广告工具

    APK去广告的一个小工具,用这个工具可以找到广告代码。

    锤子便签无开屏广告.apk

    锤子便签无开屏广告.apk

    APK编辑器APK Editor Pro v1.4.6

    APK编辑器(APK Editor Pro)更新v1.4.6版,APK编辑器是一款可以编辑/破解的apk文件,它可以帮助我们做事情,比如本地化的字符串,背景图片更换,布局重新架构,甚至广告消除,去除权限等它能做什么取决于你如何使用它...

    远程控制广告机APK

    安卓的盒子通过这个软件可以远程控制,服务器可以把需要广播的内容传到广域网的盒子上。非常有用

    android的apk反编译

    ### Android APK反编译知识点详解 #### 一、概述 Android平台因其开源性与灵活性而备受开发者喜爱。但在实际使用过程中,用户可能会遇到各种各样的问题,比如软件中烦人的广告或者游戏中的某些设定(如经验金币获取...

    APK权限修改软件

    APK权限修改是针对Android应用的一种技术手段,允许用户自定义APP的权限设置,以便去除广告、增强隐私保护或优化功能。本篇文章将深入探讨APK权限修改的概念、方法以及可能的风险。 首先,理解APK的权限系统至关...

    安卓良性样本apk,爬虫爬取共20w个最新的正常良性apk

    7. **广告与分析库**:许多应用包含广告SDK或分析服务,分析这些库可以帮助了解数据收集和变现的常见做法。 8. **版本控制与兼容性**:分析apk的Android版本支持范围,可以洞察应用的兼容性策略和升级路径。 ...

    无广告手电筒APK

    希望对找一款无广告、无网络访问、极简手电筒APK的朋友有些帮助,此款手电筒APK除了具有手电功能外,无任何其他功能。 此软件具有如下缺点: a)无‘主界面’,点击图标即打开手电,再次点击(或长按电源图标)关闭...

Global site tag (gtag.js) - Google Analytics