lsd.jxe / rom.classes

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:courage: :bull_head: :boxing: :blue: :black_eyed: :bi_polo: :beguiled: :bee: :beaten: :barbershop: :apthy: :butterfly: :calm: :couple_inlove: :congratulatory: :confusion: :concern: :cold: :cocksure: :chuncky: :cheerful: :chargrined: :cat: :applouse: :apple: :applause: :tranquillity: :( :confused: :mad: :) :p ;) :D :flustered: :abnormal: :acne: :apologetic: :apathy: :anonymous: :angel: :o :ambivalence: :afro: :adoration: :adjoint: :rolleyes: :cool: :eek:
Ещё смайлики…

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: lsd.jxe / rom.classes

SkyFlyer » Ср авг 10, 2016 1:23 pm

Вопрос такой: как это запустить? Что дополнительно скачать и установить?

unbe » Пт янв 02, 2015 11:29 pm

У меня, к сожалению, совсем нет времени приводить их в удобный вид, документировать и т.д. :(
Поделюсь в "сыром" виде:

Способ 1: https://github.com/unbe/romclasses-py
Способ 2: https://github.com/unbe/romclasses-c

Если будут вопросы, постараюсь ответить.

zerbino » Пн дек 29, 2014 1:54 pm

Наработками не поделитесь?)

unbe » Чт окт 02, 2014 4:32 pm

zerbino писал(а):а как вообще дебажить ром класес?
т.е. так перевести его в код как выше?
я его давно видел, но как копать - понятия не имею
Простого способа я не нашёл, только два сложных, в обоих надо писать свой код.

Способ 1: самому разбирать файл. Формат частично гуглится по "J9ROMImageHeader", но есть непонятные места.
Способ 2: в библиотеках J9 SDK есть функции, которые могут дампить классы из rom.classes. Самому надо написать обвязку, правильно всё инициализировать и вызвать.

Я прошёл оба варианта. Если есть планы его патчить в бинарном виде, то лучше идти первым путём, там понятно где конкретно что в файле лежит. Вторым путём получается больше информации, но нет конкретных смещений в файле и нужны куски J9 SDK.

zerbino » Ср окт 01, 2014 12:50 am

а как вообще дебажить ром класес?
т.е. так перевести его в код как выше?
я его давно видел, но как копать - понятия не имею

lsd.jxe / rom.classes

unbe » Вт сен 30, 2014 11:47 am

Кто-нибудь уже разбирал кишки rom.classes? Неужели я первый? Вопросы на форуме есть, а ответов нет.

Кусок для затравки с каким-то VIN внутри:

Name: run
Signature: ()V
Access Flags (30001): public (vtable)


0 ldc2lw 26 (long) 0x00000000000007D0
3 invokestatic 7 java/lang/Thread.sleep(J)V
6 goto 14
9 pop
10 invokestatic 8 java/lang/Thread.interrupted()Z
13 pop
14 aload0getfield
15 getfield 14 de/audi/tghu/redengineering/app/g.c Lde/audi/tghu/redengineering/app/FSCViewer;
18 new 25 org/dsi/ifc/cryptomanagerhmi/SFscDetails
21 dup
22 aload0getfield
23 getfield 15 de/audi/tghu/redengineering/app/g.a Lorg/dsi/ifc/cryptomanagerhmi/SFscStatus;
26 invokevirtual 17 org/dsi/ifc/cryptomanagerhmi/SFscStatus.getSwid()I
29 aload0getfield
30 getfield 15 de/audi/tghu/redengineering/app/g.a Lorg/dsi/ifc/cryptomanagerhmi/SFscStatus;
33 invokevirtual 18 org/dsi/ifc/cryptomanagerhmi/SFscStatus.getState()I
36 aload0getfield
37 getfield 14 de/audi/tghu/redengineering/app/g.c Lde/audi/tghu/redengineering/app/FSCViewer;
40 aload0getfield
41 getfield 16 de/audi/tghu/redengineering/app/g.b I
44 invokestatic 12 de/audi/tghu/redengineering/app/FSCViewer.a(Lde/audi/tghu/redengineering/app/FSCViewer;I)Z
47 ifeq 56
50 sipush 128
53 goto 57
56 iconst0
57 i2s
58 aload0getfield
59 getfield 14 de/audi/tghu/redengineering/app/g.c Lde/audi/tghu/redengineering/app/FSCViewer;
62 aload0getfield
63 getfield 16 de/audi/tghu/redengineering/app/g.b I
66 invokestatic 12 de/audi/tghu/redengineering/app/FSCViewer.a(Lde/audi/tghu/redengineering/app/FSCViewer;I)Z
69 ifeq 77
72 ldc 1 (java.lang.String) "WAUZZZ8K99A123456
74 goto 79
77 ldc 2 (java.lang.String) "---
79 aload0getfield
84 getfield 16 de/audi/tghu/redengineering/app/g.b I
87 invokestatic 12 de/audi/tghu/redengineering/app/FSCViewer.a(Lde/audi/tghu/redengineering/app/FSCViewer;I)Z
90 ifeq 98
93 ldc 3 (java.lang.String) "200806231015+0100
95 goto 100
98 ldc 2 (java.lang.String) "---
100 invokespecial 21 org/dsi/ifc/cryptomanagerhmi/SFscDetails.<init>(IISLjava/lang/String;Ljava/lang/String ;) V
103 invokevirtual 19 de/audi/tghu/redengineering/app/FSCViewer.fscDetails(Lorg/dsi/ifc/cryptomanagerhmi/SFscDetails ;) V
106 return0
107 nop

Вернуться к началу