eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: dixen18 (+4 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› MUltimate Assembler
<< . 1 . 2 . 3 . 4 . 5 . 6 .
Посл.ответ Сообщение


Ранг: 534.6 (!)
Статус: Uploader
retired

Создано: 14 сентября 2009 09:42 · Поправил: BoRoV New!
Цитата · Личное сообщение · #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/

Ранг: 271.6 (наставник)
Статус: Модератор
CrackLab

Создано: 13 января 2013 19:14 New!
Цитата · Личное сообщение · #2

RaMMicHaeL пишет:
Можно узнать зачем?

для рипа в дельфи.
но асм вставки прекрасно работают с FFFEh
посему считаю эту фичу излишней

Ранг: 434.4 (мудрец)
Статус: Участник

Создано: 13 января 2013 21:57 New!
Цитата · Личное сообщение · #3

RaMMicHaeL пишет:
Можно узнать зачем?Во первых, оно будет конфликтовать с RVA адресами.Во вторых, олькин ассемблер такой вид номеров не понимает

Для рипа в Delphi
Я понимаю что нормально работает вариант с FFEEh, но просто мне привычнее запись числа как $FFEE.

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 13 января 2013 22:30 New!
Цитата · Личное сообщение · #4

Если очень хочется, можно выбрать 0xFFFE, а потом поменять все 0x на $.

Ранг: 434.4 (мудрец)
Статус: Участник

Создано: 13 января 2013 22:31 · Поправил: tihiy_grom New!
Цитата · Личное сообщение · #5

Да я в курсе
Я потому и написал "если не сложно ..."

Какбы вовсе не обязательно, чтобы потом эти инструкции вставлялись обратно в олю. Достаточно будет и того, что их просто можно будет копипастом перенести в Delphi для рипа.
А то перенос в текстовый редактор и замена всех символов - это как-то не гут. Утомляет

| Сообщение посчитали полезным: DimitarSerg


Ранг: 14.7 (новичок)
Статус: Участник

Создано: 14 января 2013 14:10 New!
Цитата · Личное сообщение · #6

tihiy_grom пишет:
А то перенос в текстовый редактор и замена всех символов

Это мы и сами умеем. Ctrl+H!

Ранг: 434.4 (мудрец)
Статус: Участник

Создано: 14 января 2013 16:28 New!
Цитата · Личное сообщение · #7

Ладно Если это настолько уж невероятно трудно сделать - будем юзать замену символов.

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 14 января 2013 16:53 New!
Цитата · Личное сообщение · #8

Не трудно, но это не элегантно - предлагать опцию дисассемблера, которая обратно не ассемблеруется.
Спасибо за понимание

| Сообщение посчитали полезным: ADMIN-CRACK, =TS=


Ранг: 6.2 (гость)
Статус: Участник

Создано: 13 октября 2013 17:04 New!
Цитата · Личное сообщение · #9

RaMMicHaeL пишет:
Не трудно, но это не элегантно - предлагать опцию дисассемблера, которая обратно не ассемблеруется.

Если в настройках предусмотреть включение/отключение расширенных возможностей асма/дизасма?

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 5 сентября 2014 02:02 · Поправил: RaMMicHaeL New!
Цитата · Личное сообщение · #10

--> Multiline Ultimate Assembler <-- v2.3:

* Поддержка отладчика --> x64_dbg <--.
--> Картинка <--
* Многострочные комментарии в стиле MASM.
--> Картинка <--
* Перетаскивание текста в редакторе.
* Мелкие фиксы.

| Сообщение посчитали полезным: ClockMan, Gideon Vi, elch, OnLyOnE, UniSoft, vnekrilov, Kindly, VodoleY, SReg



Ранг: 206.8 (наставник)
Статус: Участник
radical

Создано: 13 ноября 2014 00:54 New!
Цитата · Личное сообщение · #11

v2.3.1 (October 25, 2014)

* Fixed a crash upon closing x64_dbg with the assembler window open.
* Added support for packed OllyDbg v1.10 modifications.

--> Download <--

| Сообщение посчитали полезным: ==DJ==[ZLO]



Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 13 ноября 2014 12:26 New!
Цитата · Личное сообщение · #12

у меня плаг крешит x64_dbg просто когда закрываешь отладчик, не всегда, но частенько.
плагин удаляешь - все гууд.

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 13 ноября 2014 13:18 New!
Цитата · Личное сообщение · #13

Hellspawn, Multiline Ultimate Assembler v2.3.1? Какая версия x64_dbg? Вылетает только когда окно ассемблера открыто, или всегда? Можно креш репорт? (какая ошибка, какой RVA? Если можно, stack trace.)


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 13 ноября 2014 13:51 New!
Цитата · Личное сообщение · #14

RaMMicHaeL
версии крайние, ошибка в MSVCR100, но без плага её нету. наличие окна плага не влияет на ошибку.
может в отладчике трабла, но проявляется так хитро
Code:
  1.   Имя события проблемы:    APPCRASH
  2.   Имя приложения: x64_dbg.exe
  3.   Версия приложения:       0.0.2.2
  4.   Отметка времени приложения:       544b775e
  5.   Имя модуля с ошибкой:    MSVCR100.dll
  6.   Версия модуля с ошибкой: 10.0.40219.325
  7.   Отметка времени модуля с ошибкой: 4df2bcac
  8.   Код исключения: 40000015
  9.   Смещение исключения:     00000000000761c9

x64_dbg
Code:
  1.  
  2.          msvcr100.dll!000000006f214930()   Нет данных
  3.          msvcr100.dll!000000006f2103c8()   Нет данных
  4.          msvcr100.dll!000000006f2161c9()   Нет данных
  5.          msvcr100.dll!000000006f1ffab2()   Нет данных
  6. >        x64_dbg.exe!000000013f8513d1()    Нет данных
  7. ...
  8. 000000013F851398  sub         rsp,28h  
  9. 000000013F85139C  mov         rax,qword ptr [rcx]  
  10. 000000013F85139F  cmp         dword ptr [rax],0E06D7363h  
  11. 000000013F8513A5  jne         000000013F8513D2  
  12. 000000013F8513A7  cmp         dword ptr [rax+18h],4  
  13. 000000013F8513AB  jne         000000013F8513D2  
  14. 000000013F8513AD  mov         eax,dword ptr [rax+20h]  
  15. 000000013F8513B0  cmp         eax,19930520h  
  16. 000000013F8513B5  je          000000013F8513CC  
  17. 000000013F8513B7  cmp         eax,19930521h  
  18. 000000013F8513BC  je          000000013F8513CC  
  19. 000000013F8513BE  cmp         eax,19930522h  
  20. 000000013F8513C3  je          000000013F8513CC  
  21. 000000013F8513C5  cmp         eax,1994000h  
  22. 000000013F8513CA  jne         000000013F8513D2  
  23. 000000013F8513CC  call        000000013F8516C8  
  24. 000000013F8513D1  int         3

отладил немного
Code:
  1. Unhandled exception at at 0x000007FEFD4B940D in x64_dbg.exe: Microsoft C++ exception: std::out_of_range at memory location 0x00000000001CC2D0.
  2. ...
  3. >        KernelBase.dll!000007fefd4b940d() Нет данных
  4.          msvcr100.dll!000000006f2004d6()   Нет данных
  5.          ntdll.dll!00000000773f0c51()      Нет данных
  6.          QtCore4.dll!0000000052b5bfc1()    Нет данных
  7.          QtCore4.dll!0000000052b60a40()    Нет данных
  8.          x64_gui.dll!000007fee3aa1695()    Нет данных
  9.          x64_bridge.dll!000007feed051090() Нет данных
  10.          x64_dbg.exe!000000013fc61037()    Нет данных
  11.          x64_dbg.exe!000000013fc61213()    Нет данных

p.s. дело скорее всего в кол-ве плагов, у меня их 5, делаю 4 все ровно, просто твой добавлял последним.

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 13 ноября 2014 14:25 New!
Цитата · Личное сообщение · #15

Смахивает на --> эту багу <--, которая вроде была исправлена.
Если убрать остальные 4 плага, и оставить только Multiline Ultimate Assembler, проблема исчезает? Если да, скорее всего баг в отладчике. Можно написать об этом автору --> тут <--.


Ранг: 206.8 (наставник)
Статус: Участник
radical

Создано: 22 февраля 2015 00:21 New!
Цитата · Личное сообщение · #16

v2.3.2 (February 19, 2015)
Fixed a regression: the close button didn't work (introduced in v2.3.1).
Fixed: sometimes the assemble button didn't work in the 64-bit version.

http://rammichael.com/downloads/multiasm.rar

| Сообщение посчитали полезным: BAHEK, vnekrilov, v00doo



Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 22 февраля 2015 15:10 New!
Цитата · Личное сообщение · #17

во, перестало падать на x64_dbg 0.23 збс

Ранг: 28.8 (посетитель)
Статус: Участник

Создано: 28 февраля 2015 04:38 New!
Цитата · Личное сообщение · #18

По личным надлюдениям пока не тянет на основной дебаггер. Олька для 32-битных лидирует(Хорошо хоть пофиксили OllyExt, а то валился на открытии меню правой кнопкой, приходилось удалять плагин). Для 64 только этот


Ранг: 630.4 (!)
Статус: Участник
CyberMonk

Создано: 14 мая 2015 16:20 New!
Цитата · Личное сообщение · #19

RaMMicHaeL

Может ты уже передумал по поводу генерации Байткода?! Было бы классно вынести апи и структуры в хидер и сделать отдельно ДЛЛ для подключения к своим проектам.

progopis пишет:
RaMMicHaeL

А можно ли сделать вариант не в виде плага для ольки, а как отдельное приложение, генерирующее байт-код?

Знаю людей которым очень нужна такая утилита.

progopis пишет:
Можно, но вроде есть уже проги, которые так умеют.
FASM, например.


Можно здесь подробнее?! Где об этом почитать? У меня есть обрывок кода, который нужно быстро перевести в байткод, как это сделать в ФАСМ?

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 14 мая 2015 16:45 New!
Цитата · Личное сообщение · #20

mak пишет:
Было бы классно вынести апи и структуры в хидер и сделать отдельно ДЛЛ для подключения к своим проектам.

Это уже есть
http://rammichael.com/multiline-ultimate-assembler-library

mak пишет:
Можно здесь подробнее?! Где об этом почитать?

Не знаю, есть ли у FASM API. Я имел в виду, что редактор позволяет создать бинарный файл с байткодом.

| Сообщение посчитали полезным: Coderess, mak



Ранг: 630.4 (!)
Статус: Участник
CyberMonk

Создано: 14 мая 2015 16:53 New!
Цитата · Личное сообщение · #21

RaMMicHaeL Супер, эта библиотека только для x86 ? В x64dbg ты же используешь дизасм Distrom как переходник в интерфейс? По хидеру там Олидизасм замечен.

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 14 мая 2015 17:11 New!
Цитата · Личное сообщение · #22

mak пишет:
библиотека только для x86 ?

Да, пользуюсь ассемблером (и дисассемблером) Олли. В плагине я использую API отладчиков, в самом multiasm нету кода (дис)ассемблера.

Ранг: 0.8 (гость)
Статус: Участник

Создано: 26 мая 2015 03:30 · Поправил: 26 мая 2015 04:45 l_inc New!
Цитата · Личное сообщение · #23

RaMMicHaeL пишет:
Не знаю, есть ли у FASM API.

Ну во-первых, fasm есть и в виде dll.

RaMMicHaeL пишет:
Я имел в виду, что редактор позволяет создать бинарный файл с байткодом.

А во-вторых, создавать совсем не обязательно бинарник. Можно компилировать и в ASCII. Видеопримерчик. Там достаточно развёрнуто, но вся суть сводится к вбиванию кода в блокноте и мановением одной распальцовки всё будет подано в лучшем виде.

Вдруг кого проймёт, несколько макросов из видео я приложил и в нагрузку парочку добавил. Например, можно заменить блок dispmem_ ... _dispmem на disphex_ ... _disphex или на ilen_ iset ... _ilen.

{ Атач доступен только для участников форума } - GENERAL.INC

| Сообщение посчитали полезным: mak



Ранг: 630.4 (!)
Статус: Участник
CyberMonk

Создано: 26 мая 2015 21:58 New!
Цитата · Личное сообщение · #24

В x64dbg есть часть проекта Pin, под названием XED2, этой библиотекой можно собирать с удобством.


Ранг: 206.8 (наставник)
Статус: Участник
radical

Создано: 31 октября 2016 02:38 New!
Цитата · Личное сообщение · #25

а плагин обновляется:
Code:
  1. v2.3.5 (September 30, 2016)
  2.  
  3.     Fixed assembling code with labels on x64dbg with Keystone and asmjit.
  4.     Implemented the Ctrl+and Ctrl+Shift+M hotkeys on x64dbg.
  5.     Implemented disassembling external jumps/calls in x64dbg.
  6.     Minor bug fixes.
  7.  
  8.  
  9.  
  10. v2.3.4 (February 27, 2016)
  11.  
  12.     Fixed assembling long jump commands with labels in the 64-bit version.
  13.     Improved compatibility with Capstone, the new disassembly engine x64dbg uses.
  14.     Improved handling of comments and labels for x64dbg.
  15.     Fixed a bug with the 64-bit version of RAEdit: clicking page up when on top of the editor would navigate to the bottom.
  16.  
  17.  
  18.  
  19. v2.3.3 (May 8, 2015)
  20.  
  21.     Improved file reading/writing, by locking the files during the process.
  22.     Added CPU context menu and a menu icon for x64dbg.


http://rammichael.com/downloads/multiasm.rar

| Сообщение посчитали полезным: HandMill


Ранг: 19.9 (новичок)
Статус: Участник

Создано: 6 апреля 2017 18:34 · Поправил: bartolomeo New!
Цитата · Личное сообщение · #26

Неплохо чтоб и в NASM формате мог сохранять, в принципе там только убрать PTR и убрать DWORD'ы в командах LEA, ну и собачку перед меткой убрать и фсё )


Ранг: 256.3 (наставник)
Статус: Участник
Advisor

Создано: 23 апреля 2017 20:31 · Поправил: Bronco New!
Цитата · Личное сообщение · #27

RaMMicHaeL, теперь понимаю, что довольно сложно принимать решения как и что делать.
решил на паблик может кто что посоветует.
в общем накатал на коленке плуг, теперь можно возможности MUltimate Assembler использовать по скрипту отладчика автоматом, но это если много. а оно поверьте и такое бывает
1.SetupMultiAsm - собственно выделяет в листинге дизасма нужный участок кода. и стартует окно плага.
для вызова нужно 2 аргумента, откуда и размер. пример для скрипта
Code:
  1. rax = address 
  2. rbx = size
  3. rip = address 
  4. SetupMultiAsm
  5. ----------
  6. _plugin_registercommand(pluginHandle, "SetupMultiAsm", cbSetupMultiAsm, true);


2.AddressReplace - для вызова нужно 1 аргумент. адрес куда.
пример для скрипта
Code:
  1. r8 = addr
  2. AddressReplace
  3. ---------
  4. _plugin_registercommand(pluginHandle, "AddressReplace", cbAddressReplace, true);

3.AssembleMultiAsm - эмулируем нажатие контрола, команда без аргументов.
Code:
  1.    _plugin_registercommand(pluginHandle, "AssembleMultiAsm", cbAssembleMultiAsm, true);

4.CloseTabMultiAsm - закрываем активный таб шит, команда без аргументов.
Code:
  1. _plugin_registercommand(pluginHandle, "CloseTabMultiAsm", cbCloseTabMultiAsm, true);

5.CloseMultiAsm - закрываем основное окно плагина MUltimate Assembler
Code:
  1. _plugin_registercommand(pluginHandle, "CloseMultiAsm", cbCloseMultiAsm, true);

Получилось рабочее, хотелось бы чтобы это сделал сам автор в следующей версии.
Поэтому релизить пока не буду.
И есть другая причина.без визуализации в скриптовом окне, то бишь без табулятора по скрипту, исполнение команд рандомно пропускают, могут зависнуть и тп..
Жду мнений и советов.


Ранг: 256.3 (наставник)
Статус: Участник
Advisor

Создано: 20 мая 2017 20:35 New!
Цитата · Личное сообщение · #28

Multiline Ultimate Assembler v2.3.6 (May 20, 2017)
--> Link <--
Added the following commands for x64dbg: multiasm_show, multiasm_disasm_selection, multiasm_close.
Fixed a scrolling direction bug with the 64-bit version of RAEdit.

| Сообщение посчитали полезным: mak

<< . 1 . 2 . 3 . 4 . 5 . 6 .
 eXeL@B —› Софт, инструменты —› MUltimate Assembler

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS