Здесь возможен файл CAP, содержащий код вредоносного ПО без исходного кода, а также без файла экспорта.
Это файл CAP для старой версии платформы, т.е. GP211 .
У меня большой опыт реверс-инжиниринга Java в Classic JVM и Dalvik Но Java Card - менее популярная и более близкая платформа. Большинство инструментов предназначены для CLASS / JAR или DEX, а не CAP.
Я нашел несколько инструментов (включая некоторые виртуальные машины, которые имитируют JCOP), которые могли бы дизассемблировать файл CAP, но CAP довольно большой, а работа с ассемблерным кодом слишком сложна и медленна для меня .
И мы не можем просто сделать «CAP текстовый байт-код -> Notepad ++ -> некоторый редактор Java-байт-кода -> Java-байт-код».
Слишком много различий между байт-кодом CAP и байт-кодом Java. Не только таблица методов, но и большое количество различных кодов операций.
Просто декомпилируйте converter.jar Java Card Kit (это инструмент, который конвертирует CLASS -> CAP) и увидите, что преобразование является довольно сложным процессом.
Мне нужен какой-нибудь автоматический конвертер.
Между тем, я разрабатываю набор решений для смарт-карт, и «CAP-декомпилятор» будет хорошим элементом в списке.
Да, я напишу это.
Я планирую построить его поверх Javassist с одной стороны, какую-нибудь библиотеку CAP-дизассемблирования со второй и какой-нибудь стандартный декомпилятор (-ы) Java из третьей.
Но я должен быть уверен, что аналогов нет.
ВОПРОС ЗДЕСЬ:
Есть ли на Земле какой-нибудь инструмент, который может конвертировать Java Card * .cap в Java * .class (или декомпилировать * .cap напрямую) или нет?
Я не прошу библиотеку (я нашел библиотеки ), я прошу инструмент. Runnable.
(Также, если вы знаете некоторые подводные камни в этом преобразовании байт-кода, я буду признателен, если вы опишите их мне. Теперь я увидел, что это просто копирование одного списка кодов операций в другой с гигантским if...else if...else if...else if...
или * 1042. * дерево (и некоторые разные сотрудники, т.е. преобразователи, поля и т. д.).