FORUM Carcd

FORUM Carcd (https://carcd.ru/forum/index.php)
-   Серийные и тюнинговые прошивки ЭБУ (https://carcd.ru/forum/16/)
-   -   Диассемблировал ... нужна помощь (https://carcd.ru/forum/16/thread336/)

Alex (2112) 23.06.2004 10:12

Диассемблировал ... нужна помощь
 
Диассемблировал прошивку и не понял:



- где точка входа, первые две команды длинного перехода:

- адрес: 0000h: ljmp 2085h

- адрес: 0003h: ljmp 0798h

- может что-то не так диассемблировалось, но если правильно то куда ведут эти адреса, что по этим адресам происходит, не логично как то получается, зачем делать переход в самом начале.



- при диассемблировании, диассемблировалась и контрольная сумма с дополнением, есть предположение, что там где находятся калибровки диассемблер их тоже диассемблировал. В итоге получилось, что калибровки и код перемешаны, честно говоря я думал что они иду последовательно сначала код, а затем калибровки.

Эксперты подскажите я ничего не путаю...а...



- да и чуть не забыл в конце кода, диассемблер выдал какието эквиваленты, например:

INTMEM:0000 .equ INTMEM_0,0 ; DATA XREF: seg000:04CBr

INTMEM:0000 ; seg000:0786w ...

Честно говоря не совсем понял что это...



-А также ещё вот такая штука:

SFR:0086 .equ SFR_86,0x86 ; DATA XREF: seg000:2092w

SFR:0086 ; seg000:21CBw ...

Тоже не знаю что это...., где квадратики это стрелочки вверх или вниз.

Спасибо всем кто откликнется ...

С уважением Alex (2112)

emmibox 23.06.2004 10:52

Re: Диассемблировал ... нужна помощь
 
Цитата:

Диассемблировал прошивку и не понял:



- где точка входа, первые две команды длинного перехода:

- адрес: 0000h: ljmp 2085h

- адрес: 0003h: ljmp 0798h


0 - точка входа.

Цитата:

- может что-то не так диассемблировалось, но если правильно то куда ведут эти адреса, что по этим адресам происходит, не логично как то получается, зачем делать переход в самом начале.
скачай на infineon.com мануал на c509lm и кури его в пунктах "векторы прерываний".

Цитата:

- при диассемблировании, диассемблировалась и контрольная сумма с дополнением, есть предположение, что там где находятся калибровки диассемблер их тоже диассемблировал.
В таких случаях принято указывать какой дизассемблер использовался.

Цитата:

В итоге получилось, что калибровки и код перемешаны, честно говоря я думал что они иду последовательно сначала код, а затем калибровки.
так и есть. Код (управление) потом калибровки. потом снова код (диагностика).

Цитата:

Эксперты подскажите я ничего не путаю...а...



- да и чуть не забыл в конце кода, диассемблер выдал какието эквиваленты, например:

INTMEM:0000 .equ INTMEM_0,0 ; DATA XREF: seg000:04CBr

INTMEM:0000 ; seg000:0786w ...

Честно говоря не совсем понял что это...



-А также ещё вот такая штука:

SFR:0086 .equ SFR_86,0x86 ; DATA XREF: seg000:2092w

SFR:0086 ; seg000:21CBw ...

Тоже не знаю что это...., где квадратики это стрелочки вверх или вниз.

Спасибо всем кто откликнется ...

С уважением Alex (2112)


Если бы ты сказал что за дизассемблер и где ты его взял - возможно это было-бы более понятно.



вот лучше посмотри

Alex (2112) 23.06.2004 11:13

IDA - The Interactive Disassembler

Version 4.1.5.520



Скачал его с Teamrs



З.Ы.: ну неоткуда было больше...

Alex (2112) 23.06.2004 11:16

Для Emmibox, может подскажешь какой лучше диассемблер использовать в моём случае...



С уважением Alex (2112)

emmibox 23.06.2004 11:17

Ида в данном случае катит только как средство для начинающих изучение. Там есть нескоторые геморои с загрузкой. Когда будешь серьъезно заниматся - напишешь свой дизасм.

emmibox 23.06.2004 11:28

И еще начинать надо не с дизассемблирования прошивки а с создания логической схемы контроллера. Для этого скачиваются PDF на все без исключения микросхемы находящиеся в контроллере и отрисовываются цепи: порт микропроцессора - драйвер (или cхема) - разъем контроллера -назначение пина... Сделать это надо для каждого порта микропроцессора и для каждого вывода разъема, чтоб потом представлять какой участок программы отвечает за какой драйвер и как связаны сигналы на входах-выходах разъема контроллера с соответствующими портами микропроцессора. Например какие делители стоят в цепях АЦП, за что отвечает каждый канал АЦП...

romik 23.06.2004 11:38

Цитата:

И еще начинать надо не с дизассемблирования прошивки а с создания логической схемы контроллера. Для этого скачиваются PDF на все без исключения микросхемы находящиеся в контроллере и отрисовываются цепи: порт микропроцессора - драйвер (или cхема) - разъем контроллера -назначение пина... Сделать это надо для каждого порта микропроцессора и для каждого вывода разъема, чтоб потом представлять какой участок программы отвечает за какой драйвер и как связаны сигналы на входах-выходах разъема контроллера с соответствующими портами микропроцессора. Например какие делители стоят в цепях АЦП, за что отвечает каждый канал АЦП...


Не забывай, что фирма Бош "позаботилась" об этом, и на всех микрухах стоит внутренняя маркировка. С Январями, конечно, легче.



Кстати, схемы контроллеров бродят в инете, может у кого есть?

romik 23.06.2004 15:42

О! Спасибо! :drink:

emmibox 23.06.2004 15:50

Да за схемы - большой РЕСПЕКТ! http://www.carcd.ru/forum/public/sty..._DIR#>/119.gif Не знаю как микас а от января реал схема.

AMARANTINE 23.06.2004 15:56

Сейчас многочлены ССТ быстренько скачают http://www.carcd.ru/forum/public/sty...#>/biggrin.gif

а потом у себя втихоря начнут раздовать своим,

но ладно бы качали,а то потом будут орать и обвинять всех в воростве :twisted:

letchik 23.06.2004 15:59

Цитата:

Да за схемы - большой РЕСПЕКТ! http://www.carcd.ru/forum/public/sty..._DIR#>/119.gif Не знаю как микас а от января реал схема.


Ну вот ,а ты ее на коленке рисовал http://www.carcd.ru/forum/public/sty...IR#>/smile.gif

emmibox 23.06.2004 16:03

Ну так надо было - потому и рисовал. отрисованная свое дело сделала, по ней софт писался, присирались датчики и вообще всякие исследования производились. Хотя у меня нарисованно процентов 60 всего.

Vasilich 23.06.2004 16:14

Обалденная вещь, спасибо большое.

AMARANTINE 23.06.2004 16:18

АВТОВАЗ нас здесь всех убьет.:twisted:

Схемы для Января-5.1 и МИКАС 7.1 лежат на FTP здесь Тех_документаци/По_модел/ВАЗ/

Качайте оттуда!!!

emmibox 23.06.2004 16:25

ващет авторские права на эту хрень принадлежат АО ЭЛКАР, а с учетом того что блоки сняты с пр-ва думаю всем по большому барабану, к тому-же схема не есть вещь секретная и может быть срисованна с платы при должном усердии http://www.carcd.ru/forum/public/sty...#>/biggrin.gif

Alex (2112) 24.06.2004 08:32

Для emmibox:



Я не знаю чем ты диассемблировал прошивку, но более удачного листинга я ещё не видел...



Не подскажешь как тарируются датчики, вопрос возник из за того, что меняя один параметр тарировочной кривой, то меняются все значения кривой... Они что по какому то мат закону все связаны...



С какой целью в 2001 году прошивку разбирал ... ну просто интересно...



Кстати ты одну прошивку только диассемблировал ... спрашиваю потому, что интересно как с выпуском новых версий прошивки менялся код...



С уважением Alex (2112)



P.S.: Считаешь что поставить ДАД дурацкая идея...

Alex (2112) 24.06.2004 08:53

emmibox: а ты после диассемблера что нибудь правил ... или такой крутой алгоритм диассемблирования разработал для своего диассемблера... я так понял.



;ЪДДДДДДДДДДДДДДДДДДДДДДД ДДДДДДДДДДДДДДДДї

;і 80c509 Disassembler v1.10 januar-5 і


emmibox 24.06.2004 10:22

Цитата:

Для emmibox:



Я не знаю чем ты диассемблировал прошивку, но более удачного листинга я ещё не видел...
Это спецом заточенный под C509 дизассемблер, он классический 2-х проходный, не интерактивный, написан он в своей базе еще в 1992, недавно я написал кусок который по сигнатурам создает файл определений полей данных под софт j5-vs, остальное делается ручками.



Цитата:

Не подскажешь как тарируются датчики, вопрос возник из за того, что меняя один параметр тарировочной кривой, то меняются все значения кривой... Они что по какому то мат закону все связаны...
О - это очень отдельная тема, связана она как ты понимаешь с глюкавостью софта от СТТ тим. Впрочем я уже упоминал об этом. Речь идет о тарировке ДМРВ я так понимаю ? :roll:



Цитата:

С какой целью в 2001 году прошивку разбирал ... ну просто интересно...
вот и мне просто интересно http://www.carcd.ru/forum/public/sty...DIR#>/wink.gif

Цитата:

Кстати ты одну прошивку только диассемблировал ... спрашиваю потому, что интересно как с выпуском новых версий прошивки менялся код...
Да не проблема дизассемблировать несколько. Только вот я никак не допишу кусок который будет автоматические комментарии ставить. А без него туго...



Цитата:

С уважением Alex (2112)



P.S.: Считаешь что поставить ДАД дурацкая идея...
В массе - да. В одном отдельно взятом случае при наличии навыков знаний и сретств типа j5olt - нет.

Alex (2112) 24.06.2004 10:41

Вот такую структуру я получил:



0000h - 00DDh: Таблица прерываний.

00DEh - 3540h: код.

3541h - 354Ch: данные.

354Dh - 4A59h: код.

4A5Ah - 4A61h: данные.

4A62h - 4DCEh: код.

4DCFh - 4E5Dh: данные.

4E5Eh - 4EF5h: код.

4EF6h - 5F4Fh: данные.

5F50h - 5FABh: данные (константы).

5FACh - 6050h: данные (инфа о версии ПО).

6051h - 6103h: данные (константы).

6104h - B1FFh: данные (калибровки).

B200h - B829h: код.

B82Ah - C0FFh: данные (одни нули).

C010h - C39Bh: код.

C39Ch - C5FFh: данные (вкл инфу о контроллере).

C600h - D974h: код.

D975h - D9B4h: данные.

D9B5h - DBECh: код.

DBEDh - DFFFh: данные (сегмент нулей).

E000h - E6A7h: код.

E6A8h - E6C5h: данные.

E6C6h - F24Dh: код.

F24Eh - FFFFh: данные (сегмент нулей и контрольная сумма).



Может прокомментируешь немного а ... emmibox



З.Ы. Очень хочется ДАД поставить ... но вот лучше кажется мне он чем ДМРВ ... точнее я думаю ... кстати ты говорил о сигнале с ДАД на осциллографе ... что из себя представляет.

romik 24.06.2004 10:50

Эти адреса справедливы для одной конкретной серии софта, и ценности не представляют!

Alex (2112) 24.06.2004 11:14

Относительно кода, насколько верно описан олгаритм работы программы...

Alex (2112) 24.06.2004 11:35

А вот это то что я на диассемблировал ... не правил ... как есть кладу...

romik 24.06.2004 12:18

Обычный результат автоматического анализа сдефолтными коментариями, хотя бы ссылки на калибровки поправил! Дизассемблер он для того интерактивный, чтобы работать головой и руками! Кроме того, IDA не учитывает отличия архитектуры процессора с509 от 8051, и местами "косячит".

emmibox 24.06.2004 12:22

Стоит заметить что в хелпе к ctp3 алгоритм описан более правильно и более полно чем в хелпе к ctp2. но все-же осталось еще немножко тонкостей.

Alex (2112) 24.06.2004 22:24

ПРОСЬБА...



emmibox не поделишся диассемблером собственных разработок ... или не подскажешь что получше можно найти ... у меня есть парочка таких... ещё...

emmibox 04.07.2004 02:55

Не поделюсь! Это инструмент, ничего сложного в нем нет, когда он тебе действительно будет нужен - ты его напишешь. В виде собственного дизассемблера или как плагин на движке IDA. Пока твои листинги говорят о том что ты не используешь и 1% возможностей IDA -следовательно такой дизассемблер тебе не нужен!

Alex (2112) 04.07.2004 14:07

Я знаю ... у меня нет документации по ИРДА...


Текущее время: 20:39. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot