AsmEditor v3.0.2 : Прошивкокопательство : Форум |
Страница 1 из 3: [1] 2 3 » |
d1gger17: |
27.02.09, 22:24 |
AsmEditor - v3.0.2 Что может: I. Работа с VKP: 1) Убирает у VKP-файла(патча) все ненужные данные, оставляя только заMAIN. Пример: До Патч: ;W700 SW-R1CA021 ;Управление радио и плеером с гарнитуры ;Удержание - вкл то что стоит на кнопке музыка ;В радио: одно нажатие - след станция, больше одного - выкл ;В плеере: одно нажатие - след трек, больше одного - выкл ;v. 4 ;(с) IronMaster ;(p) d1gger17 После: Патч: 45195c30: 00000000000000000000000000000000 FFB52248CCF668FA002807D12048CCF6 2) Убирает заменянемые значения у заMAIN'a. Пример: До: Патч: 45195c30: 00000000000000000000000000000000 FFB52248CCF668FA002807D12048CCF6 После: Код: FFB52248CCF668FA002807D12048CCF6 63FA002802D11F4FB847FFBD1A4C2078 401C2070012804D81D49E120C000F2F4 EDF8FFBDFCB51548CCF64EFA002815D1 1348CCF649FA00280FD00F4C22780023 2370012A03D010219BF7C8FBFCBD02B0 041C051C18350D4F3847FCBD064C2278 00232370012A00D0EDE7041C051C5C35 061C1C36044F38473089034C5134F644 F94013455D0AD244058DF644471E1345 655C1945 3) Убирает все, после заменяющих данных. Пример: До: Код: EDF8FFBDFCB51548CCF64EFA002815D1 1348CCF649FA00280FD00F4C22780023;Я ненужная хрень 2370012A03D010219BF7C8FBFCBD02B0 После: Код: EDF8FFBDFCB51548CCF64EFA002815D1 1348CCF649FA00280FD00F4C22780023 2370012A03D010219BF7C8FBFCBD02B0 4) Соединяет все оставщиеся данные вместе(ну тут можно и без примеров, итак все ясно) 5) Сохраняет полученные данные сразу в RAW-файл(то есть сразу можно в IDA открывать). 6) Ещё есть небольшая функция: проверка на мисматчи. Что делает: берет длину заменяемых и заменяющих данных, если их длины не совпадают, то выдаёт ошибку. II. Работа с ASM: 1) Удаляет все решетку. 2) Удаляет комментарии(все что за знаком ";" ). 3) Удаляет структуры, такого вида: Код: structSUBROUTINE struc p_name DCD ? p_page DCD ? p_fn1 DCD ? p_fn2 DCD ? structSUBROUTINE ends 4) Расставляет где надо двоеточия. 5) Переносит текст с DCD. Было допустим: off_45CF53F0 DCD aTpaUserOtherZb А после обработки останется: _aTpaUserOtherZb DCD aTpaUserOtherZb в ASM, конечно, off_45CF53F0 заменится на _aTpaUserOtherZb 6) И самое главное - Вынес адресов. Если вы хотите чтобы имена адресов брались из библиотеки, то можете ее загрузить с помощью клавиши "Открыть библиотеку". Программа ищёт адреса, при их нахождении смотрит, есть ли такой адрес в либе, если есть - то присваевает ему имя из библиотеки, если нету - то даёт ему имя с номером(имя указываете сами в настройках, стнадратное - addr). Если будет найден dword загрузка адреса(типа: dword_45153A90 DCD addr1(уже замененый адрес)), то во всем ASM dword_45153A90 заменяется на _addr1. Точно такая же работа происходит и с ram-адресами. Начальные цифры обычных и РАМ адресов можно изменять в настройках(там почти всё можно изменить). 7) Складывает VAR. Если в исходнике найдена строка типа этой: Код: LDR R1, [SP,0x28+var_18] , то программа автомтически смотрит, есть ли вверху присваивание для var_18, если есть - берёт оттуда значение и складывает их, если нету - то берёт из var_18, цифру 18 как хекс-число и складывает его(в нашем примере с 0x28) и полученный результат записывает вместо var: Код:LDR R1, [SP,0x068] 8) Если у вас IDA 5.2 и выше, то вполне возможно, что у вас некторые команды идут с конечным символом S, типа ADDS,MOVS,SUBS и прочее(весь их полный список есть в настройках, кстати, список идёт в два слова: первое слово - "плохая" команда(ADDS), второе - "правильная" команда(ADD), программа исправляет эти слова. 9) Unicode -> DCB. Если у вас в исходнике есть текст Unicode(Пример: Код: aElf unicode 0, <elf>,0 , то программа заменит его на:Код: aElf DCB "e",0,"l",0,"f",0,0,0 ; elf 10) Косметические изменения: - Удаляет пустые строки. - Если найдена строка-объвление кода( loc_451F905C например), то она вставляет до и после неё текст, который вы можете ввести в настройках(при введение текста можно использовать два слова-паттерна: #addr# - адрес ссылки(451F905C) и #loc# - префикс адреса(loc_). - Если будет найден текст типа: Код: dword_45CF53B0 DCD 0xFC2 , то программа при нахождении dword_45CF53B0 будет оставлять комментарий в конце строки со значением этого dword_45CF53B0(то есть 0xFC2).- Для push и pop удялется один пробел(для красоты)). - Расставляется где надо align 4. - Если надо, ставится в начало include "x.inc". 11) Компиляция. Пока что тест) Может работать, а может и нет. Нажмите кнопку "Компиляция" на статус-баре(в котором, кстати, отображается прогресс бар с выполением прогресса)) и сверху или снизу(сами выберете), выедет панелька в который вы можете выбрать прошивку(перед этим положите её в папку с программой), и ввести её стартовый адрес(он определяется сам). После нажатия кнопки "Скомпилировать" исходник будет скомпилирован и вам покажут сообщение в конец прогресса. III. Сама программа: 1) Красивый интерфейс)) 2) Настройка почти всех слов/имен/адресов для ASM/VKP/Библиотеки. 3) Можете настроить у ASM подсветку слов, а также шрифт. 4) В PopupMenu(клик правой клавишой мыши на редакторе) у ASM есть следующие пункты: - Выделить всё. - Скопировать. - Вставить. - Вырезать. - BookMark(метки, можно оставлять их, а затем быстро к ним перемещаться, всего их 10 штук). - Перейти к BookMark. - Перевернуть выделеный адрес(DWORD) - до: 45CF5398. После: 9853CF45 - Поиск. - Заменить. - Искать вперед. - Искать назад. 5) При нажатии в редакторе ASM комбинации клавиш Ctrl+Space появится окошко в котором вы сможете выбрать команду(они там и от thumb и от Arm - режимов) и вставить её. 3.0.2: - Добавил сохранение настроек и редактирование выпадающего меню. Как пользоваться: 1) Если надо обработать VKP-патч, то жмем кнопку "Открыть" в пункте "Файл", находим его и жмем кнопку "Открыть". Слева перед вами появится ToolBar, с кнопками, фун-ии которых я описал выше, если не хотите нажимать каждую кнопку, то для выполнения всего сразу нажмите "Обработать VKP". 2) Если же надо обработать ASM-исходник(полученый от IDA через комбинацию клавиш Alf+F10(!)), то делаем все тоже самое что я описал выше, только выбираем уже asm файл. Слева перед вами так же появится ToolBar, в котором вы сможете делать с исходником то, что я описал выше по отдельности, или если вам не хочется жать кнопки, то нажмите "Обработать ASM", поставьте/снимите галки напротив нужных вам опции и нажмите "Начать". Вот ссылки на программу: 3.0.1: http://ifolder.ru/10776285 3.0.2: http://ifolder.ru/11265834 Исходник: http://ifolder.ru/11265855 В архиве: сама программа(AsmEditor.exe), файлы компилятора FasmArm(можете на свои заменять) и файл test.asm для проверки возможностей редактора(вдруг под рукой исходника не окажется). (с) d1gger17 |
zapret: |
27.02.09, 22:27 |
d1gger17, молодца)) сто лет тя тут не видно) |
jamesbond22: |
27.02.09, 22:30 |
d1gger17, can you make english version? |
voluenter: |
27.02.09, 23:20 |
хм...а мона популярно и на русском языке обьяснить - зачема нам патчи изменять? Будет лучше?Будет удобней?...не понял из прочитаного первого поста смысла)) P.S Сорри,просто давно тут не был,уже и термины/жаргоны забыл(( |
GaS: |
27.02.09, 23:35 |
voluenter пишет: хм...а мона популярно и на русском языке обьяснить - зачема нам патчи изменять? Будет лучше?Будет удобней?...не понял из прочитаного первого поста смысла)) P.S Сорри,просто давно тут не был,уже и термины/жаргоны забыл(( это для портеров будет удобней... |
mortezaw810: |
28.02.09, 01:30 |
very tx d1gger17 plz up in to site sorry my eng [ Редактировано mortezaw810 в 28.2.09 01:31 ] |
kirpeace: |
28.02.09, 05:39 |
is there english version of it? |
d1gger17: |
28.02.09, 09:10 |
I can do english version, but did you want see PROMT-translate? Because if you want english version - translate text in this program and send me. Залить на сайт не могу, у меня ограничение на размер заливаемово файла - 600кб, а архив программы весит 1300 кб. |
jamesbond22: |
28.02.09, 11:25 |
d1gger17 писал: Because if you want english version - translate text in this program and send me. But how get original texts from program? I see "????????" |
Alex: |
28.02.09, 12:09 |
Мы же как то используем проги на английском, и все окей |
Страница 1 из 3: [1] 2 3 » |
URL этой темы: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=3738 © 2005-2018 supertrubka.org |