Сейчас на форуме: _MBK_, Adler (+6 невидимых)

 eXeL@B —› Вопросы новичков —› IDA 5.5 и андроидная либа
Посл.ответ Сообщение

Ранг: 2.8 (гость)
Активность: 00.01
Статус: Участник

Создано: 14 сентября 2011 15:21
· Личное сообщение · #1

Никак не могу дизассемблировать. Не хочет ида показывать код правильно. Менял в ручную code32 на code16 половину показала а другую опять пометил как дата. Файлик не большой кто ни будь подскажет как правильно код глянуть или хотя бы уже готовый дизассемблированный код выложит если не трудно?

3582_14.09.2011_EXELAB.rU.tgz - sensors.default.zip




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 14 сентября 2011 15:57
· Личное сообщение · #2

И что мешает разметить данные принудительно как код? И иду взять поновее.



Ранг: 2.8 (гость)
Активность: 00.01
Статус: Участник

Создано: 14 сентября 2011 19:30
· Личное сообщение · #3

IDA 6.1 пробовал, такая же фигня. Делал принудительно. Приходилось принудительно раз 10 показать что здесь code16 только после что то пошло. По моему это не правльный способ И после этого на мой взгляд с начало получалась полная чушь а потом вроде как было похоже на нормальный код. ИДА не хочет нормально с начала стартовой секции дизассемблировать. Вот и подумал может какая защита стоит от этого или еще чего.



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 14 сентября 2011 19:43
· Личное сообщение · #4

Просто выдели массив данных и нажми С. У меня получилось - появился нормальный код.

-----
SaNX




Ранг: 2.8 (гость)
Активность: 00.01
Статус: Участник

Создано: 15 сентября 2011 10:43
· Личное сообщение · #5

Я не спец по арму но делал так открываю просто либу вижу

Code:
  1. .text:00000748                 CODE32
  2. .text:00000748
  3. .text:00000748                 EXPORT start
  4. .text:00000748 start
  5. .text:00000748                 LDRMIB  R2, [R0,-R0]!
  6. .text:0000074C                 BMI     0xD335C
  7. .text:00000750                 ANDCS   R4, R0, R11,ROR R4
  8. .text:00000750 ; ---------------------------------------------------------------------------
  9. .text:00000754 dword_754       DCD 0x47705099, 0x9F8, 0x5C


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

Code:
  1. .text:00000748 start
  2. .text:00000748                 MOVS    R0, #0
  3. .text:0000074A                 BX      LR
  4. .text:0000074C ; ---------------------------------------------------------------------------
  5. .text:0000074C                 CODE32
  6. .text:0000074C                 BMI     0xD335C
  7. .text:00000750                 ANDCS   R4, R0, R11,ROR R4

То есть опять после первой же инструкции возвращение в 32 и опять переход на хз какой адрес. Чувствую что я не так делаю что то. Опять задаю code16 идет пару команд и опять code32.

Может я что то не так делаю или понимаю не то что есть на самом деле? Поэтому если не сложно у кого НОРМАЛЬНО получилось получить код может выложите пожалуйста его куда ни будь? Или объясните новичку в дизассемблировании арма где я ошибаюсь




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 15 сентября 2011 12:43
· Личное сообщение · #6

Ты для одной конкретной команды делаешь. SaNX же тебе написал, выдели нужные и преобразуй

-----
Yann Tiersen best and do not fuck




Ранг: 2.8 (гость)
Активность: 00.01
Статус: Участник

Создано: 16 сентября 2011 14:25
· Личное сообщение · #7

да нет же я делал так, выделял и преобразовывал, жал ALT+G ставил 1 потом жал на C . До адреса 00000924 все code32 а дальше code16. И где это code32 видно что куча красных переходов, явно не правильные. Так и должно быть?



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 16 сентября 2011 14:31
· Личное сообщение · #8

Это может вообще данные, разбираться надо.
По BX LR управление передаётся по адресу из LR (аналог JPM в x86) - и до адреса 0x74C управление не доходит, это вполне могут быть переменные или пул констант.



Ранг: 58.0 (постоянный), 13thx
Активность: 0.020.01
Статус: Участник

Создано: 16 сентября 2011 15:11
· Личное сообщение · #9

Сначала раздефайни всё неправильное (U), а потом уже меняй T и конверти в код.


 eXeL@B —› Вопросы новичков —› IDA 5.5 и андроидная либа
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати