PySide这个鸟东西听起来很牛b的样子,但是折腾起来很蛋疼。其实折腾这个东西主要还是看了hexblog上的一篇文章之后才想折腾的。看别人的文章感觉很简单,但是自己折腾就是折腾死也搞不定。后来又仔细看了下文章才发现原来ida中用的那个pyside是一个修改版本,并不是直接从源码编译过来的。并且提供了一个源码的patch包(http://hex-rays.com/idapro/freefiles/pyside_patch_20110328.zip),但是这个包只是针对 03/28/2011发布的版本。
完整的错误提示是下面的样子:
1 2 3 4 5 6 7 8 9 10 11 12 | LoadLibrary(F:\Crackl@b\Hex-Rays.IDA.Pro.Advanced.v6.1\ida61\plugins\python.plw) error: 找不到指定的模块。 F:\Crackl@b\Hex-Rays.IDA.Pro.Advanced.v6.1\ida61\plugins\python.plw: can't load file 00:12:07 zynamics BinDiff 4.0.1 15146 (Dec 21 2011) - (c)2004-2011 Google Inc. 00:12:07 zynamics BinExport 5 15136 (Dec 21 2011) - (c)2004-2011 Google Inc. LoadLibrary(F:\Crackl@b\Hex-Rays.IDA.Pro.Advanced.v6.1\ida61\plugins\python.plw) error: 找不到指定的模块。 F:\Crackl@b\Hex-Rays.IDA.Pro.Advanced.v6.1\ida61\plugins\python.plw: can't load file |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .method private a(Landroid/content/Context;Lcom/google/ads/AdSize;Landroid/util/AttributeSet;)Z .locals 1 .parameter .parameter .parameter .prologue .line 189 invoke-static {p1}, Lcom/google/ads/util/AdUtil;->c(Landroid/content/Context;)Z move-result v0 if-nez v0, :cond_0 .line 190 const-string v0, "You must have AdActivity declared in AndroidManifest.xml with configChanges." invoke-direct {p0, p1, v0, p2, p3}, Lcom/google/ads/AdView;->a(Landroid/content/Context;Ljava/lang/String;Lcom/google/ads/AdSize;Landroid/util/AttributeSet;)V .line 195 const/4 v0, 0x0 .line 198 :goto_0 return v0 :cond_0 const/4 v0, 0x1 goto :goto_0 .end method |
有一部分使用Google ads的引用程序在修改程序的资源文件之后会出现You must have AdActivity declared in AndroidManifest.xml with configChanges这么一个提示。如果要去掉这个提示只需要将上面的包含提示代码的三行注释掉即可。并且有的app在资源文件中没有广告的大小,所以也就没法修改。但是还是可以通过注释掉上面的几行来达到去广告的效果。技术不高深,笔记而已。当然了也可以直接修改广告初始化的代码。