Как найти адрес в hex редакторе

  • 2 Фев 2006

Как найти нужную ячейку в NEX редакторе?
Нужно прочитать содержимое конкретного адреса.Для примера адрес 0025, и его содержимое в десятичном формате.Разжуйте пожалуйста… :cry:

  • 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

Более наглядно :)

1_154.jpg

  • 20 Фев 2006

Спасибо! Поковырялся,разобрался,нашел где ” собака зарыта “.

  • 23 Окт 2006

:help: Где можно скачать nex редактор.

  • 23 Окт 2006

Bano, наверно не “nex редактор”, а HEX-редактор …
Их в инете полно, найди через поисковик.

  • 29 Окт 2006

А может скажеш где скачать. Сижу 3 дня и не нашёл. :help:

  • 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/
так что спасибо, не нужно :) .

  • solfi

    Junior Member

    • Регистрация: 09 2011
    • Сообщений: 3

    Здравствуйте, в иде имеем адрес фикции 00411D57 которую нужно занопить. В hex редакторе открываем экзешник, ищем 00411D57 но его нет, как найти функцию в экзешнике по адресу 00411D57. Спасибо.

  • reversecode

    Junior Member

    • Регистрация: 02 2008
    • Сообщений: 4815

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

    Комментарий

  • VodoleY

    Junior Member

    • Регистрация: 07 2008
    • Сообщений: 1519

    solfi от твоего адреса надо отнять имедж бейз, думаю что это 40 0000 в целом reversecode прав. хотябы азы прочтите

    Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме….

    Комментарий

  • rmn

    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));
    }

    Комментарий

  • solfi

    Junior Member

    • Регистрация: 09 2011
    • Сообщений: 3

    reversecode
    А хьюв это какой редактор?
    Использую скачанный с этого сайта http://www.cracklab.ru/thumb.php?src=/_dl1/i/ODQ1.png

    VodoleY
    Что то с ImageBase’ом не получается, он вроде как 4000000, а не 400.000 http://stackoverflow.com/questions/3740976/about-imagebase-of-exe-in-windows но если отнять 4000000 от 00411D57 получается минусовое число, что-то не то…

    Комментарий

  • Veliant

    Junior Member

    • Регистрация: 11 2005
    • Сообщений: 931

    Для перевода отнимается ImageBase, вычитается виртуальны адрес начала секции, прибавляется физический.
    Reversecode правильно посоветовал, в hiew можно сразу по виртуальным переходить по F5 с точкой вначале адреса.

    Но проще на мой взгляд скопировать hex-данные по этому адресу и вбить в поиск в редакторе

    Сообщение от solfi

    но если отнять 4000000 от 00411D57 получается минусовое число

    а ты посчитай количество нулей у тебя, и сколько посоветовали

    Комментарий

  • DimitarSerg

    radical

    • Регистрация: 04 2010
    • Сообщений: 978

    А еще проще (лично для меня) – пропатчить в Оле(адрес будет тот же).

    Кому нужно – найдете меня в телеграме Всем спасибо за эти 10 лет.

    Комментарий

  • PE_Kill

    Шаман

    • Регистрация: 12 2005
    • Сообщений: 3919

    Для этих целей есть FLC в PE Tools.

    А по большому счету ТС не шаред.

    Yann Tiersen best and do not fuck

    Комментарий

  • solfi

    Junior Member

    • Регистрация: 09 2011
    • Сообщений: 3

    Парни, может есть прога какая, или что самописное, высчитывающее офсет в файле из виртуального… заморачиваться формулами высчитывания не хочется…

    Комментарий

  • PE_Kill

    Шаман

    • Регистрация: 12 2005
    • Сообщений: 3919

    solfi для особо тупых повторю:

    Сообщение от PE_Kill

    Для этих целей есть FLC в PE Tools.

    Yann Tiersen best and do not fuck

    Комментарий

  • vden

    Junior Member

    • Регистрация: 04 2011
    • Сообщений: 317

    Сообщение от solfi

    в иде имеем адрес

    фикции

    00411D57

    Поставь курсор на 411D57 и посмотри в статусбаре смещение.

    Комментарий

  • BoRoV

    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



Ушел с форума

Автор FAQ

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



Ушел с форума

Автор FAQ

15881 / 7457 / 1010

Регистрация: 11.11.2010

Сообщений: 13,439

07.03.2013, 14:41

4

sychyov1991,
просто hiew управляет человек и если этот человек sychyov1991, то тут наступает путаница



0



0 / 0 / 0

Регистрация: 04.03.2013

Сообщений: 8

07.03.2013, 14:49

 [ТС]

5

ну как говорится с опытом ни кто не рождается)) я то разберусь в любом случае. Если подскажешь как правильно им управлять я только За!



0



Ушел с форума

Автор FAQ

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

Не по теме:

Цитата
Сообщение от Mikl___
Посмотреть сообщение

sychyov1991,
разбирайся, я тоже за! :good:

какой-то ты не дружелюбный :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, а где 1.
Скиньте файлик, интересно=)

заодно скажите что где поменять=)



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 секунд
sychyov1991, а какой контроллер стоит на… самаре?=)
И какие размеры есть?



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 секунд – начало записи файла. Необходимо найти и отредактировать время конца записи файла (он где-то в середине файла). Он известен и представлен в таком же виде. Как его найти?

Голосование за лучший ответ

Добавить комментарий