首页
社区
课程
招聘
[求助]反编译的问题
发表于: 2016-12-5 16:14 10461

[求助]反编译的问题

2016-12-5 16:14
10461
1、在 903K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1K9i4c8T1N6h3y4C8k6i4c8Q4x3X3g2G2M7X3N6Q4x3V1k6v1k6i4y4#2M7@1k6J5k6h3E0W2i4K6u0r3M7$3#2S2L8r3W2Q4x3V1k6V1L8%4N6F1L8r3!0S2k6s2y4Q4c8e0y4Q4z5o6m8Q4z5o6m8Q4c8e0c8Q4b7U0S2Q4z5p5u0Q4c8e0S2Q4b7V1c8Q4b7V1c8Q4c8e0c8Q4b7V1q4Q4z5o6k6Q4c8e0y4Q4z5o6m8Q4z5o6m8T1j5h3E0K6L8h3q4D9K9g2!0q4z5q4)9^5y4q4)9&6b7g2!0q4y4W2)9&6b7#2!0m8b7#2)9J5b7H3`.`. smali.jar, baksmali.jar

2、编写 example.java,如下:
public class example
	{
		public static void main(String []args)
		{
			System.out.printf("Hello World!\n");
		}
	}

       

3、将 baksmali脚本, smali.jar, baksmali.jar, example.java 放在同一目录下

4、javac编译example.java,目录下成功生成 example.class(但有一个警告产生)
> javac -source 1.6 -target 1.6 example.java
警告: [options] 未与 -source 1.6 一起设置引导类路径
1 个警告


5、使用dx工具成功得到 example.dex
> dx --dex --output=example.dex example.class


6、使用baksmali获取smali语法文件,但失败(转而使用“java -jar baksmali.jar example.dex”,结果也是失败)
>  ./baksmali example.dex
Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a command, got example.dex
	at com.beust.jcommander.JCommander.parseValues(JCommander.java:783)
	at com.beust.jcommander.JCommander.parse(JCommander.java:282)
	at com.beust.jcommander.JCommander.parse(JCommander.java:265)
	at org.jf.baksmali.Main.main(Main.java:90)

> java -jar baksmali.jar example.dex
Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a command, got example.dex
	at com.beust.jcommander.JCommander.parseValues(JCommander.java:783)
	at com.beust.jcommander.JCommander.parse(JCommander.java:282)
	at com.beust.jcommander.JCommander.parse(JCommander.java:265)
	at org.jf.baksmali.Main.main(Main.java:90)


问题:
为何会反编译失败?我到网上搜了一下,但并没有找到相关的信息.......

注:
1、我使用的是 ubuntu16.04

2、java的版本
> java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)


3、smali和baksmali的版本:smali-2.2b4.jar,baksmali-2.2b4.jar

4、编译好的example.class是可以成功运行的:
>java example
Hello World!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 74
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
已解决,使用如下命令:
> baksmali disassemble example.dex
2016-12-5 17:54
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请问,你这个baksmali 又不是可执行文件,如何执行了?
2017-1-3 20:24
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还有,通过这种方式解开的smali 如何重新构建dex?
2017-1-4 09:32
0
雪    币: 2
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
AndU玉 还有,通过这种方式解开的smali 如何重新构建dex?
用smali.jar包,重新构建dex,如下:
java  -jar  smali.jar  out  -o  huawei_services.dex
out  是你上一步生成的smali的文件夹
2017-8-29 10:37
0
游客
登录 | 注册 方可回帖
返回