Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+4 невидимых) |
eXeL@B —› Софт, инструменты —› MUltimate Assembler |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >> |
Посл.ответ | Сообщение |
|
Создано: 14 сентября 2009 09:42 · Поправил: BoRoV · Личное сообщение · #1 Плаг для ольки, позволяющий добавлять/заменять в дизасме и соответствено в проге асм код даже выходящий за пределы если он вставляется посреди имеющегося кода, при этом все адреса у call, jcc, и прочего пересчитыются с учетом этой новой вставки. // З.Ы. Было пять скринов пошаговой инструкции его использования, но автор почему-то их удалил // З.Ы.2. Автор с россии, а че прошел мимо нас... хз v.0.1 Первый релиз, в нем было несколько багов v0.2 - Supports data disassembling and assembling as a C-style string. - Suggests you to create a backup before disassembling, so that the modifications will be visible. - Help added. - Minor fixes. v.0.3 - Disassembles external jumps and calls. - Added an options dialog. - Fixes a couple of crashes. - A right click menu to make LCF-AT happy That's all, I've completed my ToDo list Кажется все он пофиксил, т.к. все говорили что те баги что были пофиксены rammichael.com/ ----- Лучше быть одиноким, но свободным © $me |
|
Создано: 23 мая 2011 19:02 · Личное сообщение · #2 |
|
Создано: 28 сентября 2011 22:12 · Личное сообщение · #3 Новинки: Анонимные метки Обозначаются как "@@", @b (или @r) используется для предыдущей анонимной метки, @f для следующей, как в FASM-е. Пример: Code:
Сохранение в файл, загрузка из файла Можно сохранить код в файл, и потом в любой момент его загрузить. Плагин для удобства создает для этого специальную папку. Использование одним набором вкладок с несколькими версиями OllyDbg В ollydbg.ini есть опция под названием "tabs_path", которая позволяет задать путь, где будут храниться файлы с кодом вкладок. С этой версии, можно задать нескольким версиям OllyDbg один и тот же путь, и они будут работать с тем же набором вкладок. Так же можно открыть несколько окошек плагина, изменить в одном из них набор вкладок, и при переходе на другое окошко изменения вступят в силу. Внимание! Если вы обновляетесь со старой версии и хотите сохранить ваши вкладки: 1. Откройте ollydbg.ini, найдите секцию плагина, и вырежьте следующие опции: tabs_counter, tabs_last_open, tabs_file[x]. 2. Откройте папку, которая задана в опции "tabs_path", и создайте в ней файл "tabs.ini". 3. В этом файле создайте секцию "[tabs]" и вставьте вырезанные опции. | Сообщение посчитали полезным: HandMill, Bronco, MarcElBichon, Konstantin, SReg, vnekrilov, kioresk, daFix, Gideon Vi, SVLab, drone, DimitarSerg, obfuskator, Valemox, _ruzmaz_, Satanael, d0wn, gsx3000, Skino |
|
Создано: 03 октября 2011 09:51 · Личное сообщение · #4 |
|
Создано: 03 октября 2011 10:16 · Личное сообщение · #5 stasionok пишет: А в двух словах - это что? Из приведенного ниже цитаты примера все должно быть придельно ясно. Code:
Анонимная (без имени) метка @@ помечает некий адрес (команду) в программе. Переход вперед (forward) на нее осуществляется как JХХ SHORT @f Переход назад (backward) осуществляется как JХХ SHORT @b. Внимание!! ближайший к метке переход или переход на ближайшую анонимную метку. Если снова не понятно, то смотри FASM. ----- 127.0.0.1, sweet 127.0.0.1 | Сообщение посчитали полезным: stasionok |
|
Создано: 03 октября 2011 11:20 · Личное сообщение · #6 |
|
Создано: 03 октября 2011 12:20 · Личное сообщение · #7 |
|
Создано: 03 октября 2011 13:12 · Личное сообщение · #8 Выдержка из хелпа masm32: Local Code Labels Syntax: [instruction] @F . . . @@: [statement] . . . [instruction] @B Description: The @@: label defines a local code label, which is in effect until the next instance of @@:. The @F and @B operands can be used in conditional and unconditional jump statements to jump to the next and previous @@: label respectively. The @@: label is useful for defining a nearby jump point where a full label is not appropriate. Т.е. про длинну ничего не сказано. Я проверил, jcc может быть как short так и long, как в FASM не знаю. ----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: stasionok, SVLab |
|
Создано: 03 октября 2011 15:29 · Поправил: OKOB · Личное сообщение · #9 SVLab пишет: Переход на такую метку обязательно должен быть short? Вероятно RaMMicHaeL привел такой пример потому, что плаг предназначен для вставки коротких фрагментов кода, где и шорта достаточно. Но вероятно обрабатывается в любом случае. За уточнением этого вопроса к автору. ----- 127.0.0.1, sweet 127.0.0.1 | Сообщение посчитали полезным: SVLab |
|
Создано: 03 октября 2011 18:53 · Личное сообщение · #10 |
|
Создано: 18 октября 2011 14:12 · Личное сообщение · #11 takerZ пишет: Запрашиваем поддержку горячих клавиш: Сделаем. takerZ пишет: • что-нибудь для сборки, акселератор Alt + A почему-то не работает; Странно, все время им пользуюсь. SVLab пишет: Надо бы уже хелп по работе с вкладками и файлами , не сразу разобрался, что там и как. Может стоит отказаться от олиного ini и писать всё в свой? А что там не ясно? Насчет писать в свой файл, в последней версии я так и сделал, в основном для того чтобы две разные сборки ольки могли использовать один набор вкладок. SVLab пишет: Переход на такую метку обязательно должен быть short? Нет. short я использовал потому, что без него пишется длинная версия прыжка, 5-байтовая. А вообще у плагина очень простая логика меток: они просто заменяются адресом, и команда передается ассемблеру ольки. Можно не только использовать длинные прыжки, но и подобные вещи: Code:
|
|
Создано: 18 октября 2011 14:55 · Личное сообщение · #12 |
|
Создано: 18 октября 2011 21:56 · Поправил: SVLab · Личное сообщение · #13 RaMMicHaeL пишет: А что там не ясно? Ну когда разберешься, все более-менее ясно . Но не интуитивно (вернее, не как в большинстве программ). Например, если открыть вкладку из файла, создается ее копия, и работаем с копией. Если вкладка с таким именем уже есть, копия будет переименована (добавится (2)). С одной стороны, есть некоторая гарантия, что при закрытии вкладки изменения не будут потеряны, но с другой, только в том случае, если не забыл сохранить в файл RaMMicHaeL пишет: Насчет писать в свой файл, в последней версии я так и сделал, в основном для того чтобы две разные сборки ольки могли использовать один набор вкладок. Так в свой пишутся только вкладки, все остальные параметры в олин. |
|
Создано: 18 октября 2011 23:51 · Поправил: RaMMicHaeL · Личное сообщение · #14 PE_Kill пишет: 0_o у ольки же есть оптимизатор, вы им не пользуетесь? Пользуюсь, но с прыжками, использующие метки, есть такая ситуация: Code:
Для того, что-бы узнать адрес метки @next, нужно посчитать размер кода, а что-бы узнать размер кода, нужно знать адрес метки @next для определения длины прыжка. Я с решением этой задачи сильно не возился: плагин всегда пишет длинный прыжок, а если нужен короткий, надо самостоятельно писать SHORT. SVLab пишет: вернее, не как в большинстве программ ОК, согласен. Напишу пару строк в хелпе. SVLab пишет: Так в свой пишутся только вкладки, все остальные параметры в олин. А чем, собственно, свой ini файл лучше чем ollydbg.ini? |
|
Создано: 19 октября 2011 01:52 · Личное сообщение · #15 RaMMicHaeL пишет: А чем, собственно, свой ini файл лучше чем ollydbg.ini А какой смысл рассовывать параметры по разным местам? Проще ведь посмотреть всё в одном файле, чем выискивать в олином (хотя там особо и лазить нечего). Ну или, допустим, мне надо перенести настройки только плагина на другой комп или в другую олю, или после переустановки системы или оли восстановить. Просто ради удобства. |
|
Создано: 04 ноября 2011 05:11 · Личное сообщение · #16 takerZ пишет: Запрашиваем поддержку горячих клавиш: Сделано в v1.5.1, • закрытие вкладки; Ctrl+W, Ctrl+F4 Закрытие всех вкладок: Ctrl+Alt+Shift+W • перемещение фокуса между закладками (лучше вперед); Ctrl+PgDn/Ctrl+PgUp, Ctrl+Tab/Ctrl+Shift+Tab • переименование текущей закладки; F2, Ctrl+R • создание новой закладки; Ctrl+N, Ctrl+T • Сохранение текущего документа; Ctrl+S • Открытие документа; Ctrl+O • что-нибудь для переключения режима номеров строк; Ctrl+Alt+Insert • можно что-нибудь для инициации окна, а то F10 + M не очень удобно тянуться, да и акселератор может переехать какой-нибудь другой плагин, который тоже пишется в это меню, вроде memdump'а. Ctrl+Shift+M | Сообщение посчитали полезным: SReg, vnekrilov, DimitarSerg, obfuskator, _ruzmaz_, Gideon Vi, Valemox, kioresk, Konstantin, HandMill, ClockMan |
|
Создано: 18 ноября 2011 22:22 · Личное сообщение · #17 RaMMicHaeL Предлагаю изменить названия меток при дизассемблировании кода, точнее добавить в имя метки номер(имя) вкладки, в которой откроется дизассемблируемый код. Т. е. вместо @L00000001, @L00000002, ... будет что то типа @L_номер вкладки_00000001, @L_номер вкладки_00000002, ... Либо предусмотреть такое изменение нумерации меток в настройках плагина. |
|
Создано: 02 декабря 2011 05:23 · Личное сообщение · #18 Не знаю, чем оно лучше, но если очень хочется, пожалуйста. 7832_02.12.2011_EXELAB.rU.tgz - multiasm.rar | Сообщение посчитали полезным: SVLab, Konstantin |
|
Создано: 02 декабря 2011 21:10 · Личное сообщение · #19 |
|
Создано: 03 декабря 2011 14:19 · Личное сообщение · #20 Версия 1.6: Брать takerZ пишет: Сконпелируйте под последний иммунити и будет оверкилл. Вот правленный пдк: Не такой то он и правленный. Скачал я этот иммунити, ставлю плагин, вроде работает. Делаю дисасм, выдает ошибку памяти. Подебагил иммунити олькой , оказалось, что у них структуры выравнены по 4 байта, а не 1 как у ольки. Т.е. вместо #pragma pack(1) должно быть #pragma pack(4), а еще лучше: Code:
| Сообщение посчитали полезным: SVLab, huckfuck, Konstantin, _ruzmaz_, Gideon Vi, vnekrilov |
|
Создано: 03 декабря 2011 15:38 · Личное сообщение · #21 |
|
Создано: 04 декабря 2011 01:25 · Поправил: Konstantin · Личное сообщение · #22 |
|
Создано: 10 августа 2012 01:30 · Поправил: SReg · Личное сообщение · #23 |
|
Создано: 10 августа 2012 12:20 · Личное сообщение · #24 Новое в версии 1.7: Относительные виртуальные адреса Можно писать адреса относительно базы модуля. Удобно если у модуля есть релокации и его база не постоянна. Пишется оно так: Code:
Вот, например, блокнот, загружен по разным базам: Закомментированные комментарии Некоторые комментарии полезны в редакторе, но мешают в OllyDbg, например название функции или параметры. Можно использовать двойную точку с запятой (;;) в таких ситуациях. Разные улучшения и фиксы Качать | Сообщение посчитали полезным: _ruzmaz_, HandMill, xDvKx, mak, drone, Gideon Vi, d0wn, SVLab, Valemox, NikolayD, verdizela, vnekrilov, Konstantin, 4kusNick, nepohek |
|
Создано: 06 сентября 2012 09:44 · Поправил: Konstantin · Личное сообщение · #25 |
|
Создано: 06 сентября 2012 15:08 · Личное сообщение · #26 |
|
Создано: 18 сентября 2012 01:50 · Личное сообщение · #27 |
|
Создано: 18 сентября 2012 02:29 · Личное сообщение · #28 RaMMicHaeL Кликаю в нужное место кода - плагин не вызывается ни по Ctrl+M ни по Ctrl+Shift+M - так у всех или просто мне везет ? Если вызвать его через меню плагинов или правую кнопку мышки тогда все ок. Можно ли добавить установку брейкпоинтов, тоесть: Code:
----- Don_t hate the cracker - hate the code. |
|
Создано: 17 октября 2012 07:31 · Личное сообщение · #29 Новое название Плагин теперь называется Multiline Ultimate Assembler, а не MUltimate Assembler. Если вы обновляетесь со старой версии, измените название секции в ollydbg.ini с "MUltimate Assembler" на "Multiline Ultimate Assembler" чтобы сохранить настройки. Версия для OllyDbg v2 На данный момент известно об одной проблеме: не работают команды DB, DW, DD, итд., так как ассемблер новой OllyDbg их не поддерживает. Файл помощи Я написал хелп файл, объясняющий синтакс ассемблера, интерфейс редактора, и опции плагина. Файл на английском. Если что не ясно, спрашивайте, переведу. | Сообщение посчитали полезным: NikolayD, SReg, DimitarSerg, vnekrilov, KingSise, _ruzmaz_, Gideon Vi, Konstantin, schokk_m4ks1k, d0wn, plutos |
|
Создано: 17 октября 2012 10:03 · Личное сообщение · #30 |
|
Создано: 17 октября 2012 20:06 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >> |
eXeL@B —› Софт, инструменты —› MUltimate Assembler |