Дизассемблер

...
  • Что-то ничего кроме пустого файла и сообщения "Multiple files specified" не получаю. И параметры указывал и полный путь и только имя файла - результат один.
  • А версия console.obj какая? Нужна ревизии не меньше 2170. (А я вообще пользуюсь своей версией console.obj. Хочу аккаунт на SVN - у кого просить?)
  • Про такие вещи нужно сразу упоминать до, а не потом. Теперь все нормально. Спасибо!

    Думаю у mike.dld все еще нужно спрашивать.
  • Вот еще хороший дизассемблер, в виде библиотеки. Очень хорош, можно лишь прикрутить гуй, и наслаждаться: http://mediana.sf.net

    его обсуждение на WASM-е http://www.wasm.ru/forum/viewtopic.php?id=36828, подробнее можно прочитать на http://mika0x65.livejournal.com/6898.html#cutid1
  • Исходники дизассемблера для menuetlibc. Тогда я еще не заморачивался с библиотеками, так что объектники из libudis нужно "вручную" копировать в папку с самим дизассемблером.
    Attachments
    udcli_src.7z (196.55 KiB)
    Downloaded 379 times
  • Я как понимаю, Angel интересует формат
    структуры бинарного файла в колибри и может коды мнемоник команд IA-32
    Чем можно помочь? Может дать ссылку на данный топик?
  • Полезнее intel reference manual в таком случае. Формат бинарного файла хорошо описан.
  • SoUrcerer wrote:Полезнее intel reference manual в таком случае. Формат бинарного файла хорошо описан.
    А на Wiki информация есть?
  • Портировал ud86 от SoUrcerer, который выше, на newlib.
    Насчет работоспособности не знаю, еще не тестировал.
    Собирается так: сказать make в папке с либой, а потом в папке с программой.
    На консоль что то вывода нет, не знаю, возможно импорт поломался. А вот файловое:
    Вот то что она выдает:
    Spoiler:

    Code: Select all

    0000000000000000 0000000000000000 4d               dec ebp                 4d               dec ebp                 
    
    0000000000000001 0000000000000001 45               inc ebp                 45               inc ebp                 
    
    0000000000000002 0000000000000002 4e               dec esi                 4e               dec esi                 
    
    0000000000000003 0000000000000003 55               push ebp                55               push ebp                
    
    0000000000000004 0000000000000004 45               inc ebp                 45               inc ebp                 
    
    0000000000000005 0000000000000005 54               push esp                54               push esp                
    
    0000000000000006 0000000000000006 3032             xor [edx], dh           3032             xor [edx], dh           
    
    0000000000000008 0000000000000008 0100             add [eax], eax          0100             add [eax], eax          
    
    000000000000000a 000000000000000a 0000             add [eax], al           0000             add [eax], al           
    
    000000000000000c 000000000000000c 3400             xor al, 0x0             3400             xor al, 0x0             
    
    000000000000000e 000000000000000e 0000             add [eax], al           0000             add [eax], al           
    
    0000000000000010 0000000000000010 30cd             xor ch, cl              30cd             xor ch, cl              
    
    0000000000000012 0000000000000012 0100             add [eax], eax          0100             add [eax], eax          
    
    0000000000000014 0000000000000014 30e9             xor cl, ch              30e9             xor cl, ch              
    
    0000000000000016 0000000000000016 0100             add [eax], eax          0100             add [eax], eax          
    
    0000000000000018 0000000000000018 30e9             xor cl, ch              30e9             xor cl, ch              
    
    000000000000001a 000000000000001a 0100             add [eax], eax          0100             add [eax], eax          
    
    000000000000001c 000000000000001c 20e4             and ah, ah              20e4             and ah, ah              
    
    000000000000001e 000000000000001e 0100             add [eax], eax          0100             add [eax], eax          
    
    0000000000000020 0000000000000020 20e5             and ch, ah              20e5             and ch, ah              
    
    0000000000000022 0000000000000022 0100             add [eax], eax          0100             add [eax], eax          
    
    0000000000000024 0000000000000024 0300             add eax, [eax]          0300             add eax, [eax]          
    
    0000000000000026 0000000000000026 0000             add [eax], al           0000             add [eax], al           
    
    0000000000000028 0000000000000028 40               inc eax                 40               inc eax                 
    
    0000000000000029 0000000000000029 e101             loope 0x2c              e101             loope 0x2c              
    
    000000000000002b 000000000000002b 005ce301         add [ebx+0x1], bl       005ce301         add [ebx+0x1], bl       
    
    000000000000002f 000000000000002f 004052           add [eax+0x52], al      004052           add [eax+0x52], al      
    
    0000000000000032 0000000000000032 0000             add [eax], al           0000             add [eax], al           
    
    0000000000000034 0000000000000034 b844000000       mov eax, 0x44           b844000000       mov eax, 0x44           
    
    0000000000000039 0000000000000039 bb0c000000       mov ebx, 0xc            bb0c000000       mov ebx, 0xc            
    
    000000000000003e 000000000000003e 8d0d00002000     lea ecx, [0x200000]     8d0d00002000     lea ecx, [0x200000]     
    
    0000000000000044 0000000000000044 81c1ff0f0000     add ecx, 0xfff          81c1ff0f0000     add ecx, 0xfff          
    
    000000000000004a 000000000000004a 81e100f0ffff     and ecx, 0xfffff000     81e100f0ffff     and ecx, 0xfffff000     
    
    0000000000000050 0000000000000050 cd40             int 0x40                cd40             int 0x40                
    
    0000000000000052 0000000000000052 85c0             test eax, eax           85c0             test eax, eax           
    
    0000000000000054 0000000000000054 7439             jz 0x8f                 7439             jz 0x8f                 
    
    0000000000000056 0000000000000056 01c1             add ecx, eax            01c1             add ecx, eax            
    
    0000000000000058 0000000000000058 64a308000000     mov [fs:0x8], eax       64a308000000     mov [fs:0x8], eax       
    
    000000000000005e 000000000000005e 64890d0c000000   mov [fs:0xc], ecx       64890d0c000000   mov [fs:0xc], ecx       
    
    0000000000000065 0000000000000065 89cc             mov esp, ecx            89cc             mov esp, ecx            
    
    0000000000000067 0000000000000067 81ec00040000     sub esp, 0x400          81ec00040000     sub esp, 0x400          
    
    000000000000006d 000000000000006d b809000000       mov eax, 0x9            b809000000       mov eax, 0x9            
    
    0000000000000072 0000000000000072 89e3             mov ebx, esp            89e3             mov ebx, esp            
    
    0000000000000074 0000000000000074 b9ffffffff       mov ecx, 0xffffffff     b9ffffffff       mov ecx, 0xffffffff     
    
    0000000000000079 0000000000000079 cd40             int 0x40                cd40             int 0x40                
    
    000000000000007b 000000000000007b 8b431e           mov eax, [ebx+0x1e]     8b431e           mov eax, [ebx+0x1e]     
    
    000000000000007e 000000000000007e 64a300000000     mov [fs:0x0], eax       64a300000000     mov [fs:0x0], eax       
    
    0000000000000084 0000000000000084 81c400040000     add esp, 0x400          81c400040000     add esp, 0x400          
    
    000000000000008a 000000000000008a e9c1370000       jmp 0x3850              e9c1370000       jmp 0x3850              
    
    000000000000008f 000000000000008f cc               int3                    cc               int3                    
    
    0000000000000090 0000000000000090 4e               dec esi                 4e               dec esi                 
    
    0000000000000091 0000000000000091 6f               outsd                   6f               outsd                   
    
    0000000000000092 0000000000000092 20656e           and [ebp+0x6e], ah      20656e           and [ebp+0x6e], ah      
    
    0000000000000095 0000000000000095 6f               outsd                   6f               outsd                   
    
    0000000000000096 0000000000000096 7567             jnz 0xff                7567             jnz 0xff                
    
    0000000000000098 0000000000000098 68206d656d       push dword 0x6d656d20   68206d656d       push dword 0x6d656d20   
    
    000000000000009d 000000000000009d 6f               outsd                   6f               outsd                   
    
    000000000000009e 000000000000009e 7279             jb 0x119                7279             jb 0x119                
    
    00000000000000a0 00000000000000a0 20666f           and [esi+0x6f], ah      20666f           and [esi+0x6f], ah      
    
    00000000000000a3 00000000000000a3 7220             jb 0xc5                 7220             jb 0xc5                 
    
    00000000000000a5 00000000000000a5 7374             jae 0x11b               7374             jae 0x11b               
    
    00000000000000a7 00000000000000a7 61               popad                   61               popad                   
    
    00000000000000a8 00000000000000a8 636b20           arpl [ebx+0x20], bp     636b20           arpl [ebx+0x20], bp     
    
    00000000000000ab 00000000000000ab 61               popad                   61               popad                   
    
    00000000000000ac 00000000000000ac 6c               insb                    6c               insb                    
    
    00000000000000ad 00000000000000ad 6c               insb                    6c               insb                    
    
    00000000000000ae 00000000000000ae 6f               outsd                   6f               outsd                   
    
    00000000000000af 00000000000000af 636174           arpl [ecx+0x74], sp     636174           arpl [ecx+0x74], sp     
    
    00000000000000b2 00000000000000b2 696f6e00000066   imul ebp, [edi+0x6e], 0x66000000696f6e00000066   imul ebp, [edi+0x6e], 0x66000000
    Протестировать надо, есть пару багов. Но хотя бы он не мертв :D
    Исходники с бинарником:
    Attachments
    ud86_newlib.zip (83.77 KiB)
    Downloaded 193 times
  • Понял почему не было вывода в консоль.
    Оказывается там был freopen для stdout, и все печаталось в файл. И то что надо в файл, и то что надо в консоль.
    Переделал под fopen.
    Только консоль перестает перерисовываться, и похоже CPU 100% В menuetlibc версии SoUrcerer'а тоже, так что я не виноват :D
    Извиняюсь, обрезать не могу:
    Spoiler:
    Снимок экрана от 2020-11-16 11-41-59.png
    Снимок экрана от 2020-11-16 11-41-59.png (1.81 MiB)
    Viewed 5003 times
    (QEMU 556mb ram)

    Изменился только файл udcli.c, остальное из прошлого поста
    Attachments
    udcli.c (6.34 KiB)
    Downloaded 182 times
  • rev 8323
    Залил на SVN newlib версию
  • Who is online

    Users browsing this forum: No registered users and 5 guests