services.odex的反编译、修改及编译

来源:互联网 发布:oracle导出表空间数据 编辑:程序博客网 时间:2024/05/18 15:26

机锋上的zzc文章,不知道是否可行,先转,然后试试看

我实验了,不行!!!!!!!!!!!!!!!!!!!!!

本文主要介绍services.odex的反编译、修改及编译
主要修改还是日期和时间的颜色,不止是白色与黑色哦,吼吼~

--------------------------------2011-5-10 16:53更新-----------------------------------
修正日期修改里有关变量名的问题
谢谢占米版主加精!{:125_461:}

--------------------------------2011-5-8 18:23更新-------------------------------------
我的教程帖:

  • [size=1.17em]下拉栏背景透明方法,不是替换图片这么简单哦~ ->传送门
  • [size=1.17em]通知栏通知及下拉栏字体颜色修改~ ->传送门

--------------------------------2011-5-2 07:03更新-------------------------------------
加入颜色代码如何获取教程

--------------------------------2011-5-1更新--------------------------------------------
修正了一个小问题

接下来是抱怨,同学们可以略过...
最近论坛气氛真不咋地,技术贴都不知道沉到哪里去了。
我的观点是手机好坏已成定局,硬件方面、rom方面真的是没法强求,我们唯一可以努力的是技术方面的东西,虽然我发的这个帖技术含量比较低,但从它受到的关注程度可知,论坛的机油们不是很重视DIY的东西,只希望别人弄好现成的(并非反对伸手党),即便如此,有些同学还是要抱怨这抱怨那。
我们现在面对的现状是,用户少->开发者少,这种现状直接导致各种蛋疼人士、蛋疼帖...
所以,个人认为,论坛更应该倡导技术风,机油们应该果断顶起技术帖,而不是成天讨论那些我们无能为力的事情,为啥没人讨论技术问题呢...
以上这些也就是自己发发牢骚,因为帖子沉得太深了,难免有些不爽...

另外,同学们如果有什么技术方面的问题,也可以问我...不一定懂,但我会认真回复~
------------------------------------------------------------------------------------

我自己修改的成果图
桌面.jpg
下拉栏完美透明.jpg

app.jpg->原生桌面(BlurHome.apk)的修改,透明的哦~

放出修改好的文件->传送门

很多同学可能在反编译时会碰到很多问题,这里我给出我的反编译方法

(系统:windows)->我的是windows7,不过应该都行的吧,反正都用CMD的
(环境:java环境,如需教程,请百度或Google)

1.下载附件中的tools.rar,解压到非中文目录

2.拷贝手机/system/framework/下的android.policy.odex、core.odex、ext.odex、framework.odex、services.odex、com.motorola.android.widget.odex,共六个文件至baksmali-1.2.6.jar所在的目录下

3.打开命令提示符(CMD),进入tool目录,输入
  1. java -Xmx512M -jar baksmali-1.2.6.jar -c :com.motorola.android.widget.odex -x services.odex -o services
复制代码
,生成services目录

修改时间颜色:修改文件位置 \tool\services\classes\com\android\server\status\StatusBarIcon.smali

1.右击编辑,查找
  1. Landroid/widget/TextView;->setTextColor
复制代码
2.上一行为
  1. const/high16 v6, -0x100
复制代码
3.重点来了,将该行修改为
  1. const v6, 0x?
复制代码
(问号代表颜色代码,下面会介绍)


4.保存


修改日期颜色修改文件位置 \tool\services\classes\com\android\server\status\StatusBarService.smali


1.右击编辑,查找
  1. Lcom/android/server/status/DateView
复制代码

2.你应该会找到这么一行代码
  1. check-cast v?, Lcom/android/server/status/DateView(中文问号“?“可能为任何数字)
复制代码
3.在其下一行添加如下代码
  1.         const v8, 0x?
  2.         invoke-virtual {v?, v8}, Landroid/widget/TextView;->setTextColor(I)V
复制代码
(英文问号”?“代表颜色代码,下面会介绍;中文问号”?“为数字,数值同上)


4.保存


关于颜色

格式为ARGB

例:0xFEDCBA12

其中


     FE ->透明度:0(完全透明)~FF(不透明)

     DC ->红色:0~FF(越大表示越偏向红色,以下相同)

     BA ->绿色:0~FF

     12 ->蓝色:0~FF

      对于看不懂上面这些内容的同学,我在提供一个好方法,使用pixie.zip(11.65 KB)这个软件,它会分析鼠标当前所指位置的颜色代码,运行软件,将指针指向想要的某个颜色,会在软件框里出现例如下图的提示
      颜色代码查看.jpg
      红色的字是我加进去了,“HTML”后面的#FF7F27就是我们要的代码,当然,这个没有包含透明度,请在“#”后加入透明度,一般都为FF,即可得到完整的颜色代码为“0xFFFF7F27”


编译dex:java -Xmx512M -jar smali-1.2.6.jar services -o new-classes.dex

将生成的new-classes.dex重命名为classes.dex,拖入services.jar内,在跳出来的压缩窗口中,选择文件,将“要添加的文件”框内目录剪切,复制到“不压缩直接存储的文件”框中.

最后再介绍如何生成odex文件

1.将tool目录下的dexopt-wrapper复制到手机\system\bin目录下,并修改好权限(和其他文件权限相同即可)

2.usb“大容量存储”连接手机,复制修改好的services.jar到内存卡下注意:文件名不可更改

3.开启调试模式,保持usb连接,改usb模式为“无”(欧版为“无”,国行应该是“仅充电”)

4.CMD到tool目录下,输入adb shell,等待出现$

5.输入su命令,此时手机上会跳出授权,记得点,否则进不去,成功后出现#

6.输入cd /sdcard/

7.输入
  1. dexopt-wrapper services.jar new.odex
复制代码
(APK转odex时,将services.jar改为对应APK文件)

8.输入
  1. busybox dd if=/system/framework/services.odex of=new.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
复制代码
(APK转odex不需执行这一步骤)

9.对比一下文件大小,如果相差很大(原odex为1.7M,编译后为1.55M的情况),说明不行,请跳回步骤4再试,还不知道原因在哪里


10.此时就成功生成odex咯


11.将其改名,复制到/system/,改权限,复制到/system/framework   ->注意:进行这步操作前,请备份/system/framework/内原services.odex至内存卡内/backup/目录下,开启引导恢复模式,并备份好系统!


12.重启


恢复原odex

1.恢复模式下,挂载sdcard、system

2.连接usb线,开启cmd,进入tool目录下

3.输入adb shell

4.输入su

5.输入busybox cp /sdcard/backup/services.odex /system/framework/services.odex

6.如果提示read-only file system,则输入
  1. mount -o remount,rw rootfs /system/
复制代码
后再进行步骤5,注意空格

7.输入cd /system/framework

8.输入busybox chmod 644 services.odex

9.输入sync

10.输入reboot


题外话

教程内容大部分都是借鉴国内外众多大侠的帖子,当然,也有我熬了几个通宵折腾我那可怜的石头2得出的...

此教程同样适用与APK重新生成odex文件,但其他jar文件的odex修改我没研究过,适用与否不得而知...

本人也不能保证教程完美无误,任何修改都有风险存在,所以我强调的还是备份!备份!备份!

如果有错误,请高手指出,也希望大家及时将问题反馈给我,以便我尽早修正。

帖子可能写得不太美观,呵呵,大家见谅,谢谢!

写教程真得很辛苦,求加分,不过分吧?{:125_448:}

tools.rar

2.62 MB, 下载次数: 1503, 下载积分: G币 -1


0 0
原创粉丝点击