好友
阅读权限40
听众
最后登录1970-1-1
|
淡然出尘
发表于 2013-12-16 12:08
本帖最后由 淡然出尘 于 2013-12-18 21:48 编辑
软件名称:TXT听书V1.8.0
终端工具:Apktool+Dalvik字节码编辑器+920文本编辑器
优化方面:去广告 去更新 去快捷方式创建的提示
优化前的界面:
下面是逐一操作:
1、Dalvik字节码编辑器单工具去更新+去创建快捷方式的提示+去底层广告
用其在路径中打开要修改的软件 然后顺着打开“class.dex”文件 按键搜索关键字符串“更新提示” 如下图会出现两个结果:
点开第一个“com/aitingshu/ui”,然后点击“Methods”(方法) 同样也会出现多种结果,这时就需要再搜索一遍关键字符串“更新提示” 流程如下图:
打开方法“a”,我们看到:
所以就同样的流程将第一次的搜索结果“android/”走一遍,会看到的结果如下,是我们需要修改点:
贴出结尾处关键的字符串:
invoke-virtual {v0} Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog;
label_67:
return-void //直接返回
label_68:
move-exception v0
invoke-virtual {v0} Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-static {v1} Landroid/uemocuamuk/h;->d(Ljava/lang/String;)V
invoke-virtual {v0} Ljava/lang/Exception;->printStackTrace()V
goto :label_67
#Handler Exceptions
.catch Ljava/lang/Exception;
start : label_64
end : label_67 //结束此段
handler : label_68
.end catch
由此可见 “label_67”是返回全段的标识,所以我们在本页头部添加代码 “goto : label_67”让其直接返回 即可实现去更新提示;
同样的方法我们在“class.dex”文件中 搜索“生成桌面快捷方式”亦可得到关键代码处:
由图示知 字符串“更新提示”位于“label_99”子字节中,所以只需绕过“label_99”即可 则关键字符串修改如下:
if -nez v3 :label_99 //将"nez"改为“eqz”即可;
知识Tips:
if-eq vx,vy, 目标 如果vx == vy注2,跳转到目标。
if-ne vx,vy, 目标 如果vx != vy注2,跳转到目标。
if-lt vx,vy, 目标 如果vx < vy注2,跳转到目标。
if-ge vx, vy, 目标 如果vx >= vy注2,跳转到目标。
if-gt vx,vy, 目标 如果vx > vy注2,跳转到目标。
if-le vx,vy, 目标 如果vx <= vy注2,跳转到目标。
if-eqz vx, 目标 如果vx == 0注2,跳转到目标。
if-nez vx, 目标 如果vx != 0注2,跳转到目标。
if-ltz vx, 目标 如果vx < 0注2,跳转到目标。
if-gez vx, 目标 如果vx >= 0注2,跳转到目标。
if-gtz vx, 目标 如果vx > 0注2,跳转到目标。
if-lez vx, 目标 如果vx <= 0注2,跳转到目标。
对于去底层广告,因为当你点击底层广告里的“去广告”时,会弹出如下信息框:
所以搜索字符串“去广告”,得到关键代码:
可见成功的提示在“label_33”中,所以修改一下代码:
if -ge v0 v1 :label_33 //修改为: “goto :label_33”即可;
将以上修改全部返回,Dalvik字节码编辑器会自动编译成已经签名的修改好的APK文件;
2、利用ApkTool+920文本编辑器去除旁栏“应用推荐”的广告:
将修改好的软件用Apktool点击“反编译全部”
会在根目录下生成一个“(APK文件名)+_sc”文件夹,打开APK的布局文件夹“\res\layout”,然后逐一查找含有“应用推荐”
关键字符串的“*.xml”文件,可以看到关键代码:
android:layout_width="30.0dip" android:layout_height="wrap_content" android:text="应用推荐" />
//将旁栏的长宽都改为“0dip”即可;
然后在回到Apktool中将修改后的_sc文件夹编译成APK并手动签名即大功告成..
对于第2步的说明:
①APK的文件名必须为英文或数字 不然Apktool识别不了,比如123456.apk;
②有人可能会问为什么不按照第1步那样在“class.dex”文件中查找呢,额 这个我试过 不行,所以..
③可能有人会说“\res\layout” 很多,怎么找?其实这其中有很多打酱油的,已打开就知道有没有关键字符串“应用推荐”
所以查找量并不大的;
④Apktool编译成APK时不自动签名,所以还需要手动签名 才能安装成功;
优化的界面如下:
原程序下载:http://url.cn/ND03j8
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|