I'm looking for the program which can change hexa code to assembly code in x86?
If you guys know about it, Please leave your comment.
14 Answers
What you are looking for is called "Disassembler" that translates hex codes into assembly mnemonic. Provide more details on which platform (e.g. Windows, Unix etc.) and which processor architecture (e.g. x86, x64, ARM etc.) you want to do it for.
Here's what I found on Google. Pick one that suits your need. Good luck.
P.S.
Udis86 looks quite easy to use based on the demonstration on it's homepage.
$ echo "65 67 89 87 76 65 54 56 78 89 09 00 87" | udcli -32 -x
0000000000000000 656789877665 mov [gs:bx+0x6576], eax
0000000000000000 54 push esp
0000000000000000 56 push esi
0000000000000000 7889 js 0x93
0000000000000000 0900 or [eax], eax distorm also looks quite good.
In the Linux world:
objdump -dw mybinary You can always use debug for this, as per the following transcript:
c:\pax> debug
-e 100 eb fe
-u 100 101
0B33:0100 EBFE JMP 0100
-q
c:\pax> _Of course, that's a fairly limiting option for any but the simplest of programs so you may want to get yourself a decent debugger such as OllyDebug.
Maybe for little pieces of hex, I use this online service