- 2 Фев 2006
Как найти нужную ячейку в NEX редакторе?
Нужно прочитать содержимое конкретного адреса.Для примера адрес 0025, и его содержимое в десятичном формате.Разжуйте пожалуйста…
- 6 Фев 2006
Если в NEX редакторе, то зачем тебе десятичный формат – все цифры шеснадцатеричные (HEX), если надо переведи в десятичные в калькуляторе.
Твоя строка (если в HEX формате) будет выглядеть так:
…….
0020 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0030 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
…….
…….
0020 – адрес, значения в 16-ти ячейках произвольные, но я поставил в них адреса которым они соответствуют.
Твоя ячейка с адресом 0025 – имеет значение 05 .
Если еще непонятно то:
0020 00
0021 01
0022 02
0023 03
0024 04
0025 05 – она твоя
0026 06
0027 07
0028 08
0029 09
002A 0A
002B 0B
002C 0C
002D 0D
002E 0E
002F 0F
и т.д.
Всего доброго.
- 6 Фев 2006
Более наглядно
- 20 Фев 2006
Спасибо! Поковырялся,разобрался,нашел где ” собака зарыта “.
- 23 Окт 2006
Где можно скачать nex редактор.
- 23 Окт 2006
Bano, наверно не “nex редактор”, а HEX-редактор …
Их в инете полно, найди через поисковик.
- 29 Окт 2006
А может скажеш где скачать. Сижу 3 дня и не нашёл.
- 29 Окт 2006
Bano, ссылка скрыта от публикации
- 29 Окт 2006
ИМХО, WinHex один из самых лучших. Или в гугле – “hex editor”, к примеру
- 29 Окт 2006
- 29 Окт 2006
voldemar71, UltraEdit-32 лучше, и весит не очень много
- 30 Окт 2006
Vasilij, каждому своё. я, вообще юзал windhex32 – простой, маленький, бесплатный и не требует инсталляции, при этом имеет много чего полезного (для своих размеров). В некоторых довольно УЗКИХ кругах он находит достаточно ШИРОКОЕ применение, например, при переводе приставочных игр…
- 30 Окт 2006
voldemar71, я имел ввиду- больше функций, хотя и WinHex тоже присутствует, смотря для чего. Когда на верстакЕ лежит пара молотков, и они не мешают друг другу, то пусть будут
- 30 Окт 2006
Vasilij, хорошая штука . Пришлось, правда, сходить ссылка скрыта от публикации (да простят меня модераторы) – платный, зараза
- 30 Окт 2006
понятно , я его брал где то в более приличном месте…
Есть еще MultiEdit, проггеры хвалят, но он где то под 30 МВ, и я его на своем мопеде не разыскивал..
- 31 Окт 2006
- 31 Окт 2006
Aliaksandr, да дело не в инструкции, а в самой проге, качать модемом долго , да и указанных двух в принципе пока хватает.
- 31 Окт 2006
Vasilij, Напишите конкретную ссылку для скачивания,
Я скачаю и выложу в обменник Программы.
- 31 Окт 2006
Aliaksandr,
a) я знаю где он лежит(или лежал), и мог(у) взять прямо оттуда;
б) у него размер, если не изменяет память, около 26 МЕГАБАЙТ , это довольно приличный объем
как для обменника, так и для большинства пользователей, которые сидят на модемах.
в)тематика этого софтА не совсем отвечает тематике форума, к тому же, он платный см:
https://monitor.net.ru/forum/threads/44817/
так что спасибо, не нужно .
-
Junior Member
- Регистрация: 09 2011
- Сообщений: 3
Здравствуйте, в иде имеем адрес фикции 00411D57 которую нужно занопить. В hex редакторе открываем экзешник, ищем 00411D57 но его нет, как найти функцию в экзешнике по адресу 00411D57. Спасибо.
-
Junior Member
- Регистрация: 02 2008
- Сообщений: 4815
если в хьюве то перед адрессом нужно набрать точку .
а вообще хелп читайте по каждому отдельно взятому редакторуКомментарий
-
Junior Member
- Регистрация: 07 2008
- Сообщений: 1519
solfi от твоего адреса надо отнять имедж бейз, думаю что это 40 0000 в целом reversecode прав. хотябы азы прочтите
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме….
Комментарий
-
Junior Member
- Регистрация: 04 2005
- Сообщений: 760
Сообщение от VodoleY
от твоего адреса надо отнять имедж бейз, думаю что это 40 0000
чтобы перевести VA в File Offset, недостаточно только отнять ImageBase
Код:
DWORD CPEFile::RVA2FileOffset(DWORD RVA) { ... for (i=0; iFileHeader.NumberOfSections; i++) { if ((RVA >= m_pSectionHeaders[i].VirtualAddress) && (RVA < m_pSectionHeaders[i].VirtualAddress + m_pSectionHeaders[i].SizeOfRawData)) { return m_pSectionHeaders[i].PointerToRawData + (RVA - m_pSectionHeaders[i].VirtualAddress); } } ... return (DWORD)-1; } //------------------------------------------------------------------------ DWORD CPEFile::VA2FileOffset(DWORD VA) { return RVA2FileOffset(VA2RVA(VA)); }
Комментарий
-
Junior Member
- Регистрация: 09 2011
- Сообщений: 3
reversecode
А хьюв это какой редактор?
Использую скачанный с этого сайта http://www.cracklab.ru/thumb.php?src=/_dl1/i/ODQ1.pngVodoleY
Что то с ImageBase’ом не получается, он вроде как 4000000, а не 400.000 http://stackoverflow.com/questions/3740976/about-imagebase-of-exe-in-windows но если отнять 4000000 от 00411D57 получается минусовое число, что-то не то…Комментарий
-
Junior Member
- Регистрация: 11 2005
- Сообщений: 931
Для перевода отнимается ImageBase, вычитается виртуальны адрес начала секции, прибавляется физический.
Reversecode правильно посоветовал, в hiew можно сразу по виртуальным переходить по F5 с точкой вначале адреса.Но проще на мой взгляд скопировать hex-данные по этому адресу и вбить в поиск в редакторе
Сообщение от solfi
но если отнять 4000000 от 00411D57 получается минусовое число
а ты посчитай количество нулей у тебя, и сколько посоветовали
Комментарий
-
radical
- Регистрация: 04 2010
- Сообщений: 978
А еще проще (лично для меня) – пропатчить в Оле(адрес будет тот же).
Кому нужно – найдете меня в телеграме Всем спасибо за эти 10 лет.
Комментарий
-
Шаман
- Регистрация: 12 2005
- Сообщений: 3919
Для этих целей есть FLC в PE Tools.
А по большому счету ТС не шаред.
Yann Tiersen best and do not fuck
Комментарий
-
Junior Member
- Регистрация: 09 2011
- Сообщений: 3
Парни, может есть прога какая, или что самописное, высчитывающее офсет в файле из виртуального… заморачиваться формулами высчитывания не хочется…
Комментарий
-
Шаман
- Регистрация: 12 2005
- Сообщений: 3919
solfi для особо тупых повторю:
Сообщение от PE_Kill
Для этих целей есть FLC в PE Tools.
Yann Tiersen best and do not fuck
Комментарий
-
Junior Member
- Регистрация: 04 2011
- Сообщений: 317
Сообщение от solfi
в иде имеем адрес
фикции
00411D57
Поставь курсор на 411D57 и посмотри в статусбаре смещение.
Комментарий
-
retired
- Регистрация: 02 2008
- Сообщений: 2032
Сообщение от rmn
чтобы перевести VA в File Offset, недостаточно только отнять ImageBase
Ну тогда и выравние нужно учитывать.
Лучше быть одиноким, но свободным © $me
Комментарий
0 / 0 / 0 Регистрация: 04.03.2013 Сообщений: 8 |
|
1 |
|
07.03.2013, 14:06. Показов 34932. Ответов 14
Здравствуйте! Я сам по специальности не программист, скорее самоучка)) занимаюсь чип тюнингом автомобилей. Возникла необходимость менять данные в прошивках контролера, в самой прошивке заложены алгоритмы и калибровки. Знаю что их меняют в hex редакторах, но вот как находят нужные данные не могу разобратся. В hiew в отличии от IDA, показывается мнемоники и операнды байтов но чтот сомневаюсь в их достоверности( подскажите хоть куда капать в гугле ничего толком не могу найти
0 |
Ушел с форума 15881 / 7457 / 1010 Регистрация: 11.11.2010 Сообщений: 13,439 |
|
07.03.2013, 14:24 |
2 |
если есть сомнения в достоверности “hex редакторов” то какие уверенности в правдивости “гугла и тех, кто ответит на этот запрос”? То что ты в этом не можешь разобраться критерием не является…
0 |
0 / 0 / 0 Регистрация: 04.03.2013 Сообщений: 8 |
|
07.03.2013, 14:33 [ТС] |
3 |
просто как я понял hiew может принять обычную букву за команду в этом то путаница
0 |
Ушел с форума 15881 / 7457 / 1010 Регистрация: 11.11.2010 Сообщений: 13,439 |
|
07.03.2013, 14:41 |
4 |
sychyov1991,
0 |
0 / 0 / 0 Регистрация: 04.03.2013 Сообщений: 8 |
|
07.03.2013, 14:49 [ТС] |
5 |
ну как говорится с опытом ни кто не рождается)) я то разберусь в любом случае. Если подскажешь как правильно им управлять я только За!
0 |
Ушел с форума 15881 / 7457 / 1010 Регистрация: 11.11.2010 Сообщений: 13,439 |
|
07.03.2013, 14:50 |
6 |
sychyov1991,
0 |
0 / 0 / 0 Регистрация: 04.03.2013 Сообщений: 8 |
|
07.03.2013, 14:55 [ТС] |
7 |
так и думал)))
0 |
608 / 406 / 8 Регистрация: 26.04.2012 Сообщений: 2,065 |
|
07.03.2013, 15:12 |
8 |
Не по теме:
sychyov1991, какой-то ты не дружелюбный :jokingly: sychyov1991, а что Вам собсно не понятно? в компьютере все представляется в виде чисел (точнее в виде двоичных чисел, а еще точнее в виде “высокий уровень напряжения” и “низкий уровень напряжения”), хоть буквы, хоть команды для процессора – все числа. поэтому нет разницы в командах и буквах, процессор запросто проглотит если ему на выполнение подсунуть ‘ABCDEF’, вот только что эти команды будут делать (если вообще что-то будут делать). хиев – это вообще полезная штука. он может по-разному просматривать файлы: в виде хекс-кода, в виде двоичного кода, дизассемблированный листиг. если вы откроете в нем текстовый файл и скажете показать в виде ассемблерных команд, то он будет пытаться представлять текст в виде команд процессора. Вы поконкретнее вопрос задайте, ато не совсем ясно что Вам не ясно а как найти нужные данные в незнакомом файле – задача не из простых… если искать строки – ничего сложного. а вот искать нужный участок кода прошивки – это
тяжело…
0 |
0 / 0 / 0 Регистрация: 04.03.2013 Сообщений: 8 |
|
07.03.2013, 15:42 [ТС] |
9 |
хорошо попробую уточнить. Прошивка представляет из себя бинарный файл 64 кб которая вшивается в контроллер управлением двигателя. В прошивке находятся двух, трехмерные таблицы калибровок и алгоритмы( матем формулы) для работы с ними. Понимайте мой вопрос заключается не в том чтобы найти в конкретной прошивке конкретную переменную а в том как “разглядеть” эти таблицы и алгоритмы из всей этой матрицы байтов Добавлено через 4 минуты
0 |
1 / 1 / 0 Регистрация: 02.03.2013 Сообщений: 24 |
|
07.03.2013, 17:21 |
10 |
Я может чего-то не знаю, но как я понял, у вас есть все данные о прошивке? Типа первый байт версия, второй и третий не используются, четвертый-шестьдесят четвертый – первая таблица… и тп? заодно скажите что где поменять=)
0 |
608 / 406 / 8 Регистрация: 26.04.2012 Сообщений: 2,065 |
|
07.03.2013, 17:37 |
11 |
да, а файлик бы не помешал. вот только если там система команд отличная от х86, то боюсь хиев фигово их покажет…
0 |
Клюг 7673 / 3188 / 382 Регистрация: 03.05.2011 Сообщений: 8,380 |
|
07.03.2013, 19:38 |
12 |
Есть такой STL/Structure Look – ноне позабытый, он очень полезный просмотрщик структур. Автор – создатель hiew, SEN, В аттаче.
1 |
0 / 0 / 0 Регистрация: 04.03.2013 Сообщений: 8 |
|
07.03.2013, 19:52 [ТС] |
13 |
_alexey, не все к сожалению( только размеры. а вот и пример виновникА)) J5v03l25.rar
0 |
1 / 1 / 0 Регистрация: 02.03.2013 Сообщений: 24 |
|
07.03.2013, 20:00 |
14 |
sychyov1991, а какой контроллер стоит на… самаре?=) Добавлено через 5 секунд
0 |
0 / 0 / 0 Регистрация: 04.03.2013 Сообщений: 8 |
|
07.03.2013, 20:04 [ТС] |
15 |
Январь 5.1 2111 -1411020-61 основная часть это таблицы для каждого параметра по 256 байт
0 |
Поиск адресов и включение MODE 23 EcuFlash
Если кто не знает что такое mode23 и для чего он нужен то ищете в любой поисковой системе, все подробно описано.
Нам понадобится:
EcuFlash
xvi32 HEX редактор
Редактор для XML, Я использовал XPAD
Если отсутствует XML файл то для начала находим значение ROM ID
открываем в HEX редакторе прошивку и жмем adrress – goto… переходим по адресу 0x5002A
RomId выбранной мной прошивке 52 31 00 03
romid
Создаем базовый XML файл
<rom>
<romid>
<xmlid>52310003</xmlid>
<internalidaddress>5002a</internalidaddress>
<internalidhex>52310003</internalidhex>
<make>Mitsubishi</make>
<model>Lancer</model>
<submodel>4B11</submodel>
<market>EDM</market>
<transmission>5MT</transmission>
<year>2008</year>
<flashmethod>mitsucan</flashmethod>
<memmodel>M32186F8</memmodel>
<checksummodule>mitsucan</checksummodule>
</romid>
<!– * Scaling * –>
<scaling name=”ECU ID” units=”units” toexpr=”x” frexpr=”x” format=”%08x” min=”0″ max=”1e+08″ inc=”1″ storagetype=”uint32″ endian=”big”/>
<!– *** ECU ID *** –>
<table name=”ECU ID” address=”5002a” category=”ECU ID” type=”1D” scaling=”ECU ID”/>
</rom>
Сохраняем как .XML и помещаем в папку rommetadata EcuFlash. Или просто добавляем запись в готовый XML.
Теперь прошивка откроется в ECUflash.
Включение MODE23
Для включения mode23 необходимо найти 2 адреса в ПЗУ
Для этого в Hex редакторе жмем Search/Find и ищем 65056606B0050042
В прошивке есть только один адрес 65056606B0050042 если Вы нашли больше то остановитесь, продолжать не стоит.
Определение для mode 23
<table name=”IFMode 0x05 -> 0x23 #1″ address=”address 1″ category=”Mode23″ type=”1D” scaling=”Hex8″/>
<table name=”IFMode 0x05 -> 0x23 #2″ address=”address 2 part 1″ category=”Mode23″ type=”1D” scaling=”Hex8″/>
<table name=”DoMode 0x42 -> 0x52″ address=”address 2 part 2″ category=”Mode23″ type=”1D” scaling=”Hex16″/>
Нам нужно найти 3 адреса, приведенная выше ячейка содержит в себе 2 адреса address2 part1 и address2 part2
Нам нужна 2я ячейка со значение 05 (address2part1) и 7я ячейка со значением 00 (address2part2)
Теперь нам нужно найти address1, для этого в Hex ищем 65056606.
Мы видим что это часть address2, но в файле данный адрес встречается 2 раза до и после address2
Нам нужен ДО.
Из опыта все address1 в диапазоне 7xxxx и все addess2 в диапазоне 8xxxx.
Мы нашли необходимые адреса, давайте посмотрим как это должно выглядеть для ROM ID 52 31 00 03
<table name=”IFMode 0x05 -> 0x23 #1″ address=”7D6A1″ category=”Mode23″ type=”1D” scaling=”Hex8″/>
<table name=”IFMode 0x05 -> 0x23 #2″ address=”88A61″ category=”Mode23″ type=”1D” scaling=”Hex8″/>
<table name=”DoMode 0x42 -> 0x52″ address=”88A66″ category=”Mode23″ type=”1D” scaling=”Hex16″/>
Вот как должен выглядеть готовый XML файл
<rom>
<romid>
<xmlid>52310003</xmlid>
<internalidaddress>5002a</internalidaddress>
<internalidhex>52310003</internalidhex>
<make>Mitsubishi</make>
<model>Lancer</model>
<submodel>4B11</submodel>
<market>EDM</market>
<transmission>5MT</transmission>
<year>2008</year>
<flashmethod>mitsucan</flashmethod>
<memmodel>M32186F8</memmodel>
<checksummodule>mitsucan</checksummodule>
</romid>
<!– * Scaling * –>
<scaling name=”ECU ID” units=”units” toexpr=”x” frexpr=”x” format=”%08x” min=”0″ max=”1e+08″ inc=”1″ storagetype=”uint32″ endian=”big”/>
<scaling name=”Hex8″ units=”hex” toexpr=”x” frexpr=”x” format=”%02X” min=”0″ max=”255″ inc=”1″ storagetype=”uint8″ endian=”big”/>
<scaling name=”Hex16″ units=”hex” toexpr=”x” frexpr=”x” format=”%04X” min=”0″ max=”65535″ inc=”1″ storagetype=”uint16″ endian=”big”/>
<!– *** ECU ID *** –>
<table name=”ECU ID” address=”5002a” category=”ECU ID” type=”1D” scaling=”ECU ID”/>
<!– * Mode23 * –>
<table name=”IFMode 0x05 -> 0x23 #1″ address=”7D6A1″ category=”Mode23″ type=”1D” scaling=”Hex8″/>
<table name=”IFMode 0x05 -> 0x23 #2″ address=”88A61″ category=”Mode23″ type=”1D” scaling=”Hex8″/>
<table name=”DoMode 0x42 -> 0x52″ address=”88A66″ category=”Mode23″ type=”1D” scaling=”Hex16″/>
</rom>
Чтобы включить Mode23 открываем вашу прошивку в Ecuflash и изменить значения 05 -> 23 и 0042 -> 0052. Сохранить и записать в ECU.
Все вышесказанное просто перевод на Русский язык, в качестве примера использовал прошивку со своего атмосферного ECU.
Думаю данная информация окажется полезной многим, особенно владельцам 4B10-12.
Теперь можете записывать полноценные логи с помощью EvoScan’a.
BestIdler
Знаток
(431),
на голосовании
7 лет назад
Как найти последовательность данных, точнее последовательность ячеек с содержащимися в них данными в hex-редакторе (и в каком лучше). Пример: файл размером в несколько мегабайт. В файле есть данные – дата создания файла, время начала записи файла, время конца записи, табельный номер человека производившего запись, его фамилия и инициалы. Строка в hex-редакторе выглядит как :
07 00 00 00 00 28 30 11 03 13 09 15 00 10 95 FA 6E – где 13 09 15 – это 13.09.15 дата, а 28 30 11 – это 11часов 30минут 28 секунд – начало записи файла. Необходимо найти и отредактировать время конца записи файла (он где-то в середине файла). Он известен и представлен в таком же виде. Как его найти?
Голосование за лучший ответ