Yricky / abcde

openHarmony逆向工具包
Apache License 2.0
277 stars 46 forks source link

请问是否可以添加功能,直接类似smali转java的方式,转换为可读代码 #4

Open yemao001 opened 3 months ago

Yricky commented 3 months ago

我也一直想实现这个功能,但很抱歉短期内没法实现。

此外,针对字节码可读性的优化也在持续进行。

这个issue会长期保持开启,等实现相关功能后关闭

hfkai commented 2 months ago

同求,我看到别人好像可以直接看到反编译后的源代码:https://juejin.cn/post/7305235970286485515,但是就是不知道他是怎么实现的,他在给别人的回复中,回答到:“选择16进制解析,解析完成就能看到代码段内容了”,由于我是010Editor这个软件的新手玩家,不太理解他这段话,大佬能否参考这个来解析下

MartinKayJr commented 2 months ago

同求,我看到别人好像可以直接看到反编译后的源代码:https://juejin.cn/post/7305235970286485515,但是就是不知道他是怎么实现的,他在给别人的回复中,回答到:“选择16进制解析,解析完成就能看到代码段内容了”,由于我是010Editor这个软件的新手玩家,不太理解他这段话,大佬能否参考这个来解析下?

不可能,release版本不可能包括源代码,你说的是debug版本的,要解析release版本为源代码,要做字节码解析,写这个解析器至少要耗费几个月的时间才能完美、

hfkai commented 2 months ago

是的,那如果是debug版本的话,要怎么还原呢?

MartinKayJr commented 2 months ago

是的,那如果是debug版本的话,要怎么还原呢?

没啥意义,debug版本只有自己的项目是,这种我们都不会去研究的。

Yricky commented 2 months ago

是的,那如果是debug版本的话,要怎么还原呢?

可以通过AbcMethod.debugInfo.state.sourceCodeString获取debug包中的源码。通常class的func_main_0中包含这个class完整的源码

magiclf-dec commented 2 months ago

有没有兴趣一起搞反编译

https://github.com/ohos-decompiler/abc-decompiler

image