Sven Steinbauer
b4d74880c2
Add shift support to ldr instructions ( #7014 )
2017-03-13 14:27:35 +01:00
Simone Ferrini
a5cc36525f
[armass] Added support for sequence registers in pop instruction ( #6994 )
2017-03-12 19:18:28 +01:00
Álvaro Felipe Melchor
6870bec29f
Fix #6853 - get rid of asserts
2017-03-12 15:24:05 +01:00
Lowly Worm
b9302dd4b6
fix typo in WebAssemlby
2017-03-10 23:27:45 -08:00
Sven Steinbauer
73ff7ec410
implement ORR for arm64 FIX #6611 ( #6977 )
...
* implement ORR for arm64 FIX #6611
Implements or with registers and immediate (not yet with rot values for
registers)
* Squash warnings
2017-03-10 15:38:04 +01:00
Simone Ferrini
781b3fc58e
Fix BL for arm thumb ( #6968 )
2017-03-09 23:47:03 +01:00
pancake
bb4f591d93
Fix capstone3 build regression introduced in 272786852b
2017-03-09 00:02:28 +01:00
Wladimir J. van der Laan
10d1df6dd2
Update RiscV opcodes for disassembly ( #6897 )
...
* riscv: Update opcodes from binutils-gdb
Update to riscv opcodes from
[riscv-binutils-gdb](https://github.com/riscv/riscv-binutils-gdb/commit/08219b2 )
git 08219b2.
* riscv: set no_alias=false while disassembling
I'm not sure what the rationale was for setting no_alias to true
originally. But setting it to false means that shorter and (usually)
better readable aliases for instructions will be shown:
Before | After
---------------------+------------
`c.jr ra` | `ret`
`addi a5, zero, 123` | `li a5,123`
`jal zero, 0x101dc` | `j 0x101dc`
And so on.
2017-03-04 10:18:45 +01:00
Q
b7db017fa5
Fix multiple definition error in static builds ( #6891 )
...
Rename conflicting global names 'fields' array in AArch64
and 'fields' function in MachoO
2017-03-03 10:53:41 +01:00
dogtopus
247a8df1e7
Add getimmed8, fix #6841 ( #6892 )
2017-03-03 08:24:24 +01:00
pancake
8ab0befbd7
Remove assert in GNU's arm64 disassembler
2017-03-03 01:30:56 +01:00
Giovanni
780b834e61
Fix #6882 - tricore byte copy
2017-03-03 00:10:32 +01:00
h4ng3r
f41e941341
Fix #6885 - oob write in dalvik_disassemble
2017-03-02 22:51:57 +01:00
pancake
34089ab363
Fix entrypoint in wasm and add some uleb128-based instructions
2017-03-02 18:45:10 +01:00
Giovanni
aaa46baa48
fixed tricore bug ( #6883 )
2017-03-02 17:56:43 +01:00
pancake
a41a8252ae
Initial import of the WIP support for WebAssembly (bin + disasm)
2017-03-02 14:42:05 +01:00
pancake
d6756e235c
Implement author and version of RAsmPlugin
2017-02-28 02:26:55 +01:00
pancake
3b83e18c51
Remove assert for the GNU arm64 disassembler
2017-02-26 23:34:24 +01:00
Wladimir J. van der Laan
aab2bc824c
riscv: Choose first match while disassembling
...
The opcodes table is sorted with the preferred instructions with a
certain encoding first.
2017-02-26 23:06:32 +01:00
Wladimir J. van der Laan
78089cd34f
riscv: Return actual instruction length
...
Support instructions of varying length.
Addresses #6849 .
2017-02-26 23:06:32 +01:00
Maijin
266eee75ae
Fix #6560 Unify Windows/Win32 define
2017-02-26 16:51:03 +01:00
alvarofe
f992370474
Fix some memory leaks after ht clean up
2017-02-25 23:50:33 +01:00
alvarofe
0b97b11d38
Fix regression on tms320
2017-02-24 23:42:17 +01:00
alvarofe
8ff55080ea
Use ht_* in tms320
2017-02-24 23:42:17 +01:00
Sven Steinbauer
7d71bf5fa2
x86.nz infer bits from register names ( #6792 )
2017-02-15 11:49:35 +01:00
Sven Steinbauer
65791475ff
Refactor msr mrs instructions
2017-02-10 13:11:14 +01:00
Sven Steinbauer
d5c9a65a97
Refactor exceptions
2017-02-10 13:11:14 +01:00
Sven Steinbauer
70a16f14df
Refactor branch instructions
2017-02-10 13:11:14 +01:00
Sven Steinbauer
59aac1fdc4
Fix arithmetic op encoding
2017-02-10 13:11:14 +01:00
Sven Steinbauer
3480b9c799
Add lsl and shift to operand
2017-02-10 13:11:14 +01:00
Sven Steinbauer
cb36fd40cb
refactor mov instructions
2017-02-10 13:11:14 +01:00
Sven Steinbauer
4ef134e5c4
Add parsing routines
2017-02-10 13:11:14 +01:00
Sven Steinbauer
f6120770eb
Add ldrex strex to ARM assembler
2017-02-08 18:29:02 +01:00
Sven Steinbauer
6e9ae1772b
Fix #6696 - Prevent infinite loop on visual assembler ( #6709 )
2017-02-08 12:31:15 +01:00
Sven Steinbauer
8847e121d7
x86.nz fixes enhancements ( #6720 )
...
* Fix group 1 assemble
Fix assembling of group 1 instructions
* add byte [0x452343], 0x34
* add byte [0x435341], al
* Add support for register based offsets
mov [eax + ecx], 0x33
* Fix lea with large values in second operand
* Add movsx and movzx ops
2017-02-07 17:26:35 +01:00
SchumBlubBlub
6c00c9e2d5
Reorganize string macros
2017-02-06 00:00:03 +01:00
pancake
bd25a763d8
Fix null deref and infinite loop when building with no plugins
2017-02-02 13:25:21 +01:00
pancake
5fa9601abe
Implement add+sub for arm64
2017-01-29 14:48:13 +01:00
pancake
f64b082bd2
Implement adr instruction for the arm64 assembler
2017-01-29 14:08:04 +01:00
pancake
3c9e80372f
Fix #6598 - r2pm db2 issue and add 2 arm64 bonus ops to the assembler
2017-01-29 03:44:18 +01:00
pancake
1627b990ad
Add hvc and smc instructions in the arm64 assembler
2017-01-29 03:24:47 +01:00
pancake
196c800b87
Implement svc instruction for the arm64 assembler
2017-01-29 02:36:44 +01:00
Sven Steinbauer
4e73901e31
Add arm64 mov instruction ( #6594 )
...
Only handles immediates up to 32 at the moment.
FIX #6588
2017-01-27 20:49:34 +01:00
Álvaro Felipe Melchor
088c13ddad
Fix UAF in cb_asmarch
2017-01-25 23:20:20 +01:00
pancake
d9fb5713db
Fix racy set of asm.cpu and asm.arch
2017-01-24 13:57:17 +01:00
pancake
197443d42a
asm.cpu=cortex required for arm (not by default)
2017-01-23 03:02:35 +01:00
Sven Steinbauer
7c49535f07
Add cmov* support to x86.nz ( #6544 )
2017-01-20 17:14:08 +01:00
pancake
9467d350cc
nomclass is not for arm64
2017-01-18 15:14:31 +01:00
pancake
40f70bdf21
Fix #6400 - Properly set CS_MODE_MCLASS for Thumb
2017-01-17 18:25:48 +01:00
Sven Steinbauer
658241f038
Fix spp directive replacement
2017-01-17 15:24:04 +00:00
Sven Steinbauer
a8d3d5b996
Retire x86_olly to r2e ( #6521 )
2017-01-17 14:28:14 +00:00
Sven Steinbauer
4687135c5b
Add asm directives help (-hh) and update manpage
2017-01-16 12:03:06 +01:00
pancake
2a83f21a3e
Make gcc6 warnings happy
2017-01-15 22:02:57 +01:00
Sven Steinbauer
4fe5d34b44
Add comment for r_asm_from_string
2017-01-10 12:27:09 +00:00
Sven Steinbauer
58252b4cc2
Fix #6356 - Move spp integration to libr/asm.c
...
* Make spp parsing optional
* Add -p arg to rasm2
2017-01-10 00:57:49 +01:00
pancake
529c578487
Fix rax2 Ox (octal output)
2017-01-09 00:46:32 +01:00
Sven Steinbauer
583ca82dd9
ARM asm Fix #6436 ( #6441 )
...
Fix order of opcodes in comparison list to check against ands over and.
2017-01-07 01:45:10 +01:00
Sven Steinbauer
b517c80945
Fix check for al register ( #6382 )
...
Also check it's not memory. Move checks into own function.
2016-12-27 10:41:42 +01:00
Sven Steinbauer
8c30faf35c
group1 instructions generate short opcodes FIX #6377 ( #6378 )
...
For group 1 instructions with AL for op1 and a constant for op2, nz will
now generate the shorter opcodes
2016-12-26 14:13:36 +01:00
pancake
130c22fc49
XOR assemble for x86.nz requires 2 parameters
2016-12-26 02:20:57 +01:00
pancake
d7240fac8e
Fix latest covs
2016-12-22 16:13:49 +01:00
Álvaro Felipe Melchor
1a05aecaa4
Fix uaf in bin_dex.c and oob write in pi with dex
2016-12-19 19:41:10 +01:00
Álvaro Felipe Melchor
88d4649cc6
fix more coverities
2016-12-19 17:23:30 +01:00
pancake
50d73d1547
Fix a lot of memleaks, null derefs and undef behaviour thanks to clang-analyzer
2016-12-19 16:44:51 +01:00
pancake
9039228b58
Honor Q as an alias for q! in visual and prompt
2016-12-19 04:46:50 +01:00
pancake
2c5400e03e
Fix more CIDs, memleaks mainly
2016-12-19 04:21:56 +01:00
Álvaro Felipe Melchor
a874de805e
clean up code applying coding style
2016-12-15 21:04:27 +01:00
Gerardo García Peña
f40cbcee33
Set ATmega8 MCU by default. ( #6291 )
2016-12-08 01:22:54 +01:00
Álvaro Felipe Melchor
028e8f0ca3
Fix few covs
2016-12-04 22:26:17 +01:00
Sven Steinbauer
e4b5f0f32b
Cleanup opjc for x86_nz
2016-12-01 10:07:53 +00:00
pancake
cb06c9c26b
Fix #6270 - Honor current offset when assembling conditional jumps in x86
2016-11-30 16:22:34 +01:00
pancake
7e07579cdc
Fix last covs
2016-11-20 12:20:05 +01:00
Sven Steinbauer
5010de936f
Add br and blr ( #6217 )
2016-11-17 16:54:24 +00:00
Sven Steinbauer
8cf9af578c
Add arm64 branch instructions ( #6216 )
2016-11-17 17:05:13 +01:00
Sven Steinbauer
dec588687a
Fix add
and sub
for arm thumb FIX #6181 ( #6198 )
...
* Enhance sub op support for thumb arch
Generate correct instructions up to 0x100
* Improve support for add instruction for thumb arch
2016-11-16 11:25:11 +00:00
pancake
23cb88355d
Remove global code_align into RAsmCode
2016-11-16 01:24:09 +01:00
pancake
72b2249110
aae now flag all syscalls found in the binary
2016-11-15 12:55:09 +01:00
pancake
11f2c4fe4f
Add more movk/movz/movn for the arm64 assembler
2016-11-15 11:57:48 +01:00
radare
7852d92713
thumb assembly issues fix #3122 ( #6189 )
...
* Fix thumb ldr r0, [rN] assembly
* Handle numeric values for ldr rN, [rN, N]
does not handle special cases with values ending in 0, 4, 8
* Fix ldr assembly for 4 bit values
values that can be expressed with 4 bits care outputted with shorter instructions.
* Add support for blx op with register values
* Fix mov instruction with register as first parm
2016-11-14 14:23:38 +01:00
Sven Steinbauer
cd37be0406
Fix mov instruction with register as first parm
2016-11-14 12:14:51 +00:00
Sven Steinbauer
64bea8794c
Add support for blx op with register values
2016-11-14 11:48:49 +00:00
Sven Steinbauer
ef448c64fe
Fix ldr assembly for 4 bit values
...
values that can be expressed with 4 bits care outputted with shorter instructions.
2016-11-14 09:18:37 +00:00
Duncan Ogilvie
e16b490db5
fixed incorrect jna/jbe ( #6185 )
2016-11-12 17:58:00 +01:00
Sebastian Reichel
e9383b1441
Arch independent data in share ( #6183 )
...
* magic data is architecture independent
* fcnsign data is architecture independent
* opcode data is architecture independent
* syscall data is architecture independent
* hud data is architecture independent
2016-11-12 11:08:34 +01:00
Sven Steinbauer
9eb8802a0e
Handle numeric values for ldr rN, [rN, N]
...
does not handle special cases with values ending in 0, 4, 8
2016-11-11 19:09:42 +00:00
Sven Steinbauer
26cdbfdbdc
Fix thumb ldr r0, [rN] assembly
2016-11-11 08:37:06 +00:00
Sebastian Reichel
ff868af3be
asm_m68k_cs: Add missing CORELIB check ( #6169 )
...
radare_plugin should not be defined for builtin plugins.
2016-11-10 10:14:45 +01:00
Stefan Marsiske
ec4e60d2bd
fix radare_plugin redundantly defined ( #6165 )
...
without these guards the linker complains:
p/asm_z80.o:(.data.rel+0x0): multiple definition of `radare_plugin'
p/asm_m68k_cs.o:(.data.rel+0x0): first defined here
collect2: error: ld returned 1 exit status
2016-11-09 17:35:47 +01:00
Álvaro Felipe Melchor
f5166f936d
Fix some meamleaks ( #6156 )
2016-11-09 02:28:14 +01:00
Álvaro Felipe Melchor
3222447eab
Fix warnings when compiling in linux
2016-11-08 01:58:07 +01:00
Álvaro Felipe Melchor
9f6c3a2c8a
fix warning in tms320 s/st8/char/g
2016-11-07 22:31:09 +01:00
Álvaro Felipe Melchor
f941d219fe
revert change on ins.c
2016-11-07 21:23:05 +01:00
Álvaro Felipe Melchor
302d3f52e9
Take into account section alignment
2016-11-06 22:00:08 +01:00
Sven Steinbauer
e797258741
Test for valid numbers in arm getnum function ( #6118 )
...
* Test for valid numbers in arm getnum function
Using strtod it's possible to test if the string passed in is a valid
number
Also handles hexvalues
* KISS the fix
2016-11-05 10:38:42 +01:00
szt
f29a91b63a
arm chars are unsigned by default
...
http://blog.cdleary.com/2012/11/arm-chars-are-unsigned-by-default/
2016-11-04 04:49:34 +01:00
Sven Steinbauer
80da50f31f
Error on invalid b instruction ( #6109 )
...
If label resolves to an offset of 0, assume instruction invalid
2016-11-04 00:34:56 +01:00
Álvaro Felipe Melchor
601bd60e4d
refix r_asm_set_big_endian
2016-11-03 13:47:51 +01:00
Álvaro Felipe Melchor
53655fd3c2
fix regression
2016-11-03 13:42:37 +01:00
pancake
2e23217ccd
Add support for .endian rasm2 directive
2016-11-03 12:49:16 +01:00
pancake
cb1f0c79ce
Support /**/ in a single line
2016-11-03 12:32:50 +01:00
pancake
0fb0a170d2
Fix /**/ comments in rasm2
2016-11-03 12:29:08 +01:00
pancake
90fcf76623
Initial support for .align in rasm2
2016-11-03 12:01:54 +01:00
pancake
9d1f080b59
Fix heap overflow in rasm2
2016-11-03 11:11:50 +01:00
pancake
39f25ae2db
Support /**/ in rasm2 -f
2016-11-03 10:39:20 +01:00
pancake
37454c1dc1
Fix #6052 - ?O supports name -> id
2016-11-02 03:49:55 +01:00
Sven Steinbauer
ab2551691c
Add arm shift ops FIX #5482 ( #6081 )
2016-11-01 00:56:27 +01:00
pancake
4421b2ef72
Fix m68k plugin name
2016-10-31 00:00:01 +01:00
Maijin
e5b30f91d8
Add Oj Fix #6074
...
Add Oj Fix #6074
2016-10-30 12:39:49 +01:00
pancake
e31164a5fa
Fix latest covs
2016-10-29 13:06:11 +02:00
Sven Steinbauer
54afd47d9e
Remove m68k asm and anal from core ( #6063 )
...
* Remove m68k disassembler - Moving to extras
* Remove m68k anal plugin - Gets moved to r2e to be installed with m68k
2016-10-28 12:54:48 +02:00
Sven Steinbauer
7d5f4cbde7
Assemble 64bit byte mov correctly [FIX 6042] ( #6053 )
...
$ rasm2 -a x86 -b 64 'mov byte [rbp - 0x100], 2'
c68500ffffff02
Oddly this also compiles correctly before this patch with keystone
installed. Not sure as to why yet.
2016-10-27 15:14:10 +02:00
pancake
94d47c79bb
Completely remove all references to list.h
2016-10-27 13:33:27 +02:00
pancake
e925e04ea2
Fix crash in disassembler
2016-10-27 01:42:00 +02:00
pancake
d41b577106
Fix #5924 - r_flags -> r_flag
2016-10-27 01:07:58 +02:00
pancake
3ab7122df2
Implement ?O and r_asm_mnemonics() new API
2016-10-27 00:54:48 +02:00
pancake
589ac97bda
Fix some overflow-related covs
2016-10-26 23:40:17 +02:00
pancake
8d37adc546
Fix all pending null-deref covs
2016-10-26 23:22:04 +02:00
Álvaro Felipe Melchor
a2befc8adc
Enhance performance in r_anal_fcn_get_in() using tinyrange and sorted adds
...
* added sorted parameter in r_list
* use r_list_sort in r_range_sort
* some clean up
* added is_data into RBinSection
* use tinyrange by default to improve speed
2016-10-25 01:12:06 +02:00
Sven Steinbauer
52cc4dfe95
Move Z80 non-commercial to r2e ( #6015 )
...
* Move z80 non-commercial to r2e
Rename z80-cr to z80 as a consequence as it will be the default z80 disassembler
* Add GPL z80 assembler back in
* Fix Clang build
2016-10-24 13:21:36 +01:00
Álvaro Felipe Melchor
0cd32b4090
fix build
2016-10-24 11:58:35 +02:00
Sven Steinbauer
aa5fd3253c
Update and fix LGPL Z80 disassembler ( #6009 )
...
* Fix dd IX instructions
* Fix segfault for dd and de ops
Although only seemed to happen on OSX, not on linux.
* Fix ed op
* Remove invalid instruction "in f, [c]" which is not referenced in
http://clrhome.org/table/
* fix bad offsets to ops following removed one
* Fix fd ops with bad type flags
* Fix ed and fdcb ops
Remove debug prints
2016-10-24 10:28:59 +01:00
pancake
35d9eef757
Fix 20 more covs (divBy0, dbl3, negidx, bufovr, ..)
2016-10-20 15:39:36 +02:00
pancake
be9df39f6f
Fixed 40 null derefs reported by coverity
2016-10-20 15:02:25 +02:00
pancake
7a1b6871d9
Fix a bunch of outstanding coverities
2016-10-20 14:11:02 +02:00
Sven Steinbauer
4a2fba6168
Add segment reg support and numerous fixes FIX #5967 ( #5995 )
...
* Add support for seg registers
Support added for mov and pop instructions
[fs] is treated as [fs:0] which is not equivalent
Accepts sreg:[x] and [sreg:x] syntax
* Error if mov op reg sizes differ
also add support for 16bit register mov ops
* Improve segment register handling for mov op
* Fix opcode for 64bit instr with 32bits regs
* Refactor parsing of segment reg offset
2016-10-19 21:10:17 +01:00
Sven Steinbauer
f6b0ba574b
Fix for issue #5976 ( #5979 )
...
Check that register is not memory i.e. [eax] to generate correct opcode
2016-10-17 15:45:38 +02:00
szt
45bbca4e29
Fix "orr" in ARM assembler ( #5958 )
...
https://github.com/radare/radare2/issues/5954 fix
2016-10-12 23:33:53 +02:00
Álvaro Felipe Melchor
84b4b1b8f6
fix regression
2016-10-10 21:09:30 +02:00
pancake
3ae8b9813b
Get rid of some %\d$ constructions in anal_8051.c for #3944
2016-10-10 10:20:51 +02:00
Duncan Ogilvie
d0cccc5ec7
updated various opcode descriptions ( #5948 )
2016-10-09 19:11:40 +02:00
Álvaro Felipe Melchor
66a55302ee
Fix build
2016-10-08 13:25:16 +02:00
pancake
cd26e34a7b
Blind fix #5938 - remove some __FILE__ references
2016-10-08 03:01:22 +02:00
pancake
a8af78c7a6
Rollback the z80 change
2016-10-08 02:40:40 +02:00
pancake
0cf6623f52
Kill the z80.cr plugin, and use the disasm into z80
2016-10-08 01:35:27 +02:00
Duncan Ogilvie
8386438ea0
fixed and added opcode descriptions ( #5942 )
2016-10-07 18:35:40 +02:00
pancake
d7e0be5dad
Implement rasm2 -s? and refactor this a bit
2016-10-04 15:01:02 +02:00
pancake
1e89dddd87
Fixes in oa, asm.bits, avr and io debug issues
2016-09-26 00:46:20 +02:00
Álvaro Felipe Melchor
7c8292b9fb
Fix warnings and coding style
2016-09-25 01:27:05 +02:00
h4ng3r
e1889b31a1
Fix some BR test from asm.dalvik
2016-09-25 01:26:52 +02:00
Sven Steinbauer
8ab5f5fb5b
Add short jumps to nz ( #5832 )
2016-09-23 17:26:07 +02:00
Marc
0c8556bb22
Fix some DEX disasm issues ( #5829 )
2016-09-23 00:33:25 +02:00
Vlad Ivanov
438f151d6c
asm_xtensa: fix possible buffer overrun ( #5820 )
2016-09-22 12:21:37 +02:00
Gerardo García Peña
91cb15a3e7
New opcodes and operations in AVR anal plugin. ( #5783 )
2016-09-20 13:48:17 +02:00
Álvaro Felipe Melchor
05ae77eda4
fix warning & remove check in version info elf
2016-09-19 15:47:19 +02:00
Sven Steinbauer
2996538700
Fix #5633 - Change x == NULL
to correct syntax
2016-09-19 14:44:47 +02:00
pancake
e10c664c55
Add msr/mrs for the armass64 assembler
2016-09-16 18:27:42 +02:00
pancake
1449d61850
Fix regression in rasm2 -d
2016-09-15 17:30:38 +02:00
pancake
4f6b64a984
Some code cleanup/review for rasm2 + arc
2016-09-15 16:21:44 +02:00
Sylvain Pelissier
bfeff9f10b
ARM conditional instruction information ( #5747 )
2016-09-13 15:12:07 +02:00
pancake
496da56a9e
Fix sys/ios-static.sh
2016-09-12 20:52:12 +02:00