eCigTalk.org - Powered by vBulletin



RSS лента

JAW

Пересчёт адресов в патчах

Оценить эту запись
Цитата Сообщение от yii Посмотреть сообщение
2 дня назад тоже не знал как, но комрад iNFiNUM научил уму разуму...
ARM instruction evaluator...
instruction set: thumb
assembly code: команда перехода... считаем в любом калькуляторе разницу между адресами (примеры в hex)
Допустим с 1000 переходим на CA00 получаем BA00
В калькуляторе вставляем b +#0xBA00 и получаем код F00B BCFE, переворачиваем соседние байты и наша команда 0BF0FEBC
если переходим наоборот с CA00 на 1000 то вставляем b -#0xBA00, получаем F7F4 BAFE, переворачиваем и получаем команду F4F7FEBA
Для близких переходов типа СА00 на CA10 тоже только начало beq.w вместо b
т.е.:
+ от меньшего адреса к большему, - наоборот
b - длинный переход (разность в hex xxxx)
beq.w - короткий переход (разность в hex ххх/хх)

Ну и там еще много чего можно посмотреть и ужаснуться... например что у ARM nop 2 байта...
Категории
Без категории

Комментарии


Условия предоставления информации | Отказ от ответственности

© eCigTalk.org 2021