| Сейчас на форуме: 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 v1.5, встречайте! Новинки: Анонимные метки Обозначаются как "@@", @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 v2.0: Новое название Плагин теперь называется 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 | 









, не сразу разобрался, что там и как.
 





 Для печати