smali怎么反编译
A. smali怎样取反,或者怎样正变负
apk编译工具_baksmali和smali简介:一个强大的apk文件编辑工具。使用方法如下:首先把baksmali-1.3.2.jar和smali-1.3.2.jar文件放到android sdk安装路径下的tools里面,把apk文件改成rar文件,解压后取出classes.dex文件,也放入tools里面,然后用命令行,cd tools目录下,
java -jar baksmali-1.3.2.jar -o classout/ classes.dex
下免就可以使用java命令,tools目录下多了一个classout文件夹,里面就是smali类型的文件,里面是反编译出的代码,但是不是java代码,还是能看出变量和方法的,
用jd_gui来看反编译出的Java代码,这样便于寻找自己想要改的东西,找到后可以到baksmali classout下去修改相应的地方。然后是利用smali编译回去:
命令如下:java -jar smali-1.3.2.jar classout/ -o classes.dex
把classout下编译成classes.dex然后把classes.dex放回apk下覆盖原来的classes.dex文件。
B. 如何反编译android应用并重新打包
反编译android步骤入下:
第一:使用apktool直接反编译apk
第六:把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!
C. APKTool解包后都为smali格式 然后如何编辑修改apk名称
一、相关工具(针对windows系统)
下载windows安装版的程序,安装后不用管它了。
下载apktool-install-windows-2.2_r01-3.tar.bz2和apktool1.3.2.tar.bz2,用winrar解压后把解压出来的文件都放在一个目录下,比如:E:/apktool/ 下(为简单起见,下文都用这个路径为apktool工作目录)。
Auto-Sign签名工具:N/A
二、反编译
说要把apk“装冰箱(反编译)”分三步走:
第一步:先把apk程序(这里用ThinkingSpacePro.apk)程序放到 E:/apktool/ 下。
第二步:启动windows的cmd.exe,用命令行cd到 E:/apktool 目录下。
第三步:键入命令
apktool d ThinkingSpacePro.apk
这个命令的格式是:
apktool d xxx.apk output
其中 d 参数用来指示工具要进行反编译操作,xxx.apk是要反编译的程序,output 源码输出的路径。如果最后不指定输出的路径,默认是放在同目录下的 xxx 文件夹下(即apk程序名称去掉.apk后的名称)。如果你的apk文件名称中有空格,那键入命令时用双引号引起来,不过为方便起见,反编译之前把apk文件名中的空格都去掉先。
运行反编译命令后会在同级目录下得到一个 ThinkingSpacePro 文件夹,源文件都在里面了。
三、汉化
汉化这个比较简单,在反编译apk程序得到源码后,一般程序的文档都放在res目录下,都是些xml文档,用记事本之类的打开查看一下,一般都会比较容易看出来哪些是可以汉化的文本。这个就不去弄它了。可能不同程序还有不一样的,反正英语差点,汉化这种事我也不去深究了。你如果只想汉化的话,进res文件夹找找,完成汉化后就可以直接重新编译程序了(最后讲编译),不用太多的编程知识。思维导图本身支持多国语言(都在源文件的res文件夹里),所以也用不着汉化了。但大致的汉化过程就是这样了。
另外貌视还有Android ResEdit之类的专用汉化软件,不用搞什么反编译,用起来可能更简单。
四、SDcard to Flash
对于N5p,app2sd只是一个传说,不过sd2flash下面就可以实现。用SD卡玩机的人可以无视。
下面这个是本文的重点。目的就是要修改程序的默认数据读取和保存路径,主要针对那些必须有SD卡才能使用的程序。比如说一个游戏它分为主程序和游戏的关卡数据。主程序可能只有1M,但游戏关卡数据可能是几十甚至上百M,这类游戏一般是主程序安装在内存中,而关卡数据会要求你安装或下载到SD卡上。如果你没有SD卡,那就玩不成了。我之所以要改它的路径,就是不想让它占我的SD卡,N5p不是自带8G(实际好像只有6.5G)Flash闪存么,那为什么不用它?下面的修改就是要欺骗apk程序,我们的Flash闪存就是程序你要的SD卡。
正式修改时,除了要修改所有源文件(主要是.smali程序源文件)中的/sdcard 路径,使之指向 /flash 外,还要修改含有Environment.getExternalStorageState 和 Environment.getExternalStorageDirectory的源文件,前者用于检测是否安装SD卡,后者获取SD卡的路径。
那么从头来修改思维导图 Thinking Space Pro 2.16的数据读写路径。原版程序你必须要有SD卡才能正常保存你的数据,修改之后,所有数据读取、保存都针对N5p自己的Flash闪存,从而解放SD卡。
用apktool反编译ThinkingSpacePro.apk
apktool d ThinkingSpacePro.apk
D. apk反编译后smali文件怎么查看
1,首先得下载SublimeText
2,安装好后,需要去给它安装一个插件包
3,点击Install Now 按钮后进入,然后复制对应的版本下的代码
4,打开SublimeText 按下快捷键 ctrl+~,或者打开菜单栏View点击Hide Console 显示控制台,并将第3步中复制的代码粘贴到控制栏并按Enter键确认,然后重新开启SublimeText
5,打开SublimeText,我们可以看到在Preferences下多了一个菜单Package Control,好了那么就点击这个菜单(Package Control)就会弹出界面
6,在弹出框中点击Package Control:Install Package这一行,就会弹出提示,然后直接输入smali
7,搜到后就直接点击Smali这一行,它就已经装了,然后分分钟后就好了,你可以随意打开一个反编译的apk文件中的smali文件了,还自带高亮显示哦!
E. 电脑端反编译apk 反编译出现下面 输出文件只有smali文件,怎么解决
修改smali文件,再反编译回去
F. android反编译APK后,是smali文件,能反编译成dex文件吗
dex文件不需要反编译的,apk就是个压缩文件,dex可以通过解压直接得到
G. 安卓反编译出来的都是.smali文件,怎么反编译位原工程啊修改后还能重新编译回去
反编译步骤:
下载apktool 并设置环境变量
命令行进入apk目录执行:apktool d xx.apk (如果遇到一些错误说明apk做了防破解处理)
执行成功后会生成xx文件夹,进入xx文件夹修改需要修改的内容,如果需要修改代码,进入xx\smali\里面,需要懂一些smali语法
修改完后回到命令行,执行:apktool b xx ,会在xx文件夹里面生成一个dist文件夹,里面的apk就是回编译的,这个apk是没有签名的
下载网上的签名工具对apk签名,完了就可以安装了(如果你下载了源码或者sdk,里面自带一个signapk也可以签名)
H. 反编译后,怎么就一个smail文件
因为反编译失败了,所以只有smali文件夹了。
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盘的根目录里