新浪微博更新到2.5.1版,就开始来广告了,伤不起啊...
亲,看到没,手机屏幕就那么一小块,还要往里面塞东西,另外是一个在后台运行的AdCenter服务。

所需要用到的工具有: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

ZzAge[LCG][80DFJ]
吾爱破解论坛:http://www.52pojie.cn
80DFJ技术论坛:http://www.80dfj.org

新浪微博2.5.1 for Android 去广告的更多相关文章

  1. Android apk去广告

    韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha  313134555@qq.com 下载地址: [北方网通]    [电信网通] [下载说明] 1 点击上面的地址,打开下载页面 ...

  2. [android]亲自破解Flappy Bird(去广告+永生)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3544785.html  听说最近Flappy Bird很火,但 ...

  3. Android视频应用去广告学习实践

    注意:本文仅仅供学习研究用途 第一步 素材搜集 腾讯视频应用:http://download.csdn.net/detail/itleaks/7991795      反汇编工具:           ...

  4. 浅谈Android的广告欢迎界面(倒计时)

    前些时候就是别人问我他的android APP怎么做一个广告的欢迎界面,就是过几秒后自动跳转到主界面的实现. 也就是下面这种类似的效果.要插什么广告的话你就换张图吧. 那么我就思考了下,就用了andr ...

  5. apk去广告工具(利用apktool去除apk文件里的广告)

    基本知识 apk安装包的文件结构 以知名桌面软件“LauncherPro”为例,apk安装包文件目录: 文件目录如下: - META-INF - res - anim - color - drawab ...

  6. APK反编译去广告大揭秘

    APK反编译去广告 具体步骤: 1.下载 apktool 下载地址:https://code.google.com/p/android-apktool/downloads/list 2.通过apkto ...

  7. 迅雷X v10.1.29.698-免安装SVIP去广告精简版+骨头版+便携版+手雷+Mac精简版

    迅雷X 10.1版本开始,采用Electron软件框架完全重写了迅雷主界面.使用新框架的迅雷X可以完美支持2K.4K等高清显示屏,界面中的文字渲染也更加清晰锐利.新框架的界面绘制.事件处理等方面比老框 ...

  8. openwrt下部署adbyby去广告大师 免luci 带自启动,自动开启透明代理

    最近朋友送了个360老路由器 C301,于是乎就掉进了智能路由器的坑, 玩智能路由器第一件事一定是去广告, 要么怎么对得起智能路由器- -! 路由器去广告当然首推广告屏蔽大师 www.adbyby.c ...

  9. 格式工厂 v4.0.0 最新去广告绿色纯净版

    最好用的多媒体格式转换利器:格式工厂现已更新至v4.0,此次更新加入最新的HEVC(H265)编码,MP4,MKV的压缩比大幅度提高!格式工厂,轻松转换一切你想要的格式!利器在手,转换不愁! 格式工厂 ...

随机推荐

  1. prefixfree.js介绍

    假如你现在正学习着强大的Css3,你知道Css3的很多数属性为实验属性,使用他们的时候得加上各式各样的浏览器前缀.可能你默默忍受了,因为还没到统一的时间.有没想过给自己减下负,偶然间在网上看到一个js ...

  2. Delphi中判断WebBrowser的页面是否加载完成

    方法一: 在WebBrowser的OnDocumentComplete事件书写代码. 方法二: WebBrowser1.Navigate(Url); while WebBrowser1.Busy or ...

  3. TortoiseSVN文件夹及文件图标不显示解决方法 [转]

    由于自己的电脑是win7(64位)的,系统安装TortoiseSVN之后,其他的功能都能正常的使用,但是就是文件夹或文件夹的左下角就是不显示图 标,这个问题前一段时间就遇到了(那个时候没找到合适的答案 ...

  4. sublime c++ builder

    rt, mark { "cmd": ["g++", "${file}", "-o", "${file_path ...

  5. 【git】切换分支获取代码

    Welcome to Git (version 1.9.5-preview20150319) Run 'git help git' to display the help index.Run 'git ...

  6. MVC-处理时间格式

    第一种方法:先设置一个时间显示的模板,然后在需要显示时间的地方调用这个模板就行了. 1.在Share文件夹下,创建一个文件夹DisplayTemplates 2.在DisplayTemplates文件 ...

  7. UrlConnection doPost Https请求 、编码设置

    UrlConnection doPost Https请求 .编码设置 UrlConnection doPost方法 /** * 发送POST请求 * * @param url 请求地址url * @p ...

  8. 敏捷开发概述与路线(转自MBAlib)

    敏捷开发的概述 简单的说,敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征.换言之,就是把一个大项 ...

  9. hdu 4778

    知道是状态压缩,但是不会做: 看题解学的: dp[i]表示现在状态是i,先手-后手的分数. #include<cstdio> #include<cstring> #includ ...

  10. PHP 系统常量及自定义常量

    __FILE__ 这个默认常量是 PHP 程序文件名.若引用文件 (include 或 require)则在引用文件内的该常量为引用文件名,而不是引用它的文件名. __LINE__ 这个默认常量是 P ...