eXeL@B —› Основной форум —› Нужен ARM7 специалист |
Посл.ответ | Сообщение |
|
Создано: 17 августа 2010 15:17 · Личное сообщение · #1 |
|
Создано: 17 августа 2010 17:18 · Личное сообщение · #2 |
|
Создано: 17 августа 2010 17:26 · Личное сообщение · #3 |
|
Создано: 20 августа 2010 15:34 · Личное сообщение · #4 |
|
Создано: 20 августа 2010 18:27 · Личное сообщение · #5 |
|
Создано: 20 августа 2010 20:22 · Поправил: neomant · Личное сообщение · #6 |
|
Создано: 20 августа 2010 20:25 · Личное сообщение · #7 r_e пишет: Есть кусок кода Code: ROM:00005A7C 06 10 A0 E1 MOV R1, R6ROM:00005A80 05 00 A0 E1 MOV R0, R5ROM:00005A84 C9 EC FF EB BL dword_DB0 при этом Code: ROM:00000DB0 00 00 00 28 dword_DB0 DCD 0x28000000 блок данных, что противоречит коду. Переход должен быть на код.Где искать ошибку? В ДНК Это вызов функции через указатель. По адресу 28000000 должен быть код, куда оно переходит. Видимо база иды составлена не до конца: не догружены нужные куски, или не найден ремаппинг и не созданы все сегменты. ----- Реверсивная инженерия - написание кода идентичного натуральному |
|
Создано: 20 августа 2010 22:30 · Личное сообщение · #8 neomant C9 EC FF EB : Offset = (-0xFFECC9 << 2) => Addr = 0xDA8 Думаю, что ида корректно адресацию считает. Hexxx Шутник, в каком руководстве имеется информация по вызовам в арме через указатель? Видел только B[cond] label B[cond] Rm Ремаппинг там только sdram в нулевую базу, но это в базе иды видно. По поводу остальных кусков - поищу, но код там не прослеживается. Может содрали бинарь криво. p.s. Стучал тебе в асю, но как-то глухо. ----- старый пень |
|
Создано: 21 августа 2010 13:12 · Поправил: Hexxx · Личное сообщение · #9 r_e пишет: в каком руководстве имеется информация по вызовам в арме через указатель? В руководстве под названием "я реверсил Си и видел как оно выглядит в ARM ассемблере" Этот кусок ассемблера аналогичен: Code:
Я вообще о том, что там код инициализации должен копировать куски кода в RAM. И это ида не распознает. Это надо самому найти и создать правильный сегмент. Либо действительно дамп - неполный. Ну или просто сама база иды создана неправильно, код загружен на неправильный базовый адрес. Или вообще это может быть прыжок в IROM. В общем без примера гадать можно долго. ----- Реверсивная инженерия - написание кода идентичного натуральному |
|
Создано: 21 августа 2010 17:30 · Личное сообщение · #10 в армах я не специалист но в mips есть такая мулька, что IDA не корректно вычисляет всякие под вызовы и переходы там переходы вычисляются относительно текущей инструкции например + переход = правильно а IDA хапает сразу переход = в космос я к чему говорю может и в ARM тоже так же криво IDA вычисляет переходы |
|
Создано: 21 августа 2010 18:53 · Личное сообщение · #11 Hexxx Твой код будет ассемблирован, скорее всего, в регистровый вызов. Как-то так Code:
а в указанном выше Code:
Код должен начинаться c DB0. Смотри ПМ. reversecode В арме тоже смещения относительные. Считал руками - все правильно вычисленно. ----- старый пень |
|
Создано: 23 августа 2010 16:33 · Личное сообщение · #12 |
|
Создано: 23 августа 2010 17:48 · Личное сообщение · #13 |
|
Создано: 23 августа 2010 22:39 · Личное сообщение · #14 |
|
Создано: 24 августа 2010 00:11 · Личное сообщение · #15 |
|
Создано: 24 августа 2010 13:33 · Личное сообщение · #16 |
|
Создано: 27 августа 2010 15:08 · Поправил: 4kusNick · Личное сообщение · #17 А никто не пробовал ? added А, оно только под идой 5.7 работает..=\ ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 27 августа 2010 15:19 · Личное сообщение · #18 |
|
Создано: 28 августа 2010 15:29 · Личное сообщение · #19 |
eXeL@B —› Основной форум —› Нужен ARM7 специалист |