安卓回编译
‘壹’ 各位安卓反编译大神,为什么我反编译框架成功,而回编译失败呢
文件id值没有在public.xml中设定。要么给相应文件添加id值(注意添加规则),要么删掉public.xml文件,
‘贰’ 安卓framework- res.apk的反编译与回编译
查看一下java环境,一般是环境问题,如果没问题,那就是你的apk有问题,换一个试试看,另外反编译完最好不要修改图片,否则回编译会不成功!
‘叁’ 反编译安卓软件后,改了他的名字,但是回编译不行,
大体的意思为qihoo这个属性没有资源定义!
你这个应该是属于加了密的APK包!这类加密后的文件,是无法回编译的。要想正常回编译,首先要做的是先进行脱壳解密,脱了壳后的文件才能反编译,之后才能正常回编译!
‘肆’ 安卓回编译问题
把文件夹名改成英文名,
apktool回编译时不支持中文名
‘伍’ android studio 如何回编译一个APP
android studio中不能编译反编译出来的文件,android studio只能编译源代码。
1.反编译Apk得到Java源代码
首先要下载两个工具:dex2jar和JD-GUI
前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。
具体步骤:
首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;
解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录
运行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar
2.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
还是下载工具,这次用到的是apktool
具体步骤:
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
1.解压缩下载的两个文件包,apktool-install-windows-r04-brut1.tar解压缩后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解压后的一个.jar 文件到解压后的\apktool-install-windows-r04-brut1文件夹里)
2.特别注意:你要反编译的文件一定要放在C盘的根目录里
‘陆’ 安卓APK回编译问题!!!!
关于APKTool工具反编译ROM系统设置文件问题
在反编译汉化新版的ROM时 发现系统文件无法反编译,如Settings.apk
主要是因为 ApkTooll 无法读取系统APK的构架;
那么,我们需要手动为ApkTool 添加一个新构架文件:
具体方式是:
打开ROM,手机内存上找也行,找到\system\framework\framework-res.apk
提取,随便放到一个位置注意:由于每个系统ROM不一样 G3 或其他机型都是不同的,
主要是制造商为ROM添加了其他构架HTC大部分名为resources.apk 或HtcContacts.apk
MOTO 除了resources.apk还有moto-res.apk、blur-res.apk
总之把framework文件夹下的APK文件都用一遍。自定义执行:java -jar apktool.jar if framework-res.apk
根据官方说法如下:HTC机子的安装如:( Linux操作 Win系统类似)第一个文件
$ apktool if com.htc.resources.apk
I: Framework installed to: /home/brutall/apktool/framework/2.apk测试反编译
$ apktool d HtcContacts.apk
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk 读取第一个构架
I: Loading resource table from file: /home/brutall/apktool/framework/2.apk 读取第二个构架
I: Copying assets and libs...
__________________________________________________________________
还有一种情况
如果你反编译的机型比较多,可以使用多个构架,如:$ apktool if com.htc.resources.apk hero尾部加名称【hero】
I: Framework installed to: /home/brutall/apktool/framework/2-hero.apk
$ apktool if com.htc.resources.apk desire尾部加名称【desire】
I: Framework installed to: /home/brutall/apktool/framework/2-desire.apk在反编译的时候灵活读取 不同的构架文件,如:$ apktool d -f -t hero HtcContacts.apk命令后添加【-f -t -hero】
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk
I: Loading resource table from file: /home/brutall/apktool/framework/2-hero.apk调动读取【hero】构架
I: Copying assets and libs...
$ apktool d -f -t desire HtcContacts.apk 命令后添加【-f -t -desire】
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk
I: Loading resource table from file: /home/brutall/apktool/framework/2-desire.apk调动读取【desire】构架
I: Copying assets and libs...------------------------------------------------------------------------------------------------
Windows下实例:【第一步安装构架】
C:\>java -jar c:\apkdb\apktool.jar if d:\framework-res.apk
I: Framework installed to: D:\My Documents\系统文件\apktool\framework\1.apk【测试反编译Settings.apk】
C:\>java -jar c:\apkdb\apktool.jar d d:\Settings.apk
I: Baksmaling...
I: Loading resource table...
W: Skipping "android" package group
I: Decoding resources...
I: Loading resource table from file: D:\My Documents\系统文件\apktool\framework\
1.apk
I: Copying assets and libs...
OK 成功搞定!注意:由于从C盘更目录操作的 反编译后 会保持在C盘
【测试回编译】C:\>java -jar c:\apkdb\apktool.jar b C:\Settings
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
OK 完成回编译!
------------------------------------------------------------------------------------------------
‘柒’ 修改后的安卓安装包,如何反编译回去
1、首先新建一个android项目,里面只有一个MainActivity,而且主界面只会显示一个字符串:你好。
2、下面,切换到这个项目生成的apk文件所在的目录,可以看到有一个hellodemo.apk。
3、在命令行输入:apktool d -r hellodemo.apk。可以看到在当前目录下生成了一个hellodemo文件夹。
4、进入到hellodemo\smali\com\example\hello,打开MainActivity.smali。找到:
const-string v1, "\u4f60\u597d",
修改为:
const-string v1, "hello",
5、然后在命令行输入:apktool b hellodemo hellodemo1.apk。这回重新打包成hellodemo1.apk。
6、然后给新生成的apk进行签名。把这个apk拷贝到autosign的目录下面,然后切换过去,在命令行输入:java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。
7、把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!
‘捌’ 安卓apk反编译java怎么回编译
这样做是行不通的。反编译一般是不能完全得到源Java代码的,得到的代码甚至会有语法错误,除非是简单的那些代码。要改的话就得改.class文件,但这个非常困难,要在16进制下改。或者改smali文件,这个比改.class文件要稍微简单一点,不用在16进制...
‘玖’ 反编译了APK后修改了AndroidManifest.xml就无法回编译
系统apk重新编译后不需要签名,直接用rar打开打包生成的apk里面的androidmanifest.xml文件替换原apk里的androidmanifest.xml文件即可