48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| This directory contains cstool of Capstone Engine.
 | |
| 
 | |
| Cstool is a command-line tool to disassemble assembly hex-string.
 | |
| For example, to decode a hexcode string for Intel 32bit, run:
 | |
| 
 | |
| 	$ cstool x32 "90 91"
 | |
| 
 | |
| 	0	90	nop
 | |
| 	1	91	xchg	eax, ecx
 | |
| 
 | |
| Cstool disassembles the input and prints out the assembly instructions.
 | |
| On each line, the first column is the instruction offset, the second
 | |
| column is opcodes, and the rest is the instruction itself.
 | |
| 
 | |
| Cstool is flexible enough to accept all kind of hexcode format. The following
 | |
| inputs have the same output with the example above.
 | |
| 
 | |
| 	$ cstool x32 "0x90 0x91"
 | |
| 	$ cstool x32 "\x90\x91"
 | |
| 	$ cstool x32 "90,91"
 | |
| 	$ cstool x32 "90;91"
 | |
| 	$ cstool x32 "90+91"
 | |
| 	$ cstool x32 "90:91"
 | |
| 
 | |
| To print out instruction details, run Cstool with -d option, like below.
 | |
| 
 | |
| 	$ cstool -d x32 "01 d8"
 | |
| 	0  01d8                              add	eax, ebx
 | |
| 	Prefix:0x00 0x00 0x00 0x00
 | |
| 	Opcode:0x01 0x00 0x00 0x00
 | |
| 	rex: 0x0
 | |
| 	addr_size: 4
 | |
| 	modrm: 0xd8
 | |
| 	disp: 0x0
 | |
| 	sib: 0x0
 | |
| 	op_count: 2
 | |
| 		operands[0].type: REG = eax
 | |
| 		operands[0].size: 4
 | |
| 		operands[0].access: READ | WRITE
 | |
| 		operands[1].type: REG = ebx
 | |
| 		operands[1].size: 4
 | |
| 		operands[1].access: READ
 | |
| 		Registers read: eax ebx
 | |
| 	Registers modified: eflags eax
 | |
| 	EFLAGS: MOD_AF MOD_CF MOD_SF MOD_ZF MOD_PF MOD_OF
 | |
| 
 | |
| To see all the supported options, run ./cstool
 |