Multiline Ultimate Assembler (an x64dbg plugin)

Multiline Ultimate Assembler is a multiline (and ultimate) assembler (and disassembler) plugin for x64dbg and OllyDbg. It’s a perfect tool for modifying and extending a compiled executable functionality, writing code caves, etc.

Source code:
https://github.com/m417z/Multiline-Ultimate-Assembler

rar multiasm.rar (475.86 kB, changelog)

Posted in Releases, Software by Michael (Ramen Software) on September 13th, 2009.
Tags: , ,

220 Responses to “Multiline Ultimate Assembler (an x64dbg plugin)”

  1. sonate says:

    its not support chinese in x64dbg.
    i have changed font_name in x64dbg.ini,but its not working.
    btw,i changed the resource to chinese and do something,still not wokring

  2. MulleDK19 says:

    Any chance to change this to asmjit in x64dbg? It seems to be using XEDParse which has issues.

    I can’t get it to assemble “movss dword ptr ss:[rsp+0x18], xmm2”

  3. dredknight says:

    Any idea how to add float ? or add it as hex directly?

    @float 2.5

    Or

    BINARY dc cc cc 3c

    Is there a syntax guide i can learn from?

  4. dredknight says:

    what about integers? When i do this

    int 10

    debugger shows
    CD 10 00 00

    where it is supposed to show:
    0A 00 00 00

  5. tuotuode says:

    For xdbg plugin, it is better not to call IsDialogMessage, because it will modify the flow of the system message processing call, causing some unpredictable consequences. For example, for Chinese character set, raedit supports gbk encoding, but after the message processed by IsDialogMessage, the encoding received by WM_CHAR in the raedit message loop will be changed to unicode encoding. I spent a lot of time debugging to understand why it kept messing up after setting the font. Finally I commented out the following two lines and found that everything worked.
    //if(IsDialogMessage(hWnd, lpMsg))
    // return TRUE.

    • I’m not using Chinese, so I never experienced this problem. `IsDialogMessage` is used for other things, too, such as navigation with the tab key. There must be a more correct fix for that. If you find a better fix, let me know and I’ll consider including it in the plugin.

  6. Megatron747 says:

    Hi, thanks for the plugin, saves me a lot of time, anyway

    A couple of things

    It throws an error in x32dbg when compiling the line

    PUSH 80000000

    If I change it to

    PUSH 08000000

    it compiles and I can change it manually, just to let you know.

    Another feature request if I may:

    I have 5 code blocks say

    Code Block 1

    Code Block 2

    Code Block 3

    Code Block 4

    If I change any code in Code Block 1 I have to manually change the offsets 2,3,4 is there a way to get the value in the angular brackets to take the next available byte

    again thanks for the great plugin

Leave a Reply to Michael (Ramen Software)