找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 2862|回复: 0

【Android】编译和调试dex2jar

[复制链接]

307

主题

228

回帖

7343

积分

用户组: 真·技术宅

UID
2
精华
76
威望
291 点
宅币
5593 个
贡献
253 次
宅之契约
0 份
在线时间
948 小时
注册时间
2014-1-25
发表于 2015-12-28 15:47:24 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
git位于https://github.com/pxb1988/dex2jar.git,配置和编译方法参照前几帖所示、这里就不配图文了
同样的,很多apk会找到apktool或dex2jar的bug来达到保护自己的目的,对于dex2jar就有nullpointer等错误
dex2jar的目标jar有很多,现在以dex2smali为例:
编译:Gradle projects->:d2j-smali->Tasks->build->jar  编译成功后会得到d:\dex2jar\d2j-smali\build\libs\d2j-smali-2.1-SNAPSHOT.jar(最新发布的才2.0!)
调试:这里参照apktool 里d2j-dex2smali.bat来设置
因为d2j-smali-2.1-SNAPSHOT.jar这个jar里其实包含至少2个功能,一个是dex2smali,一个是smali2dex,因此有多个主类,因此并不能用上节那样调试jar
bat里是java -Xms512m -Xmx1024m -cp "%CP%" %*                @"%~dp0d2j_invoke.bat" com.googlecode.d2j.smali.BaksmaliCmd %*
因此增加配置项(如上个帖子)EditConfiguration-> + -> Application  写入:
Main class -> com.googlecode.d2j.smali.BaksmaliCmd
VM options -> -Xms512m -Xmx1024m
Program arguments -> classes.dex  拿个dex文件做例子,自己配置相应目录Working directory
在d2j-smali -> src -> main -> java -> com.googlecode.d2j.smali.BaksmaliCmd ->main中下断点
之后点虫子按钮调试,这时提示“错误: -source 1.6 中不支持 diamond 运算符(请使用 -source 7 或更高版本以启用 diamond 运算符)”
也就是java版本低了,那么在菜单File->Project Structure中吧所有存在的1.6版本全改成1.7
再点虫子,ok断下!
回复

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-4-26 14:17 , Processed in 0.041496 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表