【发布时间】:2019-01-10 15:22:03
【问题描述】:
这是一个 CAP 文件,可能包含恶意软件代码,没有源代码,也没有导出文件。
是旧平台版本的CAP文件,即GP211。
我在 Classic JVM 和 Dalvik 中拥有丰富的 Java 逆向工程经验。但是 Java Card 是不太流行和更接近的平台。大多数工具适用于 CLASS/JAR 或 DEX,而不是 CAP。
我发现有几个工具(包括一些模拟 JCOP 的 VM)可以反汇编一个 CAP 文件,但是 CAP 相当大,使用汇编代码太复杂且速度慢我。
而且我们不能简单地执行“CAP 文本字节码 -> Notepad++ -> 一些 Java 字节码编辑器 -> Java 字节码”。
CAP 字节码和 Java 字节码之间的差异太多。不仅仅是方法表,还有大量不同的操作码。
只需反编译Java Card Kit的converter.jar(它是一个转换CLASS -> CAP的工具),看到转换是一个相当复杂的过程。
我需要一些自动转换器。
同时,我正在开发一套智能卡解决方案,“CAP反编译器”将是其中的佼佼者。
是的,我要写它。
我计划从一侧构建它在 Javassist 之上,从第二个构建一些 CAP 反汇编库,从第三个构建一些标准 Java 反编译器(-s)。
但我应该确定没有类似物。
问题在这里:
地球上有没有工具可以将 Java Card *.cap 转换为 Java *.class(或直接反编译 *.cap)或没有?
我不是要图书馆(我发现了一些图书馆),我要的是工具。可运行。
(另外,如果您知道此字节码转换中的一些陷阱,如果您能向我描述它们,我将不胜感激。现在我认为它只是将一个操作码列表复制到另一个带有巨大 if...else if...else if...else if... 或 @987654322 的操作码列表@tree(以及一些杂项人员,即访问修饰符、字段等的转换)。
【问题讨论】:
-
嗯,是的,哇,在所有文本之后,您没有在正文中重复问题。正确的。因此,对于 StackOverflow 来说,它显然是题外话,因为它要求软件:“要求工具或库推荐的问题对于 Stack Overflow 来说是题外话”是一个密切的原因。但一般来说,如果您最喜欢的搜索引擎找不到它,那么在 SO 上要求它几乎没有用处。
-
@MaartenBodewes 轻描淡写 :) “要求工具或库建议的问题对于 Stack Overflow 来说是题外话,因为 它们往往会吸引固执己见的答案和垃圾邮件”我不是在要求推荐哪种工具更好,即“A vs B”,我只是在询问有关 ANY 此类工具存在的信息。只有一个。
标签: reverse-engineering smartcard javacard jcop