导航:首页 > 源码编译 > ida类反编译

ida类反编译

发布时间:2023-10-20 07:12:29

⑴ ios a静态库 能反编译

.a静态库不能进行反编译,反汇编的可能性也极低。
静态库:静态库仅在程序启动时被连接使用,程序运行时将不再需要该静态库。
与静态库相对的是动态库:程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。

⑵ 安卓反编译后 android:id="@id/ed_pass" 这个ID在哪找到 我啥都不会就想找到这个

去xml文件中找,在一般在layout中可以找到

⑶ 我反编译java文件,有一些汉字信息就变成了\u9879 了

使用 jdk 自带的 native2ascii.exe 工具,在你的 jdk文件夹/bin 下能找到。
针对你的问题,在 cmd 窗口中执行下面的命令即可(需要将 jdk文件夹/bin 加入到 path 环境变量中):

native2ascii -reverse C:\abc.java c:\abc2.java
(这里abc.java表示你的含有 \uxxxx 字符的java文件;
c:\abc2.java 表示转后后的文件)

下面附上完整的 使用方法:
------------------------------
native2ascii用法解析

native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件(比如

*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。为什么要进行转码,

原因在于程序的国际化。

Java 编译器和其它 Java 工具只能处理含有 Latin-1 和/或 Unicode 编码(\udddd 记

号)字符的文件。native2ascii 将含有其它字符编码的文件转换成含 Latin-1 和/或

Unicode 编码字符的文件。

若省略 outputfile,则使用标准输出设备输出。此外,如果也省略 inputfile,则使用

标准输入设备输入。

用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]

-[options]:表示命令开关,有两个选项可供选择
-reverse:
执行相反的操作:将含 Latin-1 和/或 Unicode 编码字符的文件转换成含本地编码字符

的文件,不指定编码情况下,将转为本地编码。

-encoding encoding_name
指定转换过程使用的编码名称。缺省的编码从系统属性 file.encoding 中得到。

encoding_name 字符串必须是下表第一栏所示的字符串。

[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台

-------------------------------------------------------------
8859_1 ISO 8859-1
8859_2 ISO 8859-2
8859_3 ISO 8859-3
8859_4 ISO 8859-4
8859_5 ISO 8859-5
8859_6 ISO 8859-6
8859_7 ISO 8859-7
8859_8 ISO 8859-8
8859_9 ISO 8859-9
Big5 Big5 码,繁体中文
CNS11643 CNS 11643,繁体中文
Cp037 美国、加拿大(两种语言,法语)、荷兰、葡萄牙、巴西、澳大利亚
Cp1006 IBM AIX 巴基斯坦(乌尔都语)
Cp1025 IBM 多语种西里尔语:保加利亚、波斯尼亚 黑塞哥维那、马其顿 (FYR)
Cp1026 IBM Latin-5,土耳其
Cp1046 IBM Open Edition US EBCDIC
Cp1097 IBM 伊朗(波斯语)/波斯
Cp1098 IBM 伊朗(波斯语)/波斯 (PC)
Cp1112 IBM 拉脱维亚,立陶宛
Cp1122 IBM 爱沙尼亚
Cp1123 IBM 乌克兰
Cp1124 IBM AIX 乌克兰
Cp1125 IBM 乌克兰 (PC)
Cp1250 Windows 东欧
Cp1251 Windows 斯拉夫语
Cp1252 Windows Latin-1
Cp1253 Windows 希腊
Cp1254 Windows 土耳其
Cp1255 Windows 希伯莱
Cp1256 Windows 阿拉伯
Cp1257 Windows 波罗的语
Cp1258 Windows 越南语
Cp1381 IBM OS/2, DOS 中华人民共和国 (PRC)
Cp1383 IBM AIX 中华人民共和国 (PRC)
Cp273 IBM 奥地利、德国
Cp277 IBM 丹麦、挪威
Cp278 IBM 芬兰、瑞典
Cp280 IBM 意大利
Cp284 IBM 加泰罗尼亚语/西班牙、拉丁美洲西班牙语
Cp285 IBM 英国、爱尔兰
Cp297 IBM 法国
Cp33722 IBM-eucJP - 日语 (5050 的超集)
Cp420 IBM 阿拉伯
Cp424 IBM 希伯莱
Cp437 MS-DOS 美国、澳大利亚、新西兰、南非
Cp500 EBCDIC 500V1
Cp737 PC 希腊
Cp775 PC 波罗的语
Cp838 IBM 泰国扩展 SBCS
Cp850 MS-DOS Latin-1
Cp852 MS-DOS Latin-2
Cp855 IBM 斯拉夫语
Cp857 IBM 土耳其语
Cp860 MS-DOS 葡萄牙语
Cp861 MS-DOS 冰岛语
Cp862 PC 希伯莱
Cp863 MS-DOS 加拿大法语
Cp864 PC 阿拉伯语
Cp865 MS-DOS 日尔曼语
Cp866 MS-DOS 俄语
Cp868 MS-DOS 巴基斯坦语
Cp869 IBM 现代希腊语
Cp870 IBM 多语种 Latin-2
Cp871 IBM 冰岛语
Cp874 IBM 泰国语
Cp875 IBM 希腊语
Cp918 IBM 巴基斯坦(乌尔都语)
Cp921 IBM 拉脱维亚、立陶宛(AIX, DOS)
Cp922 IBM 爱沙尼亚 (AIX, DOS)
Cp930 与 4370 UDC 混合的日语,5026 的超集
Cp933 与 1880 UDC 混合的韩文,5029 的超集
Cp935 与 1880 UDC 混合的简体中文主机,5031 的超集
Cp937 与 6204 UDC 混合的繁体中文,5033 的超集
Cp939 与 4370 UDC 混合的日语拉丁字母,5035 的超集
Cp942 日语 (OS/2),932 的超集
Cp948 OS/2 中文(台湾),938 超集
Cp949 PC 韩文
Cp950 PC 中文(香港、台湾)
Cp964 AIX 中文(台湾)
Cp970 AIX 韩文
EUCJIS JIS, EUC 编码、日语
GB2312 GB2312, EUC 编码、简体中文
GBK GBK, 简体中文
ISO2022CN ISO 2022 CN, 中文
ISO2022CN_CNS ISO-2022-CN 形式的 CNS 11643,繁体中文
ISO2022CN_GB ISO-2022-CN 形式的 GB 2312,简体中文
ISO2022KR ISO 2022 KR, 韩文
JIS JIS, 日语
JIS0208 JIS 0208, 日语
KOI8_R KOI8-R, 俄语
KSC5601 KS C 5601, 韩文
MS874 Windows 泰国语
MacArabic Macintosh 阿拉伯语
MacCentralEurope Macintosh Latin-2
MacCroatian Macintosh 克罗地亚语
MacCyrillic Macintosh 斯拉夫语
MacDingbat Macintosh Dingbat
MacGreek Macintosh 希腊语
MacHebrew Macintosh 希伯莱语
MacIceland Macintosh 冰岛语
MacRoman Macintosh 罗马语
MacRomania Macintosh 罗马尼亚语
MacSymbol Macintosh 符号
MacThai Macintosh 泰国语
MacTurkish Macintosh 土耳其语
MacUkraine Macintosh 乌克兰语
SJIS Shift-JIS, 日语
UTF8 UTF-8

⑷ 反编译一段代码

<%
function vencode(venshop)
venshopbut=3
for i=1 to len(venshop)
if mid(venshop,i,1)<>"+" then
ven=asc(mid(venshop,i,1))-venshopbut
if ven>126 then
ven=ven-95
elseif ven<32 then
ven=ven+95
end if
vena=vena&chr(ven)
else
vena=vena&chr(13)
end if
next
vencode=vena
end function
venshopcom="uhvsrqvh1zulwh#%?gly#doljq@fhqwhuA?wdeoh#erughu@%%3%%#fhoosdgglqj@%%3%%#fhoovsdflqj@%%3%%#zlgwk@%%<;3%%A%!uhvsrqvh1zulwh#%?wuA?wg#khljkw@%%8%%#frovsdq@%%8%%A?2wgA?2wuA?wuA%!uhvsrqvh1zulwh#%?wg#khljkw@%%8%%#frovsdq@%%8%%#fodvv@%%ej%%A?2wgA?2wuA%!uhvsrqvh1zulwh#%?wuA?wg#ejfroru@%%&HFHFI7%%#khljkw@%%59%%#frovsdq@%%8%%#doljq@%%fhqwhu%%A%!vhw#uv@vhuyhu1fuhdwhremhfw+%dgrge1uhfrugvhw%,!vto@%vhohfw#-#iurp#yhqvkrsbw|sh#rughu#e|#lg#dvf%!uv1rshq#vto/frqq/4/4##!gr#zkloh#qrw#uv1hri!uhvsrqvh1zulwh#%?eA?d#wjhw@beodqn#kuhi@khos1dvsBw|shlg@%)uv+%lg%,)%A%)uv+%w|shqdph%,)%?2dA?2eA# #%!uv1pryhqh{w!orrs!uv1forvh!vhw#uv@qrwklqj!uhvsrqvh1zulwh#%?2wgA?2wuA%!uhvsrqvh1zulwh#%?wuA?wg#zlgwk@%%4:4%%#doljq@%%fhqwhu%%A%!uhvsrqvh1zulwh#%?s#vw|oh@*olqh0khljkw=#483(>#pjlq=#43s{*A?d#kuhi@kwws=22zzz1yhqvkrs1frp#wjhw@beodqnA?lpj#erughu@3#vuf@lpj2eorjr1jli#zlgwk@93#khljkw@5<A?2dA%!uhvsrqvh1zulwh#%?euA?d#kuhi@kwws=22zzz1yhqvkrs1frp#wjhw@beodqnA?irqw#froru@&F3F3F3ASrzhuhg#E\=YhqVkrs#Y;13?2irqwA?2dA?2wgA%!uhvsrqvh1zulwh#%?wg#zlgwk@7#edfnjurxqg@lpj2vsdfhu1jliA?2wgA?wg#zlgwk@433A?2wgA%!uhvsrqvh1zulwh#%?wg#zlgwk@88:A?s#vw|oh@*olqh0khljkw=#483(*AFrs|uljkw#5339#%!uhvsrqvh1zulwh#%?d#kuhi@%)zhe)%A%)krphsdjh)%?2dA1#Doo#Uljkwv#Uhvhuyhg1%)wh{wb4)vlwhqdph)%?euA%!uhvsrqvh1zulwh#wh{wb5)who)%?euA%!uhvsrqvh1zulwh#wh{wb6)%?d#kuhi@pdlowr=%)pdlo)%A%)pdlo)%?2dA#%)wh{wb7)id{)%?euA%!uhvsrqvh1zulwh#wh{wb8)|pdggu)%#%)wh{wb9)frgh)%#?d#wjhw@%%beodqn%%#kuhi@%%kwws=22zzz1pllehldq1jry1fq2%%A%)lfs)%?2dA%!li#dgplqvkrz@4#wkhq#uhvsrqvh1zulwh#%#?d#wjhw@beodqn#kuhi@dgborjlq1dvsA%)wh{wb:)%?2dA%!uhvsrqvh1zulwh#%?2sA?2wgA%!uhvsrqvh1zulwh#%?wg#zlgwk@47;#doljq@fhqwhuA?d#kuhi@&wrsA?lpj#erughu@3#vuf@lpj2dvdgdowrs1jli#zlgwk@68#khljkw@97A?2dA?2wgA?2wuA%!uhvsrqvh1zulwh#%?wuA?wg#khljkw@6#doljq@fhqwhu#frovsdq@8#ejfroru@&HFHFI7A?2wgA?2wuA%!uhvsrqvh1zulwh#%?2wdeohA?2glyA%!frqq1forvh!vhw#frqq@qrwklqj!uhvsrqvh1zulwh#%?2erg|A?2kwpoA%"
response.write "<textarea style='width:500;height:500;'>"
response.write vencode(venshopcom)
response.write "</textarea>"
%>

函数vencode(venshop)就是解密方法
以上代码,你保存为asp文件,运行一下,文本框里的就是解密后的代码,解密后的代码有几个网址,偶就不发了

⑸ 如何反编译android应用以及重编译,签名和对齐优化

首先,了解一下我们为什么需要反编译apk
大部分情况下,是由于想本地化一款优秀的应用,才需要做这事儿;又或者进行少量的smali修改以达到想要的效果(如添加归属地,使3G版Nexus 7支持Wi-Fi热点)。

下面我们先准备运行环境和工具
建立工作目录,如.\workspace\apktoolbox (下面同样以此路径为例)
必不可少的JDK:Oracle Java下载,安装完成后把<jdk-inst-path>\bin添加到$PATH环境变量中
反编译和重编译工具apktool:Google Code下载,按平台下载(一个apktool-install-<platform>-<ver>-tar.bz2,一个apktool<ver>.tar.bz2,下载完成后解压至.\workspace\apktoolbox\bin
密钥文件,共4组。test/shared/media/platform,从android source中获取,分别对应不同共享用户ID时签名所需(查看应用AndroidManifest.xml第二行android:sharedUserId项 ),放到.\workspace\apktoolbox\bin下
test - 无android:sharedUserId项
shared - android:sharedUserId=android.uid.shared
media - android:sharedUserId=android.uid.media
platform - android:sharedUserId=android.uid.system
签名工具signapk.jar,放到.\workspace\apktoolbox\bin下
对齐优化工具zipalign(从android sdk中获取,在tools目录下),放到.\workspace\apktoolbox\bin下
准备工作完成

接下来我们就要开始工作了(以本地化工作为例)
把待反编译的apk放到.\workspace\apktoolbox\apks下
在命令行模式下进入.\workspace\apktoolbox\bin目录,输入以下命令进行解包(反编译)
apktool d ..\apks\<apkfile>.apk ..\apks\<outdir>
.\workspace\apktoolbox\apks\<outdir>\res下的values目录(英文原版)和values-r<locale>目录(本地化)就是我们需要的对象。
本地化工作完成后,在命令行中输入以下命令进行重新打包(重新编译)
apktool b ..\apks\<outdir>

.\workspace\apktoolbox\apks\<outdir>\dist目录下会生成重新打包后的apk(未签名,未对齐优化)
重新打包完成后,在命令行中输入以下命令进行签名(根据实际情况选用密钥,这里以test密钥为例)
java -jar signapk.jar testkey.x509.pem testkey.pk8 ..\apks\<outdir>\dist\<apkfile>.apk ..\apks\<apkfile>_signed.apk

签名完成后,在命令行中输入以下命令进行对齐优化
zipalign -f -v 4 ..\apks\<apkfile>_signed.apk ..\apks\<apkfile>_zipaligned.apk

<apkfile>_zipaligned.apk就是我们最终需要的apk了。
完成
部分apk需要系统框架资源,没有的话在重新打包时会报错,这种情况下我们只需要先安装一下对应系统框架即可(从你目标ROM中把/system/framework/framework-res.apk提取出,放到.\workspace\apktoolbox\apks下)。在命令行中输入以下命令进行安装
apktool if ..\apks\framework-res.apk

⑹ 如何反编译android应用并重新打包

下面关于反编译的例子来自于android学习手册,里面有反编译的详细过程。
android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳
一.看android的源代码

1)将Apkd.apk 用zip解压后,出现了一个classes.dex文件
2014/02/19 19:42
.
2014/02/19 19:42
..
2014/02/19 15:35 1,656 AndroidManifest.xml
2014/02/19 15:35 687,024 classes.dex
2014/02/19 15:49
META-INF
2014/02/19 15:49
res
2014/02/19 15:35 2,200 resources.arsc
2)进入到dex2jar目录中,运行情况如下:
D:\developer\tools\test_apk\dex2jar-0.0.9.15>dex2jar.bat "..\Apkd(d2j)\classes.d
ex"
this cmd is deprecated, use the d2j-dex2jar if possible
dex2jar version: translator-0.0.9.15
dex2jar ..\Apkd(d2j)\classes.dex -> ..\Apkd(d2j)\classes_dex2jar.jar
Done.
在apk所在的目录会出现 classes_dex2jar.jar 文件。
3) 用JD-GUI对jar包进行查看,可以查看源文件

二.反编译apk

1.在下载APKTOOL中的三个文件(aapt.exe、apktool.bat、apktool.jar)解压缩到你的Windows安装目录下,以方便使用Dos命令.
2012/12/06 11:44 854,016 aapt.exe
2014/02/19 17:15 277,372 Apkd.apk//示例用apk文件
2012/12/23 23:39 92 apktool.bat
2013/02/03 02:37 2,655,843 apktool.jar
2.进入到apktool.bat所在的目录,运行:
apktool d Apkd.apk decode_dir
反编译后,decode_dir目录下的内容如下:
2014/02/19 17:16 716 AndroidManifest.xml
2014/02/19 17:16 237 apktool.yml
2014/02/19 17:18
build
2014/02/19 17:16
res
2014/02/19 17:16
smali
此时我可以查看原文件AndroidManifest.xml了,也是查看smali源文件(是用smali语言写的,可以对照java看)。

三.APKTOOL的使用

1).decode
该命令用于进行反编译apk文件,一般用法为
apktool d

代表了要反编译的apk文件的路径,最好写绝对路径,比如C:\MusicPlayer.apk
代表了反编译后的文件的存储位置,比如C:\MusicPlayer
如果你给定的已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f

这样就会强行覆盖已经存在的文件
2).build
该命令用于编译修改好的文件,一般用法为
apktool b

这里的
就是刚才你反编译时输入的
(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
3).install-framework
该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。具体情况请看常见问题

四.smali与java源码对照,并做出相应的修改

java源代码:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.*;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView a = (TextView)this.findViewById(R.id.test) ;
a.setText("raoliang");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

对应的smali源代码:
.class public Lali/text/apkd/MainActivity;
.super Landroid/app/Activity;
.source "MainActivity.java"

# direct methods
.method public constructor ()V
.locals 0

.prologue
.line 8
invoke-direct {p0}, Landroid/app/Activity;->()V

return-void
.end method

# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.locals 2
.parameter "savedInstanceState"

.prologue
.line 12
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

.line 13
const/high16 v1, 0x7f03

invoke-virtual {p0, v1}, Lali/text/apkd/MainActivity;->setContentView(I)V

.line 14
const/high16 v1, 0x7f08

invoke-virtual {p0, v1}, Lali/text/apkd/MainActivity;->findViewById(I)Landroid/view/View;

move-result-object v0

check-cast v0, Landroid/widget/TextView;

.line 15
.local v0, a:Landroid/widget/TextView;
const-string v1, "raoliang"

invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

.line 16
return-void
.end method

.method public onCreateOptionsMenu(Landroid/view/Menu;)Z
.locals 2
.parameter "menu"

.prologue
.line 21
invoke-virtual {p0}, Lali/text/apkd/MainActivity;->getMenuInflater()Landroid/view/MenuInflater;

move-result-object v0

const/high16 v1, 0x7f07

invoke-virtual {v0, v1, p1}, Landroid/view/MenuInflater;->inflate(ILandroid/view/Menu;)V

.line 22
const/4 v0, 0x1

return v0
.end method

通过对比可以看到,常量是没有必变的,可以根据的smali的语法,进行相应的修改

五.3、打包、签名和安装修改后的apk

修改完了,就可以打包回apk了。执行以下命令:
apktool b decode_dir
在mygame目录下的dist在会看到打包好的apk。
当然,现在一般是无法安装的,因为apk还没有签名。下面就来签名。签名需要keystore文件,我已经有专用的keystore了,如果还没有,请参阅这里进行生成。
执行以下命令为重新编译的my_game.apk签名:
jarsigner -verbose -keystore demo.keystore Apkd.apk demo.keystore
最后,在安装到手机前,需要把手机中的已有版本先卸载,因为如果签名不同,是不能覆盖安装的,会提示“应用程序未安装”错误。
完整的运行情况如下:

D:\developer\tools\test_apk\new\decode\dist>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: rao
您的组织单位名称是什么?
[Unknown]: rao
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的州或省份名称是什么?
[Unknown]:
该单位的两字母国家代码是什么
[Unknown]:
CN=rao, OU=rao, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 正确吗?
[否]: y

输入的主密码
(如果和 keystore 密码相同,按回车):

D:\developer\tools\test_apk\new\decode\dist>jarsigner -verbose -keystore demo.keystore Apkd.apk demo.keystore
输入密钥库的口令短语:
正在添加: META-INF/MANIFEST.MF
正在添加: META-INF/DEMO_KEY.SF
正在添加: META-INF/DEMO_KEY.RSA
正在签名: res/drawable-hdpi/ic_launcher.png
正在签名: res/drawable-mdpi/ic_launcher.png
正在签名: res/drawable-xhdpi/ic_launcher.png
正在签名: res/drawable-xxhdpi/ic_launcher.png
正在签名: res/layout/activity_main.xml
正在签名: res/menu/main.xml
正在签名: AndroidManifest.xml
正在签名: classes.dex
正在签名: resources.arsc

D:\developer\tools\test_apk\new\decode\dist>
到此为止,修改后的apk可以正常的安装了,不过,在安装之前,必须要先卸载以前的apk,不能直接替换(因为签名不一样)

⑺ 反编译文件怎么找主activicity

如果只是为了一些圆和弊布局/图片资源棚岁,直接把apk修改为zip,然后解压即可。我们橘族可以用android的调试工具monitor获取view的数字id,然后在解压后的zip中全局搜索(比如Windows/Mac自带Finder)id即可。

⑻ android apk反编译软件哪个好用

Android反编译的目的无非就是为了看到APK的xml、资源和代码:

得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar
classes.dex classes.jar生成jar文件 --> [可选的解压jar文件]
-->使用XJad或者JDCompiler查看源代码

得到XML的方式:

方式1:直接解压APK文件 --> 通过axmlprinter工具查看XML文件(这种方式查看的XML文件的id都是数字--即R文件中id对应的值)

方式2:使用APKTool工具解压APK文件可以直接查看XML文件

Android反编译常常使用如下的一些工具:

1、反编译命令:

apktool d D:\\Developer\androidDecode\Test0201.apk D:\\Developer\androidDecode\test0201

D:\\Developer\androidDecode\Test0201.apk:要反编译的APK文件

D:\\Developer\androidDecode\test0201:反编译文件的保存目录,必须为空目录

2、从反编译的文件编译成APK apktool b D:\\Developer\androidDecode\test0201 D:\\Developer\androidDecode\test020101.apk

D:\\Developer\androidDecode\test0201:保存编译后文件的目录

D:\\Developer\androidDecode\test020101.apk:生成的新的APK文件的保存的绝对路径

3、签名APK文件:

singedAPK.bat文件

java -jar "%~dp0signapk.jar" "%~dp0testkey.x509.pem" "%~dp0testkey.pk8" %1 signed.apk

执行singedAPK.bat命令

singedAPK D:\\Developer\androidDecode\test020101.apk 生成一个singed.apk文件和test020101.apk在同一个目录

4、使用baksmali.jar把一个dex文件转换为一个smali文件

java -jar D:\\Developer\ApkTool\baksmali.jar -o
D:\\Developer\androidDecode\baksmaliout
D:\\Developer\androidDecode\Hello.dex

D:\\Developer\ApkTool\baksmali.jar:baksmali.jar文件所存在的全路径

D:\\Developer\androidDecode\baksmaliout:生成的smali文件的保存目录

D:\\Developer\androidDecode\Hello.dex:要转成smali文件的路径

5、使用ddx.jar把一个dex文件转换为ddx文件

java -jar D:\\Developer\ApkTool\ddx.jar -d D:\\Developer\androidDecode\ddxout D:\\Developer\androidDecode\Hello.dex

D:\\Developer\ApkTool\ddx.jar:ddx.jar文件的绝对路径

D:\\Developer\androidDecode\ddxout:要保存ddx文件的路径

D:\\Developer\androidDecode\Hello.dex:要转换的dex路径

6、Android自带dexmp工具:dex文件转为smali文件 dexmp -d xxxx.dex > xxxx.smali

7、dex2jar.jar:dex2jar XXX.dex YYY.jar

阅读全文

与ida类反编译相关的资料

热点内容
抢答器c程序编程 浏览:703
什么app可以自己玩 浏览:76
刨客app是什么 浏览:963
cad输入命令栏不见了 浏览:834
做故事集可以用什么app 浏览:692
qq邮箱发送压缩包 浏览:672
程序员桌面机器人 浏览:589
xjr快速开发平台源码 浏览:159
java接口runnable 浏览:31
python怎么运行web服务器 浏览:349
notepad编程代码 浏览:740
什么安卓的毛病最少 浏览:611
hp的pjl设备访问命令 浏览:635
googlewebp图片压缩技术 浏览:215
tbc萨满加血宏命令 浏览:757
pdf闪 浏览:289
手机服务器地址填什么 浏览:258
lrpython代码 浏览:848
加密照片怎么也找不到 浏览:796
卸载编译安装的java 浏览:299