Commit graph

482 commits

Author SHA1 Message Date
pancake
c0b1e5fad3 Fix iOS build 2015-06-04 04:30:48 +02:00
pancake
add3ff9b2d Add missing hppa files 2015-05-28 11:57:22 +02:00
pancake
663cbb0455 Fix some warnings 2015-05-28 11:09:13 +02:00
pancake
b88ae16ffa Fix #2585 - fix 64bit mov in x86.nz 2015-05-18 20:00:10 +02:00
Quentin Santos
d5c40be889 Fix signed char boundaries when assembling jump
Signed char can be between -0x80 and 0x7f. The offset in the jump must be
computed taking into account the instruction length.
2015-05-14 17:29:28 +02:00
pancake
0697103f7d Fix #2536 - Implement ahS and fix ah in pd 2015-05-10 00:12:33 +02:00
pancake
bb76bb1794 Add asm.syntax=jz to convert je/jne into jz/jnz 2015-05-09 11:11:46 +02:00
Quentin Santos
9c30fbecba Fix nz assembler on mov to a 16 bit register 2015-05-09 10:39:42 +02:00
pancake
997dda6e5b Add support for iOS-simulator and static-OSX builds 2015-04-14 17:14:43 +02:00
pancake
acd5e4b999 Fix dalvik<->dex class and method name resolutions 2015-04-12 05:13:51 +02:00
pancake
6ab06a15ba Various fixes for DEX and Dalvik support 2015-04-11 04:33:37 +02:00
pancake
efc7ebff17 Add prgi and prgo commands to get consumed and generated bytes at gunzip 2015-04-03 03:20:04 +02:00
Jonathan Neuschäfer
6a3362ea9a Add a disassembler for Sharp LH5801 processors 2015-03-28 22:39:39 +01:00
pancake
538dc3562b Rename z80-cr to z80.cr (_cr for files) #consistency 2015-03-24 11:41:58 +01:00
pancake
f76b791b9f More fixes for the Dalvik disassembly (absolute offsets and floating point const) 2015-03-24 11:11:54 +01:00
Asger Hautop Drewsen
43ba7e6518 Fix inc dec for 32 bit registers in x86_64 2015-03-24 10:23:37 +01:00
pancake
14aa79eac9 Better disasm+code analysis for Dalvik 2015-03-24 00:08:48 +01:00
pancake
2e32d05986 Fix another capstone build breakage issue 2015-03-22 16:49:29 +01:00
pancake
12ea9734b5 Fix about 15 more random COVs 2015-03-21 02:04:49 +01:00
pancake
515b2e77bc Fix about 40 COVs related to memleaks and buffer overflows 2015-03-21 01:27:54 +01:00
condret
afa5bb3c42 fix some gb-related stuff 2015-03-19 23:45:24 +01:00
pancake
33b519278a Fix #2173 - handle hex values in some x86.nz instructions 2015-03-11 11:46:42 +01:00
pancake
f4ad6cd79d Add /Af support for RAnalOpFamilyPriv for privileged instructions
- x86.cs only atm, capstone support is still wip
2015-03-08 22:09:59 +01:00
pancake
1a442ce3b4 Forbid 64bit ARM assembler, move handling code into arm.cs 2015-03-08 17:59:43 +01:00
pancake
39ead51cd9 Update capstone to next 2015-03-07 11:33:58 +01:00
pancake
3a5600f7c5 Sync with latest capstone-next (fixes pkg-config issue) 2015-03-05 23:54:41 +01:00
Kamil Rytarowski
4b636346a4 Resolve warnings: array subscript is of type 'char' 2015-02-22 23:11:05 +01:00
Aaron Puchert
43f240520e Rename x86.new assembler to x86.tab
This stands for "table lookup assembler".
2015-02-22 22:32:13 +01:00
jvoisin
370175873c Improves a bit z80-cr 2015-02-21 21:54:12 +01:00
pancake
5c8b417cf2 Add mul/div opcodes for x86.nz assembler and fix osx build 2015-02-20 19:39:38 +01:00
pancake
dab15be84f Add more spaguetti in x86.nz to support and and or 2015-02-19 14:39:01 +01:00
jvoisin
55f5c73008 Coverifix++ 2015-02-19 12:59:13 +01:00
jvoisin
defd2d0e96 Coverifix 2015-02-18 13:05:37 +01:00
Fedor Sakharov
1c49aad91d msp430: Fix some bugs 2015-02-17 19:55:10 +01:00
Aaron Puchert
bd8d245b13 Add two-byte opcodes and fix some issues in x86.new
Contains:
- Eliminated unnecessary parameter in readNumber
- Don't choose opcode if we don't have enough parameters
- Add ability to read numbered registers
- Such as FPU, MMX or SSE registers.
- Correctly assemble some spec-field encoded operations
- If we have a spec field specifying the operation and a
  register-only operand, we have to move the operand first.
  This is common for FPU instructions.
- Use size_t instead of int where appropriate
- Add tests for XMM registers
- Added all two-byte opcodes
- Add tests for new operations
- Separate flags for assembly and machine language
- Sometimes operations have two register-only operands and
  we can't easily find out which to encode how. That's why
  we now have flags describing what we expect in the assembly
  and separate flags describing how to encode an operand.
  This also makes the assembler code cleaner.
2015-02-15 13:32:50 +01:00
pancake
79f74da707 Fix invalid arm64 disassembly issue 2015-02-12 17:08:06 +01:00
jvoisin
b8cdd7c0f7 Even more coverifix 2015-02-11 21:51:13 +01:00
jvoisin
5ad3afb628 Coverifix 2015-02-11 17:55:25 +01:00
Jeffrey Crowell
6b215beec0 fix build broken by a5f53eae05
remove unused var in config.c
2015-02-10 23:17:45 -05:00
pancake
a5f53eae05 Initial implementation of asm.features on x86.cs and arm.cs 2015-02-11 03:50:56 +01:00
pancake
d2b7b8786d Fix some uninitialized variables in the new x86 assembler 2015-02-08 21:25:02 +01:00
pancake
7b597ea874 Fix latest COVs 2015-02-08 00:30:25 +01:00
pancake
33fcd7fbcf Enhacements for DEX sections and ignore methods at 0 (wip) 2015-02-06 18:53:11 +01:00
Aaron Puchert
55fb46e5e3 Assemble [esp] memory operands correctly 2015-02-06 02:03:02 +01:00
Aaron Puchert
f4b0e03374 Don't forget offset for scale*index w/o base 2015-02-06 02:03:02 +01:00
Aaron Puchert
95ad67a73e Let parser read "int3" correctly 2015-02-06 02:03:02 +01:00
Aaron Puchert
67d5c28282 Don't crash when parsing operations without operands 2015-02-06 02:03:02 +01:00
Aaron Puchert
e393167227 Corrected mistakes with mov 2015-02-06 02:03:02 +01:00
Aaron Puchert
1efc66eec5 Better handling of number constants 2015-02-06 02:03:02 +01:00
Aaron Puchert
4c0dd46abf Assemble the memory operand [0x0] correctly 2015-02-06 02:03:01 +01:00