如何将机器或十六进制代码转换为汇编语言,是否有任何应用程序

时间:2019-07-05 02:44:21

标签: assembly x86-16 disassembly

我具有按字节顺序排列的机器或十六进制代码,我将其转换为程序集8086,如果有任何可用于相同目的的应用程序。

我已经下载并安装了大约5个反汇编程序,并尝试将源代码转换为汇编程序,但是没有一个像我这样工作。有用于此目的的任何应用程序,请给我该应用程序的URL。

.data:00000036 fa cli    
.data:00000037 33 c0                      xor    eax,eax
.data:00000039 8e d0                      mov    ss,eax
.data:0000003b bc 00 7c 16 07             mov    esp,0x7167c00
.data:00000040 bb 78 00 36 c5             mov    ebx,0xc5360078
.data:00000045 37                         aaa    
.data:00000046 1e                         push   ds
.data:00000047 56                         push   esi
.data:00000048 16                         push   ss
.data:00000049 53                         push   ebx
.data:0000004a bf 2b 7c b9 0b             mov    edi,0xbb97c2b
.data:0000004f 00 fc                      add    ah,bh
.data:00000051 ac                         lods   al,BYTE PTR ds:[esi]
.data:00000052 26 80 3d 00 74 03 26 8a    cmp    BYTE PTR 
es:0x26037400,0x8a
.data:0000005a 05 aa 8a c4 e2                   add    eax,0xe2c48aaa
.data:0000005f f1                               icebp  
.data:00000060 06                               push   es
.data:00000061 1f                               pop    ds
.data:00000062 89 47 02                         mov    DWORD PTR 
[edi+0x2],eax
.data:00000065 c7 07 2b 7c fb 8a                mov    DWORD PTR 
[edi],0x8afb7c2b
.data:0000006b 16                               push   ss
.data:0000006c fd                               std    
.data:0000006d 7d cd                            jge    0x0000003c
.data:0000006f 13 73 03                         adc    esi,DWORD PTR 
[ebx+0x3]
.data:00000072 e9 80 00 f6 06                   jmp    0x06f600f7
.data:00000077 24 7c                            and    al,0x7c
.data:00000079 20 74 05 c6                      and    BYTE PTR 
[ebp+eax*1-0x3a],dh
.data:0000007d 06                               push   es
.data:0000007e 90                               nop
.data:0000007f 04 54                            add    al,0x54
.data:00000081 a0 10 7c 98 f7                   mov    al,ds:0xf7987c10

如您所见: 1.第一个问题是每个句子的开头都是“ .data”关键字。我认为它也显示.code块,但是在整个代码中没有.code。 2.在某些行程序中引用的是整个代码中不存在的内存地址。例如,上面给出的代码捕捉,完整的代码开始于“ 00000000”,结束于“ 00029dff”。但您可以在第4行看到它正在尝试访问内存位置“ 0xc5360078”,该位置在内存位置不存在。  请给我反汇编,可能会产生正确的汇编代码。

0 个答案:

没有答案