机制的卷纸去除积分墙+另一种方法查找关键位置
本帖最后由 Dlan 于 2014-6-10 12:51 编辑通过软件 ,可以看出 是用了积分墙,那么看看用了哪个积分墙 打开AndroidManifest.xml 关键部分:
<activity android:configChanges="keyboard|keyboardHidden|orientation" android:name="com.baidu.mobads.AppActivity"/>
<activity android:configChanges="keyboard|keyboardHidden|orientation" android:name="com.baidu.mobads.appoffers.OffersActivity"/>
<activity android:label="@string/app_name" android:launchMode="singleTask" android:name="activity.IndexActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name="activity.LoginActivity"/>
<activity android:label="@string/app_name" android:name="activity.ShareAccountActivity"/>
<activity android:label="@string/app_name" android:name="activity.ImageActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
广告的调用必须在activity这里声明权限
com.baidu.mobads.AppActivity
com.baidu.mobads.appoffers.OffersActivity
无疑是百度的广告了,继续百度"com.baidu.mobads.appoffers.OffersActivity"
来到广告的在线文档:http://www.adview.cn/sdk/adwallandroid
关键方法:
⑶.显示积分墙:
AdViewOffer.showOffer(Invoker.this);
⑷.查看积分:
AdViewOfferManager.getPoints(Invoker.this);
⑸.奖励积分:
AdViewOfferManager.addPoints(i,Invoker.this);
⑹.消费积分:
AdViewOfferManager.spendPoints(j,Invoker.this);
⑺.刷新积分:
adViewOffer.requestPoints();
我们看看谁调用了showOffer显示积分墙 方法,通过apkide搜索:
看到有两处调用,一处属于百度的广告代码,来到第二处,又回到了老地方,详见(http://www.52pojie.cn/thread-264171-1-1.html):
直接删除:
invoke-static {v2}, Lcom/baidu/mobads/appoffers/OffersManager;->showOffers(Landroid/content/Context;)V
这样的效果就是点击后无任何反应,还是显示0积分,不好看,我们改下文字吧
往上看: pointChanged方法
.method private pointChanged()V
.locals 3
.prologue
.line 58
iget-object v0, p0, Lfragment/Fragment_WebServer;->wall:Landroid/widget/Button;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "\u8d5a\u53d6" "赚取"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lfragment/Fragment_WebServer;->name:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ")"
..省略....
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 58//通过前面的代码 ,v2临时寄存器, v1寄存器存放着最终的数据
const-string v1, "52pojie.cn " //增加这句
invoke-virtual {v0, v1}, Landroid/widget/Button;->setText(Ljava/lang/CharSequence;)V
// 这里调用了Button 的setText 方法,应该就是这里
return-void
.end method
同理把下面的settext也修改掉
.line 70
const-string v1,"\u542f\u52a8\u6210\u529f \u4e48\u4e48\u54d2"
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V<Button android:textSize="@dimen/general__shared__font_size_px_36" android:textColor="@color/white" android:gravity="center" android:id="@id/start" android:background="@drawable/seletor_button_server" android:padding="@dimen/activity_horizontal_margin" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="点我启动" />
------------------------------
通过查看广告的文件 我们搜索 getPoints查看积分 就又定位到了此位置
来个效果图:
http://v1.freep.cn/3tb_140610124912o1sg512293.png
ps: @低调(d-iao)低调 大神是我的偶像。这几天一直看大大的教程 ,长得帅 ,声音又好听。我是看着大大的教程长大的。感谢大大的无私奉献!
膜拜会android逆向滴{:1_931:} 膜拜大神 学习一下 先进经验啊 膜拜会android逆向滴。。 学习一下经验 伸手堂来伸个手可以吗?求地址 好多游人的教程呀 我的怎么不能改代码,改一个就反编译失败
> 正在编译Apk...-
- 失败:
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
E:\android\ApkIDE\Work\com.lumu.bdy\res\layout\item_share_account_type.xml:2: error: No resource identifier found for attribute 'textAlignment' in package 'android'
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command:
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)
at brut.androlib.Androlib.buildResources(Androlib.java:283)
at brut.androlib.Androlib.build(Androlib.java:206)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command:
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:357)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)
... 5 more
Caused by: brut.common.BrutException: could not exec command:
at brut.util.OS.exec(OS.java:89)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:355)
... 6 more
- 失败!请检查您的代码然后重试。 看不懂很复杂
页:
[1]