Commit graph

1236 commits

Author SHA1 Message Date
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
b0ae267c2c Wrote tests for x86_new assembler 2015-02-06 02:03:01 +01:00
Aaron Puchert
4c0dd46abf Assemble the memory operand [0x0] correctly 2015-02-06 02:03:01 +01:00
Aaron Puchert
95ee95fdc9 Fixed memory addresses as immediates 2015-02-06 02:03:01 +01:00
Aaron Puchert
3e5eae9ce0 Fixed issue #2014 for x86.nz 2015-02-05 17:27:50 +01:00
pancake
a1dd4e1d94 Fix w32 build (another x86.new regression) 2015-02-05 16:34:05 +01:00
pancake
3ce72d628e Fix Android build (name conflicts with the new x86 assembler) 2015-02-05 16:22:13 +01:00
Aaron Puchert
0a2668d840 Wrote new x86 assembler
Supports only 32-bit for now and doesn't understand all mnemonics. And
we don't always choose the optimal opcode.
2015-02-05 16:05:20 +01:00
pancake
96257c4546 Fix Android build and some strict aliasing issues 2015-02-05 14:02:22 +01:00
pancake
383e225135 Fixes on top of the clang-warn-fix commit 2015-02-05 10:57:28 +01:00
Jeffrey Crowell
d4e0575d67 build on clang jenkins now 2015-02-05 10:57:21 +01:00
pancake
88378dba7e Fix all warnings reported by the NDK (type-punned stuff) 2015-02-03 01:45:46 +01:00
condret
31a557289d should fix #2010 2015-02-02 17:28:12 +01:00
jvoisin
7e70c4d144 Two coverifix and a fortune 2015-02-01 21:28:55 +01:00
Jeffrey Crowell
ead2bdcf50 Fix crash with negative length in whitespace
closes #1997
2015-01-28 12:04:21 +01:00
condret
c544b803f7 fix some esil-strings and foo 2015-01-28 00:04:43 +01:00
condret
2828ca508c add alternative LGPL z80-disassembler 2015-01-27 18:33:03 +01:00
jvoisin
9681c6fcf7 More coverity 2015-01-25 14:35:46 +01:00
jvoisin
9174457d0f Coverity++ 2015-01-24 15:33:53 +01:00
Anton Kochkov
cee7d7cc17 Test if SDBs were created in libr/asm/d 2015-01-22 18:16:05 +03:00
pancake
05e1b556f8 Generate asm/d/mips and update sdb from git for 0.9.4 2015-01-19 18:48:53 +01:00
fenugrec
80ae9a70a9 SuperH: added more opcodes to anal_sh.c 2015-01-15 22:42:00 +03:00
fenugrec
d145cdd826 Fix SuperH anal_sh plugin
added a lot of instructions; WIP
2015-01-15 22:42:00 +03:00
fenugrec
7f1698864a minor fixes to SH disasm output 2015-01-15 22:42:00 +03:00
jvoisin
8ac1616daf Fix some coverity issues 2015-01-14 02:53:34 +01:00
pancake
c2663afb01 Fix asm.ppc.cs big endian issue 2015-01-13 03:43:56 +01:00
jvoisin
759e3b24b5 Fix two trivial warnings 2015-01-13 03:05:11 +01:00
pancake
4825bb815c Remove psosvm from master repo (moved to radare2-extras) 2015-01-03 02:27:29 +01:00
Julien Nabet
164bbc7333 Some cppcheck reports fixed:
(warning) Logical disjunction always evaluates to true: regnum < 32 || regnum > 31
(style) Same expression on both sides of '||'
(style) Same expression on both sides of '&&'
(style) Expression is always false because 'else if' condition matches previous condition at line 180
2014-12-28 04:20:14 +01:00
pancake
f495b5031a Handle ET_REL ELF relocs, asm.cpu for arm.cs: v8, mcortex 2014-12-28 03:53:39 +01:00
Andrew McDonnell
6fe4d603ab Fixes other case for #1900: mov ebx, junk 2014-12-26 19:32:00 +01:00
pancake
c253cc5d6f Fix #1900 - The x86.nz 'mov' parser is a bit more strict now 2014-12-23 10:50:18 +01:00
pancake
15098999d2 Fix rep movsb and add retf/retn support for x86.nz assembler 2014-12-10 13:17:50 +01:00
pancake
0c91c7df62 Fix several bugs in the windbg and cris. thanks to coverity 2014-12-09 17:50:19 +01:00
pancake
2d81508caf Fix jalx for mips.gnu and mips.cs 2014-12-09 02:21:58 +01:00
fenugrec
e36d2d4dcf superH analyzer+disasm bigendian support 2014-12-09 01:39:41 +01:00
pancake
85631e7104 Fix build on OSX, fix warnings in shlr/wind and handle asm.cpu and asm.syntax for asm.cris 2014-12-08 23:38:13 +01:00
pancake
e7a4aefdd4 Disassemble CRIS v32 by default (TODO: honor asm.cpu) 2014-12-08 13:51:12 +01:00
pancake
95ddbeb2ec Disassembler fixup for CRIS (still wip) 2014-12-08 13:31:49 +01:00
jvoisin
db28d502d0 Fix some stupid warnings 2014-12-08 00:59:29 +01:00
pancake
274f22001d Add initial support for CRIS cpu as suggested by LolyRoP 2014-12-07 23:18:22 +01:00
Jeffrey Crowell
ed1aae7fd1 fix lots of spelling
fix some errors from the sed script

undo file mode crap
2014-12-07 17:00:59 +01:00
Kamil Rytarowski
60d3e1fc62 Don't set unused variables in arcExtMap_instName 2014-12-05 14:21:20 +01:00
Jeffrey Crowell
559049908e fix crash in asm.c
asm.c could assemble more instructions than spots in the token array,
this fixes it.
2014-12-05 13:32:03 +01:00
Kamil Rytarowski
aadbd0f868 Fix GCC warnings: array subscript has type 'char'
Reported at NetBSD-current/amd64
GCC 4.8.4 (nb1 20141012)
2014-12-04 03:26:08 +00:00
pancake
5687fe2d1b Support AT&T syntax for x86.cs disassembler 2014-12-01 16:49:47 +01:00
Skia
eee51db03a Fix issue #1765 2014-11-30 18:06:14 +01:00
pancake
1fba30bd67 Make i4004 code a bit shorter 2014-11-23 04:08:48 +01:00
Riccardo Schirone
bbd068f647 libr/asm/arch/i4004: fix compilation issue on os x
on os x snprintf is a macro and using another macro for first and second
arguments cause compilation problem.
2014-11-22 16:16:39 -08:00
jvoisin
6d803698a6 Fix some warnings 2014-11-22 16:44:36 +01:00
pancake
0bc0606f74 Avoid using sprintf without format and use snprintf boundaries 2014-11-22 12:06:40 +01:00
pancake
ea725dd685 Fix i4004.mk 2014-11-18 17:11:21 +01:00
condret
c80c68dd43 add disassembler for i4004 2014-11-18 15:50:06 +01:00
Julien Nabet
e20728ec15 cppcheck: fix 1 'else if' cond matches previous cond + test indice before using it 2014-11-16 18:13:06 +01:00
jvoisin
acd93d1b37 Fix some cppcheck warnings 2014-11-15 21:48:13 +01:00
pancake
9c6dc4ce2f Fix crash in x86.cs, handle ^C in /r and fix refptrs in disasm 2014-11-14 03:42:07 +01:00
pancake
4bb8a10390 Fix segfault in RAsm.fini and disable iter api for arm.cs 2014-11-14 00:40:24 +01:00
pancake
17bb6ab675 Fix memleak in x86.cs using the iter api
- Remove unused custom alloc code
- Call plugin destructor in RAsm fini method
2014-11-13 17:21:06 +01:00
pancake
6d4529ffbf Add core.anal plugin a2f command. Fix a bug in x86.cs, align comments at right 2014-11-13 03:36:48 +01:00
pancake
c8d1befac0 Fix w32 build 2014-11-10 17:20:29 +01:00
pancake
2482d569e4 Use capstone sparc by default and better ppc disasm 2014-11-10 16:47:03 +01:00
pancake
af8326bd3d Use capstone by default for POWERPC and do some more fixes in anal 2014-11-10 16:22:09 +01:00
pancake
8e96721eb6 A bit better sparc.cs analysis 2014-11-10 14:49:21 +01:00
pancake
1341cd7b7a Fix build 2014-11-10 11:28:34 +01:00
pancake
208b6ce089 Switch to Capstone for ARM by default 2014-11-10 06:27:19 +01:00
pancake
293ba25765 Switch to Capstone for MIPS (instead of GNU) 2014-11-10 06:21:22 +01:00
pancake
068dcfd7a7 Switch to capstone by default for x86 2014-11-10 06:15:27 +01:00
pancake
47db2652c3 Implement support for 'jmp [reg]' and 'jmp [reg+off]' in x86.nz 2014-11-09 23:14:09 +01:00
pancake
61ef0707eb Handle the latest MIPS asm.cpu variants from Capstone 2014-11-09 17:18:33 +01:00
pancake
479f31ee8f Update capstone again 2014-11-08 13:22:49 +01:00
pancake
6754144ce3 Fix #1552 - Handle rip variants of lea in the x86.nz assembler 2014-11-07 23:16:24 +01:00
pancake
b40bce8284 Fix all latest Coverity issues 2014-11-07 10:52:44 +01:00
pancake
6e5b360e00 Handle flag resolution in RAsm.num from RCore.num 2014-11-06 15:13:11 +01:00
pancake
4790375679 Random enhacements for RHex apis and relocs 2014-11-04 02:16:40 +01:00
pancake
fb9002d026 Fix bug in usage of cs_disasm_iter 2014-11-03 15:45:04 +01:00
pancake
a9eb8da77b Fix overflow in r_asm_disassemble() and implement rip-relative refs in anal.x86.cs 2014-11-03 03:27:22 +01:00
pancake
448d8e523c Minor code cleanup 2014-11-02 02:34:59 +01:00
pancake
1c3df12988 Use the new cs_disasm_iter API for {asm,anal}.x86.cs plugins (experimental) 2014-11-01 23:54:23 +01:00
jvoisin
a60d82b800 Fix a lot of warnings for GCC
Less than 20 warnings remaining on my x86_64 GCC 4.9.1
2014-10-26 13:50:58 +01:00
pancake
a2c3647ad0 Somewhat better BoostJam support 2014-10-26 02:47:08 +02:00
Thanat0s
03b6f03161 Adding z80 Help 2014-10-23 08:20:04 +02:00
pancake
c20e2c70db Add movs{bwd} opcodes in x86.nz assembler 2014-10-17 17:10:15 +02:00
pancake
7c152282a8 Use latest Capstone (Fixes relative branch on PPC and SPARC) 2014-10-16 10:19:37 +02:00
Fedor Sakharov
0b9abbd87a Move arch headers from ./lib/include 2014-10-14 14:24:22 +02:00
condret
b43409f03b Fix CID 1243234 2014-10-04 00:06:34 +02:00
Torben Nielsen
3ee3a268a6 Patch for issue #1477: BRBC/BRBS address calculation error. 2014-10-03 20:18:23 +02:00
pancake
b8532a0679 Fix crash in tms320 finalization 2014-10-02 10:11:46 +02:00
pancake
50cddc5286 Fix java disasm crash from rasm2 2014-09-30 23:37:20 +02:00
pancake
cde83cfd0c Add many experimental enhancements for the visual debugger
- V@ is an alias to set cmd.vprompt
- New config variables!
  stack.size = size of stack displayed in Vpp
  stack.delta = substract that delta to the stack address
  stack.anotated = use pxa instead of pxw
  scr.highlight = word to highlight by RCons
  hex.flagsz = override flag size in pxa
- Fix x86 udis anal plugin size of invalid instructions
- Fix 'hud file not found' issue
- Add 'Vdh' to set scr.highlight
- Fix V: wheel scroll issue
- Realign pxa marks if addr > UT32_MAX
- Set hex.flagsz = 9999 to cover the whole area instead of just 1 byte
2014-09-27 03:48:54 +02:00
Fedor Sakharov
2b0009b858 msp430: Initial commit 2014-09-25 21:46:57 +02:00
Maijin
161ccf2b96 Fix Warning:return-type 2014-09-25 21:46:40 +02:00
Fedor Sakharov
cf6dd3947b propeller: Fix multiple warnings 2014-09-23 12:23:34 +02:00
Fedor Sakharov
ba42426171 h8300: Fix a warning 2014-09-23 12:23:34 +02:00
Anton Kochkov
5d2a8fb603 Fix build 2014-09-23 00:47:02 +04:00
Anton Kochkov
40b7048edc Fix warnings for TMS320C55x+ 2014-09-23 00:44:32 +04:00
pancake
7e1875e4ff Fix some warnings 2014-09-22 19:45:14 +02:00
pancake
be7ef9d890 More warning cleanup 2014-09-20 15:35:08 +02:00
Fedor Sakharov
0592964fe9 propeller initial commit 2014-09-18 18:51:24 +02:00
pancake
442475a690 Switch to GNU for ARM
- anal.arm.cs - have a crash that needs to be found and fixed
- asm.arm.cs - show negative destination addresses sometimes
2014-09-17 17:53:50 +02:00
Torben Nielsen
c9ea8bc718 Trying to fix issue #1354: Program memory width is 16 bit, JMP/CALL addresses should be converted to 8 bit memory width when disassembling. 2014-09-17 15:40:58 +02:00
futex
d2cd30b7cb add setne instruction
add setne instruction
2014-09-16 15:22:57 +02:00
pancake
d85cf28e84 Revert "Remove debug code in avr disasm /via @svensin"
This reverts commit 59d39473c8.
2014-09-15 17:45:52 +02:00
pancake
59d39473c8 Remove debug code in avr disasm /via @svensin 2014-09-15 12:16:22 +02:00
pancake
4c0f2cc884 Fix p/mips_gnu.mk 2014-09-15 03:37:26 +02:00
pancake
db9c22aade Fix memleak in core/anal 2014-09-14 04:24:03 +02:00
Jonathan Neuschäfer
1d337c6794 asm_bf: fix an out of bounds read and don't combine traps 2014-09-13 17:50:42 +02:00
pancake
63f00d0b0f Implement working ESIL backend for Brainfuck. Requires manual init 2014-09-13 02:24:50 +02:00
Jonathan Neuschäfer
3506fcbefe bf: remove a useless heap allocation 2014-09-13 00:47:58 +02:00
Jonathan Neuschäfer
c16588aa4a bf: clarify repetition counting 2014-09-13 00:47:58 +02:00
Jonathan Neuschäfer
c4a379ad51 bf: rename peek/poke to in/out 2014-09-13 00:47:58 +02:00
Jonathan Neuschäfer
29601c3b54 Fix display of repeated brainfuck instructions
An snprintf with the same source and destination buffer caused the buffer to
be read as an empty string.

To quote the Linux Manpages project:

  C99 and POSIX.1-2001 specify that the results are undefined if a call to
  sprintf(), snprintf(), vsprintf(), or vsnprintf() would  cause  copying  to
  take  place  between  objects that overlap (e.g., if the target string array
  and one of the supplied input arguments refer to the same buffer).
2014-09-13 00:47:58 +02:00
Maijin
f5d1be5ea1 rename cs_disasm_ex to cs_disasm 2014-09-10 18:11:48 +02:00
pancake
0343c97b71 Fix long relative jmp assemble in x86.nz plugin 2014-09-09 01:06:21 +02:00
pancake
360d9d651c Fix segfault in Dalvik disassembler 2014-09-05 18:59:24 +02:00
pancake
0d620bd37f More native mingw32 fixes 2014-09-01 15:50:04 +02:00
pancake
0178d0a4ed More fixups for mingw32 2014-09-01 15:29:02 +02:00
pancake
40c11d4477 Handle popad and pushad in default x86 assembler 2014-09-01 01:25:07 +02:00
pancake
8204e78c3f Fix RBin & RLang related crashes (fix lot of memleaks and dblfrees) 2014-08-29 16:27:44 +02:00
jvoisin
052d576ae6 coverifix 2014-08-24 19:40:08 +02:00
pancake
3ee44b934e Fix rasm2 -a arm -b 16 2014-08-22 01:17:36 +02:00
jvoisin
9b99c0135d Even more coverifix 2014-08-18 15:03:02 +02:00
jvoisin
702ac741b9 More coverifix 2014-08-17 21:04:12 +02:00
jvoisin
bcbeb3c066 Fix some gcc warnings 2014-08-11 16:07:17 +02:00
pancake
9cb92b58f6 Rollback to use GNU disassembler for MIPS. Capstone is still buggy 2014-08-10 17:15:49 +02:00
jvoisin
b52722a30c Fix some 55c+ coverity issues 2014-08-04 01:56:54 +02:00
pancake
3c077cb022 Aim to fix all coverity issues related to dalvik 2014-08-01 01:26:08 +02:00
pancake
bd39d7a6d5 Reduce RAsmOp struct size from 4096 to 384 bytes 2014-07-31 03:37:38 +02:00
jvoisin
975daf00f5 Coverifix 2014-07-30 22:26:13 +02:00
pancake
50e8e0e507 Add 'lp' command to 'load plugins' + some work on 'bin.laddr' 2014-07-30 11:14:26 +02:00
jvoisin
8921277e64 Fix some coverity issues 2014-07-25 17:11:14 +02:00
pancake
0d0ca9e153 Aim to fix some crashes related to capstone on !x86 2014-07-23 01:16:43 +02:00
pancake
5dfdea2327 Fix invalid length instructions in mips.capstone disassembler 2014-07-12 01:48:42 +02:00
pancake
2719a78290 Support make install & make symstall with DESTDIR or PREFIX with spaces 2014-07-10 01:13:04 +02:00
Ilya V. Matveychikov
9d0bb6b0b0 tms320: trying to implement insn qualifiers for c55x 2014-07-07 00:08:02 +04:00
Ilya V. Matveychikov
e070707308 tms320: fix warning 2014-07-07 00:02:04 +04:00
Ilya V. Matveychikov
9fac99555e tms320: whitespace cleanups 2014-07-06 23:10:20 +04:00
pancake
d328957768 Update sdb to fix '***' and add r_asm_get_plugins 2014-07-03 00:03:01 +02:00
zlice
12f4167a65 Changed switch/case orders - added syscall and break 2014-06-30 15:02:41 -04:00
pancake
d87ca43656 Fix #997 - Can't assemble xor eax,eax on 64bit 2014-06-30 01:46:34 +02:00
pancake
a12667a98a Fix mips-asm for 'R' types and remove '$' from mips.cs regs 2014-06-30 00:10:07 +02:00
zlice
df8f52a837 Fixed R opcodes 2014-06-29 23:14:03 +02:00
zlice
2141581329 Dont think theres an a7 register in mips 2014-06-29 23:14:03 +02:00
zlice
04260bbce4 Added more mips assembler instructions 2014-06-29 14:07:21 +02:00
pancake
fefe2e6cdf Handle mips assembler from the capstone plugin 2014-06-27 16:38:06 +02:00
pancake
2490e54e77 Add asm.syntax=regnum (alias for capstone NOREGNAME) 2014-06-25 15:44:33 +02:00
pancake
f74b788809 Rename GNU plugins to _gnu 2014-06-25 12:22:08 +02:00
pancake
91167b18b8 Fix static build 2014-06-25 05:03:05 +02:00
pancake
f67850fcb2 FIx w32 build 2014-06-25 04:19:23 +02:00
pancake
1a3ffef8b4 Fix static build 2014-06-25 04:11:43 +02:00
pancake
74af39034d Make ARM and MIPS capstone plugins by default (previous plugins renamed to .gnu) 2014-06-25 03:08:13 +02:00
pancake
ea67c628b0 More warning and build fixes 2014-06-25 02:30:42 +02:00
pancake
3c75ed7dc0 Fix build 2014-06-25 02:23:12 +02:00
pancake
377b5bb2fe Clean a huge list of warnings 2014-06-25 02:07:38 +02:00
pancake
4cba3d2af6 Fix non-shared capstone build 2014-06-24 13:34:11 +02:00
pancake
42aeb0d271 Add --with-syscapstone configure flag 2014-06-24 12:48:29 +02:00
Ilya V. Matveychikov
256a0d9642 tms320: remove [label, ] from the c55x systax 2014-06-24 01:24:44 +04:00
Ilya V. Matveychikov
e991ae4600 tms320: another fix of uu field decoding for c55x 2014-06-24 01:05:11 +04:00
Ilya V. Matveychikov
f25e1b0dfa tms320: fix c55x insn syntax in case of uu field parsing 2014-06-20 12:05:06 +04:00
Ilya V. Matveychikov
172818b1ed tms320: fix uu field decoding for c55x
Instruction table and generator script update, also.
2014-06-20 12:05:06 +04:00
jvoisin
08c864c1cf Add MIPS opcodes description 2014-06-19 12:42:44 +02:00
pancake
160c4568f7 More RPN ESIL (udis86, vm, conditionals, ..). Honor cfg.debug
- A debugger session can be turned into emulation with 'e cfg.debug=0'
- Fixed undo seek issues
- Fix "Unknown register 'rip'" issue
- debugger commands mixed with analysis ones. We must merge at some point
- More udis86 instructions translated to the new esil
2014-06-17 10:23:11 +02:00
condret
49b31e30f3 add spc700-disassembler
fix a gcc-warning and make things more @jvoisin compliant
2014-06-16 01:14:52 +02:00
jvoisin
30c9e212ac Fix some clang warnings 2014-06-13 23:41:36 +02:00
pancake
b5ae986524 Fix #1004 - x86 "sete" not supported #1004 2014-06-10 16:24:01 +02:00
pancake
b3e8b3152b 8051 is a 8bit cpu, set asm.bits when asm.arch doesnt supports current value 2014-06-10 11:48:02 +02:00
jvoisin
34303f266c Fix #1018 (rasm2 segfaults on 32-bit ARM). Thanks @xobs 2014-06-09 23:38:19 +02:00
condret
b58529d5fc fix gcc-warnings, thx @jvoisin 2014-06-06 15:46:32 +02:00
Ilya V. Matveychikov
b5321048b4 tms320: avoid some decimal consts to be signed for c55x_plus 2014-06-03 02:15:36 +04:00
Ilya V. Matveychikov
390345ea95 tms320: fix YYY field decoding for c55x 2014-06-02 12:10:33 +04:00
LemonBoy
d8181a5dfd some fixes for the z80 backend, fixes #556 2014-05-29 12:39:22 +02:00
pancake
34d04039d0 Fix #978 - Support 64bit 'mov' in x86.nz assembler 2014-05-28 17:23:34 +02:00
pancake
bb16d1737c Add initial XCore capstone disassembler and code analysis plugins 2014-05-27 23:08:59 +02:00
pancake
62a6619b7e Oops. Fix armass crash 2014-05-22 10:56:25 +02:00
jvoisin
268f114ccf Fix CID 1214582 2014-05-22 10:51:55 +02:00
jvoisin
87d96c34a9 Fix CID 1214583
Fix a Out-of-bounds read
2014-05-22 10:48:48 +02:00
pancake
e87c1745bb Add 'and' and 'mul' ARM thumb assembler opcodes 2014-05-21 23:58:13 +02:00
pancake
a708b77a2d Add Cydia packaging 2014-05-18 03:15:38 +02:00
pancake
355c376afa Fix ppc.cs disasm (no 64bit mode) 2014-05-18 03:01:31 +02:00
pancake
ea0c2caa59 Add sys/ios-sdk build scripts 2014-05-17 04:41:33 +02:00
pancake
ca18aedb94 Add Capstone SystemZ and SPARC disassembler and analysis plugins 2014-05-17 02:53:37 +02:00
Fedor Sakharov
af55ab712d Adds v850 support.
Fixes #751
2014-05-16 15:56:52 +04:00
Anton Kochkov
0b48c723bf Fix 8051 instruction length for some opcodes 2014-05-16 03:08:08 +04:00
pancake
48d3cfe017 Fix udis86 64bit jump immediate regression issue 2014-05-15 23:39:19 +02:00
Ilya V. Matveychikov
14a6277b96 tms320: fix needless h-suffix in printf for c55x 2014-05-16 00:32:16 +04:00
Anton Kochkov
b4bc556804 Fix invalid 8051 opcodes 2014-05-15 23:59:28 +04:00
pancake
5f5cbde791 Fix more 68k bugs and doesnt git pull capstone 2014-05-15 20:13:47 +02:00
Pau Oliva
d9ba1de3e9 Fix m68k disassembler crash 2014-05-15 17:54:21 +02:00
Anton Kochkov
4e9eb42e54 Fix CID 1135133 2014-05-15 05:01:49 +04:00
Anton Kochkov
2b2333f981 Fix CID 1195083 2014-05-15 04:55:20 +04:00
deeso
1fbc7f2168 Added load_bytes, Pushed curplugin down to RBinObj, Reworking the RBinFIle loading to accomodate RBinObj reworked how all bins are loaded. Needed to hack IO to make
this work with rbinfiles and rbinobjects.

Conflicts:
	libr/bin/bin.c
	libr/bin/p/bin_te.c
2014-05-13 21:54:18 -05:00
Ilya V. Matveychikov
31caee0ab4 tms320: cleanup wrong spacing for c55x AADD insn 2014-05-13 20:24:45 +02:00
Ilya V. Matveychikov
668c485b8c tms320: fix TAx/TAy registers decoding for c55x 2014-05-13 20:24:45 +02:00
Ilya V. Matveychikov
366f3e66ee tms320: merge instruction tables for c55x 2014-05-13 20:24:45 +02:00
Ilya V. Matveychikov
36ce740818 tms320: fix src1,2 and dst1,2 fields parsing for c55x 2014-05-13 20:24:45 +02:00
pancake
962ac8d307 Fix all java warnings 2014-05-12 10:16:15 +02:00
Anton Kochkov
09aa35d3bd Cleanup disasm buffer for 8051 2014-05-11 04:51:43 +04:00
Anton Kochkov
1a0d10ef34 8051 - remove inclusion of the C source 2014-05-10 18:18:26 +04:00
Anton Kochkov
9069d8e0a9 Fix TMS320C55x+ segfaults 2014-05-10 03:01:55 +04:00
Anton Kochkov
fa96f3fa85 Fix #904 - 8051 disassembly 2014-05-10 02:02:01 +04:00
pancake
216c183b6e Remove tons of useless 'if (x) free (x)' 2014-05-09 17:40:28 +02:00
jvoisin
e91a45e867 Fix CID 1194806 2014-05-09 15:33:01 +02:00
jvoisin
36a5f5b56d Fix CID 1135160 2014-05-09 15:26:32 +02:00
jvoisin
f115779c5f Fix CID 1134541 2014-05-09 15:08:47 +02:00
pancake
1eb08738ba Fix #904 - s/???/invalid/g 2014-05-09 10:48:23 +02:00
pancake
731fc03a29 FIx #905 - assemble rdtsc and fix /c 2014-05-09 10:39:56 +02:00
pancake
ee276298b2 Fix memleaks in radiff2, segfaults in 8051 and aagraph 2014-05-09 03:06:05 +02:00
Anton Kochkov
33d5dfbca4 Fix build 2014-05-09 03:53:27 +04:00
Anton Kochkov
bf6e827551 Fix 8051 segfaults 2014-05-09 03:49:36 +04:00
Anton Kochkov
01a7d72362 Fix CID 1134848 2014-05-09 03:49:35 +04:00
Anton Kochkov
93757f045a Fix CID 1137867 2014-05-09 01:52:59 +04:00
Fedor Sakharov
5ec72d68c8 ARC: print numbers in hex, don't use 0x prefix if the number is in [0..9]
Fixes #306
2014-05-08 12:28:02 +04:00
Ilya V. Matveychikov
8167a31d8a tms320: remove unicode symbols from the c55x opcode table 2014-05-08 01:42:39 +02:00
Ilya V. Matveychikov
12fd2dffbd tms320: add XACS/XACD fields parsing for the x55x
It was surprising for me that these fields are not parsed properly. Found that
by crafting test cases in radare2-regressions.

Also, opcode table for the c55x was slighly incorrect. Hope, next patch will fix
that confusion.
2014-05-07 23:43:28 +02:00
Ilya V. Matveychikov
f225edde45 tms320: fix c55x opcode table
This patch fixes c55x opcode table and solves the problem with parsing of 2 or
more similar instructions that differs in some bits. Mmatching algorithm doesn't
takes into account wildcard mask length.

It leads to bad situation where first instruction match may complete successfull
but the second instruction, which in turn has more presicely mask, doesn't be
looked up:

       INSN1 with mask AAAA xxxx BBBB	(matched by wildcard mask)
       INSN2 with mask AAAA CCCC BBBB

Here the 'xxxx' is a 4-bit whildcard mask, 'AAAA', 'BBBB' and 'CCCC' is 4-bit
values.

The solution is to rebuild tables sorting items by the wildcard mask length
ascending.
2014-05-07 23:43:28 +02:00
Ilya V. Matveychikov
d25b5511dc tms320: add c55x table generator script 2014-05-07 23:43:28 +02:00
Ilya V. Matveychikov
91ebf19666 tms320: fix invalid k12 field parsing for c55x (in some cases k12=k4+k8) 2014-05-07 23:43:28 +02:00
pancake
b1349f8b14 Merge branch 'master' of https://github.com/radare/radare2 2014-05-07 16:32:53 +02:00
jvoisin
280068268b Fix CID 1135188 2014-05-07 13:43:31 +02:00
jvoisin
6c7dc17b36 Fix CID 1134630 2014-05-07 13:36:32 +02:00
jvoisin
a45deea1f7 Fix CID 1134593 2014-05-07 13:33:20 +02:00
Ilya V. Matveychikov
70afe92c81 tms320: fix instruction syntax (space missed) 2014-05-07 02:52:04 +02:00
Ilya V. Matveychikov
dfac2f9f0c tms320: fix error with c55x SSDD fields decoding 2014-05-07 02:52:04 +02:00
Ilya V. Matveychikov
a8bb021882 tms320: don't use hash sign with hex numbers for c55x
The only one rigth thing to do with hex numbers is to precede
such a numbers with '0x', not the '#' (beat me).
2014-05-07 02:52:04 +02:00
jvoisin
2c9923807e Fix CID 1135115 2014-05-06 01:36:08 +02:00
jvoisin
90d5fc576d Fix CID 1135114 2014-05-06 01:35:00 +02:00
jvoisin
f7767d4f15 Fix CID 1135113 2014-05-06 01:32:44 +02:00
jvoisin
d705e916bf Fix CID 1135109 2014-05-06 01:31:26 +02:00
jvoisin
20d17f5947 Fix CID 1135102 2014-05-06 01:25:39 +02:00
jvoisin
6ed5eaeac9 Fix CID 1135117 2014-05-06 01:17:19 +02:00
jvoisin
9001073705 Fix CID 1134527 2014-05-06 01:07:19 +02:00
Anton Kochkov
859a1492cd Fix CID 1211138 2014-05-06 01:13:39 +04:00
jvoisin
26d08c9259 Fix CID 1211167 2014-05-05 18:21:39 +02:00
jvoisin
47e5332073 Fix CID 1211139 2014-05-05 17:54:51 +02:00
Anton Kochkov
846a35063d Fix CID 1134848 2014-05-03 04:29:10 +04:00
jvoisin
838dabba30 Fix CID 1135190 2014-04-30 12:42:51 +02:00
jvoisin
1cd63a2f2e Fix CID 1134666 2014-04-30 12:42:51 +02:00
jvoisin
8ae158e86d Fix CID 1135187 2014-04-30 01:56:36 +02:00
jvoisin
1cce7502da Fix CID 1134680 2014-04-30 01:41:52 +02:00
Anton Kochkov
94d01aba57 Fix CID 1137861 2014-04-30 03:04:41 +04:00
Anton Kochkov
18235021ba Fix CID 1137863 2014-04-30 03:02:13 +04:00
Anton Kochkov
3021f89f3e Fix CID 1194794 2014-04-29 06:08:38 +04:00
Anton Kochkov
7e285583df Fix CID 1194795 2014-04-29 06:08:38 +04:00
Anton Kochkov
b6ea32d2fb Fix CID 1208743 2014-04-28 23:08:31 +04:00
deeso
ce7f33480e fixing warnings (not the unused ones) in various files 2014-04-28 12:58:35 -05:00
jvoisin
76965f8d77 Add checks to "r_file_mkstemp" calls 2014-04-28 11:36:19 +02:00
Anton Kochkov
0e93873959 Fix CID 1134722 2014-04-26 01:53:23 +04:00
Anton Kochkov
6f2b6b8c18 Fix CID 1134500 2014-04-26 01:53:23 +04:00
Anton Kochkov
2cddd89890 Fix CID 1134499 2014-04-26 01:53:23 +04:00
Anton Kochkov
51736bd435 Fix CID 1134485, 1134486 2014-04-26 01:53:23 +04:00
Maks Naumov
15dfa00851 fix reversed memset arguments in disassemble() 2014-04-14 15:39:39 +02:00
pancake
67a92cb119 Refix static build 2014-04-07 10:24:25 +02:00
pancake
c2853a8470 Aim to fix static build 2014-04-07 03:14:39 +02:00
pancake
ee09c9ad0c Use m68k disasm to calculate instlen in analysis 2014-04-07 03:06:02 +02:00
pancake
2a5131aa85 Handle ',' '=' and ' ' as tokens for .equ in rasm2 2014-04-06 23:20:25 +02:00
Pau Oliva
15c06938cf fix branch addr when bigger than a word on m68k 2014-04-06 16:46:40 +02:00
pancake
5091fa0887 Fix segfaults and minor changes in m68k disasm + anal, webversion is not 2014-04-06 03:29:29 +02:00
pancake
3be52d8ac6 Fix m68k instruction length in disassembler 2014-04-04 17:45:04 +02:00
Adam Pridgen
6bc694f873 Added colorization to pdn and added a dead code warning if all the bytes in a method are not consumed during analysis. 2014-04-01 16:22:56 -05:00
Fedor Sakharov
24684c333f cr16: Fix bugs with anal and add missing dedic register names 2014-03-26 22:29:34 +01:00
pancake
c5db30dcd5 More static link fixes 2014-03-25 01:21:25 +01:00
Fedor Sakharov
f65442bb4a cr16: fix biti command 2014-03-24 21:19:03 +04:00
Fedor Sakharov
900721165c cr16: Adds anal support 2014-03-24 21:18:57 +04:00
Fedor Sakharov
ef7363ce4e cr16: Removes dead code 2014-03-24 11:26:06 +04:00
Fedor Sakharov
08aca601b1 cr16: Initial support for CR16. 2014-03-21 21:03:17 +04:00
pancake
fad24ba146 Remove some warnings and unused code 2014-03-21 12:28:34 +01:00
condret
910bbad2e3 Update gbdis.c
might be bit faster
2014-03-19 01:41:14 +01:00
pancake
10b901736e Fix linux reloc issue in link stage 2014-03-18 02:37:38 +01:00
pancake
92c5d8513b Refix link 2014-03-18 02:21:52 +01:00
condret
b202b05774 Add support for GBA roms and update GB opcode table
see http://gbdev.gg8.se/wiki/articles/CPU_Instruction_Set
2014-03-12 15:32:29 +01:00
pancake
9e8a815ac8 Strip 'ptr ' from capsone x86 disasm 2014-03-08 03:14:10 +01:00
pancake
2dcdd8b45e Fix asm/d clean 2014-03-08 01:18:45 +01:00
pancake
784a1d2a72 Import radare2-capstone asm/anal plugins 2014-03-07 04:15:45 +01:00
pancake
bb7958342b Deprecate RPair API and ?k. Use SDB and integrate it with 'k' 2014-03-07 01:26:11 +01:00
Fedor Sakharov
6b5bb3a6cb h8300: Fix coverity issues, fix tests. 2014-03-02 23:39:06 +04:00
Fedor Sakharov
8db329d5c6 h8300: Initial commit. 2014-02-26 19:46:13 +01:00
condret
bf61ecdeee Add cpu fail cycles, Add CCALL and improve GB 2014-02-26 01:15:34 +01:00
pancake
f98d4ec8a0 Fix MSIL disassembler 2014-02-26 00:57:42 +01:00
pancake
bc46258402 Show bits and enhace RAsm plugin descriptions 2014-02-25 17:03:12 +01:00
pancake
fcc9489c4f Fix some more warnings 2014-02-25 12:18:29 +01:00
condret
ca1644eaea add 6502-disassembler + make asm.snes shared 2014-02-24 17:24:51 +01:00
pancake
d257493fb3 Fix some warnings 2014-02-24 12:18:07 +01:00
pancake
bec7627f9a Fix zero byte invalid instructions issue in disasm 2014-02-24 10:55:15 +01:00
pancake
070bc97286 Fix #582 - Escape binary strings in output error message 2014-02-23 01:56:26 +01:00
pancake
f364124f3f Fix #648 - Crash in test-r_anal.py 2014-02-22 01:58:40 +01:00
pancake
525d4a5865 Fix #637 - bf causes segfaults if blocksize is too big #637 2014-02-17 17:25:10 +01:00
Zach Riggle
36518d2ae6 Fix clang build (unicode characters outside of literals) 2014-02-15 20:47:46 -05:00
pancake
acc89d63e6 Use even more ut* types 2014-02-10 16:56:10 +01:00
pancake
c6ab7b759d Fix another rasm2 bug 2014-02-10 16:09:40 +01:00
pancake
90264229c9 Add Vo, fixes in $sys in RAsm, new io.self plugin, initial work on preloaded r2 2014-02-10 03:31:12 +01:00
Ilya V. Matveychikov
3ff4490222 TMS320: fix invalid opcodes displaying
Now it show not only "invalid" string but the "invalid" string and the
opcode itself. Also, this patch fixes the problem with strange
instruction gap, that appears after the invalid opcode reveals.
2014-02-07 18:54:42 +04:00
Ilya V. Matveychikov
e4226ffcea TMS320: fix defects reported by coverity
** CID 1168318:  Dead default in switch  (DEADCODE)
/libr/asm/arch/tms320/tms320_dasm.c: 552 in get_mmm_str()

** CID 1168319:  Operands don't affect result  (CONSTANT_EXPRESSION_RESULT)
/libr/asm/arch/tms320/tms320_dasm.c: 383 in get_cond_str()
2014-02-07 13:42:06 +04:00
Ilya V. Matveychikov
41eb3808c1 TMS320: move c55x+ to C55X_PLUS namespace 2014-02-06 12:50:25 +04:00
Ilya V. Matveychikov
cef957b20d TMS320: remove 64 from asm plugins bits 2014-02-06 11:07:47 +04:00
Ilya V. Matveychikov
8f40890bd7 TMS320: fill cpus field in the RAsmPlugin struct 2014-02-06 11:04:53 +04:00
zonkzonk
2f66bc120f add some x86 instruction description (*q x86_64)
please review! should we split x86 and x86_64 ?
2014-02-06 01:01:52 +01:00
pancake
2c676570a9 Merge branch 'master' 2014-02-06 00:27:08 +01:00
pancake
9a099e9e9e Add RAsmPlugins->cpus and handle it in rasm2 -L <arch> 2014-02-06 00:26:17 +01:00
Anton Kochkov
db8f8aaef1 Fix asm.cpu and anal.cpu TMS320 names 2014-02-06 02:12:34 +04:00
Ilya V. Matveychikov
969ea9b7c2 TMS320: move c55plus under the TMS320 namespace
Sorry for the huge patch, but there is nothing special. We just move
asm/arch/c55plus into the asm/arch/tms320 and add some wrappers to use
existing code base under the new namespace.

Also, we've implement TMS320 anal module that supports now c55+ only. To
be continued...
2014-02-06 01:19:23 +04:00
Ilya V. Matveychikov
64aa3b37f2 TMS320: add on-the-fly cpu changing ability
Add support for changing CPU by looking at `asm.cpu` variable
2014-02-06 01:19:23 +04:00
Ilya V. Matveychikov
abdd654f0a Add TMS320 features and decoding state fields 2014-02-05 12:47:36 +01:00
Ilya V. Matveychikov
1db5c446a9 Add TMS320 disassembly engine
This patch adds TMS320 DSP family processors disassembly engine. It's
purpose to add support for the all the families processors but as for
now the only one of them is supported (C55X).
2014-02-05 12:14:06 +01:00
pancake
a648539513 Fix static build 2014-02-03 00:19:55 +01:00
jvoisin
65bb8c5ec6 Coverity fixes #590
- Sandbox r2agent
- Check a return value
- Add missing parentheses
- Add missing parentheses
- Fix a division by zero
- Fix a wrong assignation
2014-02-02 23:58:50 +01:00
condret
cfdb0ebea1 Add basic whitespace support #592 2014-02-02 23:56:58 +01:00
pancake
5fe20bfe86 Fix #581 - rasm2 does not work for arc 2014-01-30 00:11:58 +01:00
zonkzonk
d6466b32bf Update x86
update rtdsc opcode description
2014-01-29 23:11:27 +01:00
pancake
809de9cd9c Fix #580 - Incorrect ARM far branch (applied @kikuchan patch) 2014-01-28 17:14:33 +01:00
condret
9825896e7c Add support for Malbolge disasm and analysis 2014-01-28 11:21:17 +01:00
pancake
4672c2d866 Fix short jmp assemble in x86.nz, add rasm2 -O <outputfile> 2014-01-26 01:58:25 +01:00
pancake
20a8b59984 Minor changes for the avr disas 2014-01-25 03:42:30 +01:00
pancake
5d53fc79eb Fixes in AVR disasm and analysis 2014-01-25 03:22:41 +01:00
pancake
6656f8d0fa Some more cleanup and rmeta fixes 2014-01-23 04:00:01 +01:00
pancake
473cd8953d ax -> afr ; more cleanup, add ark 2014-01-23 02:31:51 +01:00
pancake
a52ebdf61e Fix arm64 build with older iOS SDKs 2014-01-21 16:14:36 +01:00
Adam Pridgen
db1bb1a089 Changed the location of RBinObject, and created RBinFile to conform similarly to
RCoreFile, where RBinFile contains meta information for RBinObjects.  Now
RBinFiles are swapped out along with the RCoreFile when the priority is changed.
2014-01-20 02:44:25 +01:00
pancake
d86bf57ca4 Remove more r_lib references 2014-01-18 02:52:49 +01:00
Adam Pridgen
285e9ee1ef Moving the bin_obj (internal format into RBinObject proper 2014-01-17 12:41:37 -06:00
pancake
ad430f0d52 Add simple nios2 analysis plugin (colors!) 2014-01-15 22:44:14 +01:00
pancake
933dc0ef6d Add NIOS CPU disasm support (from gnu binutils) 2014-01-15 12:31:57 +01:00
pancake
9f0d7e44d3 Fix some issues reported by coverity 2014-01-15 01:56:28 +01:00
Adam Pridgen
9bdd742a43 Fix null pointer issues with java's use of sdb. Re-did the way keys for cp object, methods, and fields are entered into the sdb. Updated the way bin objects are referenced in asm and anal plugins for java. 2014-01-10 00:35:25 -06:00
pancake
43647b909c Initialize udis86 library once (faster disasm) 2014-01-05 04:51:46 +01:00
Maxime M
c12bb6f493 PPC:Add some misc opcodes 2014-01-04 02:15:24 +01:00
pancake
4a5165f232 Add missing Jamroot files in binr/ 2014-01-03 01:03:39 +01:00
pancake
98053a806d Fix bjam build 2014-01-03 00:43:22 +01:00
pancake
38fc28f960 Added more Jamroot files 2014-01-03 00:13:46 +01:00
pancake
3b3bbbb916 Add more Jamroot files and move some plugs to r2-extras 2013-12-31 15:34:27 +01:00
condret
9363a11ca5 Update gb_op_table.h
This would make ramulate happy
2013-12-29 18:44:10 +01:00
pancake
375b2164fe Implement 'movs' in ARM assembler 2013-12-29 02:36:28 +01:00
pancake
b546844132 Implement 'swp' instruction in the ARM assembler 2013-12-29 02:30:26 +01:00
pancake
3e5dc60379 Fix 'cmp' in ARM assembler
- gnu dis is confusing:
  cmp r3, 1, 30 -> cmp r3, 1<<(32-30)
2013-12-29 02:11:40 +01:00
pancake
ab82968341 Fix build, update sdb for sdb_apush fix 2013-12-22 23:55:28 +01:00
pancake
0a3e867392 Fix linking and do some minor changes 2013-12-22 03:24:12 +01:00
Adam Pridgen
77bc339184 Added cp_opj info into the sdb. CP Info is a primitive serialization that describes the file location, type, and values (dependant on type) in a dotted string format. 2013-12-22 01:56:18 +01:00
condret
f4d1a3a589 GB bankswitch detect + autocomments, fix wrong opcode, update anal 2013-12-17 02:19:29 +01:00
pancake
3a9b6c686f Fix asm/avr license and some coverity issues 2013-12-15 00:58:05 +01:00
Fedor Sakharov
4536780d3a Fixes coverity issues in asm_ebc.c and ebc_disas.c 2013-12-14 11:33:07 +04:00
pancake
2620f22e9b Fix 8051 segfault 2013-12-14 01:45:48 +01:00
pancake
9e904df9b8 Fix static linking 2013-12-14 01:31:49 +01:00
condret
a95c4ec055 remove a todo-comment 2013-12-12 19:37:10 +01:00
pancake
bd6824baaf Fix arm64 disassembler and obey op->size 2013-12-11 03:06:51 +01:00
pancake
0df2759c18 Obey opcode size rules when disassembling instructions 2013-12-11 02:18:39 +01:00
condret
66da0a850e less memory-wasting in gb_op_table.h 2013-12-10 11:20:22 +01:00
Anton Kochkov
16fb125668 Fix #432 bug and indent fixes 2013-12-08 01:51:20 +04:00
pancake
322a8a7654 Fix build for latest refactoring 2013-12-06 05:18:57 +01:00
pancake
230efd1f05 Rename {RAsmRAnal}Op inst_len and length to size 2013-12-06 05:04:17 +01:00
pancake
d49b56dc3a RAnalPlugin now have .license and uses the same .bits like in RAsm 2013-12-05 18:41:13 +01:00
pancake
eae051efd3 Fix ebc disasm test (trailing space) 2013-12-05 02:06:04 +01:00
pancake
907b75f1a5 Fix #415 - Invalid assembly of 'mov [rbp+4], 0' 2013-12-04 02:52:46 +01:00
pancake
d02df0d306 Fix some issues reported by CoverityScan service 2013-12-03 00:14:59 +01:00
pancake
cdc38924fb Drop tabs and remaining upppercase mnemonics in EBC 2013-12-02 15:51:45 +01:00
pancake
758d8410f0 Lowercase EBC mnemonics 2013-12-02 14:52:27 +01:00
pancake
7d70f79755 Fix #399 - Add .license to all plugins 2013-12-02 04:44:26 +01:00
Fedor Sakharov
83ecf12555 Adds LGPL license to EBC code 2013-12-02 01:25:58 +01:00
Fedor Sakharov
1a72cdec24 Initial commit for EFI Byte Code (EBC) disassembler. 2013-12-02 01:25:54 +01:00
condret
0c43d23a35 Relicense condret's disassemblers as LGPL 2013-12-02 01:22:25 +01:00
pancake
ba78f4656c Fix build 2013-12-02 00:43:44 +01:00
pancake
edb3249ea6 Fix 'mov rax, 33' assemble for x86-64 and fallback to eax on 32bit 2013-11-30 18:48:32 +01:00
condret
c949e467a0 Add SNES disassembler 2013-11-29 17:30:58 +01:00
jvoisin
5f01f6103d Add some misc opcodes and remove duplicates 2013-11-28 23:29:13 +00:00
Adam Pridgen
a5ad388eb5 Cleaned up how the pd command process input. Added support for setting [len] [asm.arch] [bits] for all pd commands. 2013-11-22 08:45:13 -06:00
pancake
ef2aa8669d Update udis86 from git 2013-11-15 01:37:24 +01:00
pancake
7112a7ded0 Fix r_io_desc_new issue 2013-11-15 00:04:17 +01:00
condret
445c17eb2f Create gb_op_table.h 2013-11-14 23:36:43 +01:00
condret
c13016c2bc Create gbdis.c 2013-11-14 23:36:43 +01:00
condret
859c2b5fe7 add gb.mk 2013-11-14 23:36:43 +01:00
condret
5a9e8a2dea Create gb.mk 2013-11-14 23:36:43 +01:00
condret
90f8b609fe Create asm_gb.c 2013-11-14 23:36:43 +01:00
pancake
1b2ba18c0e Fix #270 - ragg2 crashs on false-conditions loops 2013-11-10 04:33:12 +01:00
pancake
36b9fef27e Fix #316 - Wrong analysis/colorization of ARM opcodes 2013-11-10 02:49:32 +01:00
pancake
86d65b12f2 Remove '#' from decimal values 2013-11-09 04:33:08 +01:00
Anton Kochkov
571291f5ed ARC* disassembly code cleanup 2013-11-03 20:14:45 +04:00
pancake
ede55b55c4 Fix r_mem_mem and handle 'K' in visual cursor mode to see manpages 2013-11-03 13:47:34 +01:00
pancake
21d6bce30d Fixes shl,sar,.. in x86-64 assembler 2013-10-28 02:43:47 +01:00
pancake
84481c53ec Fix ARCompact disassembly 2013-10-24 23:11:56 +02:00
pancake
bec4f5b63a Fix radiff2, Ps segfaults and ARC syntax
- Fix some nullptr derefs on uninitialized graphdiff structs
- 'ar' is now r_cons compliant and rnum friendly (add arj)
- Fix some arc disasm syntax issues
- Fix segfault when saving analysis info in projects
- ARCompact analysis needs to be rewritten
2013-10-24 13:59:19 +02:00
Adam Pridgen
2715948a89 Forgot to include the required java update 2013-10-20 23:52:06 -05:00
pancake
6637be7a7d Show line information in rasm2 assemble errors /Ref #271 2013-10-20 23:32:08 +02:00
pancake
409fcd898a Implement 'cmp' with memory ref on x86.nz assembler 2013-10-20 23:17:38 +02:00
pancake
31466db132 Remove '#' prefix from numbers in arm 2013-10-19 22:06:00 +02:00
pancake
f18b9a1fb8 Fix #278 - Problem with rasm2 (LE and BE) 2013-10-19 21:56:45 +02:00
pancake
ed412ec76e Fix rasm2 -e -d 2013-10-18 23:24:58 +02:00
pancake
653881eb3a Merge and fix jvoisin #235 #236 2013-10-04 13:57:49 +02:00
pancake
2b2813655a Completely kill '#' prefix from arm64 disassembler 2013-09-30 04:36:32 +02:00
pancake
70e4d294b3 Minor fixes to make testsuite happy 2013-09-30 02:19:19 +02:00
pancake
0a10106b16 Fix segfault in "x"@y command 2013-09-30 01:34:14 +02:00
pancake
722659005d Better brainfuck and arm64 support. Fix some bugs
- Fix infinite loop bug in dietline using quoted commands
- Update brainfuck disassembler and analyzer
- Fix #232 - r2 error on corkami's standard.elf (missing strtab)
- Honor 'other' color palete
- Fix bug in disasm.c filtering flag replacements
- Removed '#' prefix for numeric arguments in aarch64 disasembler
- Fix infinite loop in '">"' command
2013-09-30 01:14:04 +02:00
jvoisin
525b06fab4 Remove duplicates and add some missing opcodes 2013-09-29 18:38:15 +02:00
pancake
b62f60c07c Fix two minor bugs reported by jvoisin 2013-09-28 19:23:37 +02:00
jvoisin
00e78b4fd5 Silent two clang warnings
Thoses variables could be used unassigned
2013-09-27 19:23:10 +02:00
pancake
0f2fd99986 Fix some warnings and add a specific plugins.cfg for emscripten 2013-09-15 23:57:22 +02:00
pancake
b0c644ea8b Fix c55+ disassembler and clean all warns 2013-09-15 23:13:51 +02:00
pancake
16fdd4587b Fix build on some linux systems 2013-09-15 22:28:18 +02:00
pancake
ae97789986 Fix lot of warnings 2013-09-14 14:04:08 +02:00
pancake
dece987ca3 Fix various bugs on 64bits (mach0 entry, assembler, ragg) 2013-09-14 02:42:02 +02:00
Adam Pridgen
31e47f1c47 Squashed commit of the following:
commit 109915c7812305b9a442d3a0febd9bc43f7104b5
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Wed Sep 4 09:50:08 2013 -0500

    - Added author rewrite tag

commit 5fe0d07f3a318f871bc5d6a8499afd9ceab26e33
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Wed Sep 4 09:37:57 2013 -0500

    - Added a print statement for the number of attributes in the Code Attribute
    - Added a default stack frame creation

commit 4b1bca0d79c53421c1d7a9c59da070a5463ba05b
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Wed Sep 4 08:58:55 2013 -0500

    - Added the R_API prefix to all function declarations and definitions
    - Removed the offset<=size from loops.  Not sure why this check is failing, but it needs to be added in the future (probably add it to the list of defects.)
    - Code appears to parse the classfile correctly

commit 5f5a28302da8c605800946df739c67a0f4f80b0d
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Tue Sep 3 23:11:00 2013 -0500

    - still minor bug in the parsing code on the Type Verification
     or somewhere in the StackMapAttr.  The right number of bytes are
     being read, but not all the bytes are being consumed

commit 1c9d8b490c8d7d8592f898e019aed3b56f9406c8
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Tue Sep 3 20:59:08 2013 -0500

    - fixed some compiler warnings in class.c

commit c185248aa478c6c78f6dbe14cf65ee3396287302
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Tue Sep 3 20:58:21 2013 -0500

    - Propogated the change to code.c from changes from classes.

commit 927542a0672f37b41b23345533bc7e6f2d1a5369
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Tue Sep 3 17:10:40 2013 -0500

    Fixed some minor parsing bugs:

    code_attr offet was not updated correctly after reading the length of the attribute
    attr_buf was not initialized correctly before use

commit b43a7189e9934369d1fdbd96de020edcab907430
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Tue Sep 3 16:33:36 2013 -0500

    - Code compiles.  Time to test.

commit ea7b332d84b88baca1abc466d02b00b2b8739bca
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Mon Sep 2 23:55:44 2013 -0500

    - Added in size calculations for the CP Objects.
    - Need to add method or field references calculations for size after compiling

commit ba55375dc0e835fb46550d0063758e419ec0ed7b
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Mon Sep 2 22:56:56 2013 -0500

    - Revamped all of the attribute parsing.  The parsers will handle buffers rather than simply
      parsing straight from the file.

    - added a size calculator for each of the attributes, which opens up the way for creating
      writers for the attributes and such.

commit be6f2e038f01beeb56ace7d4daaf4d90ad3fdad7
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Sat Aug 31 12:19:18 2013 -0500

    - Cleaned up code and removed some of the compiler warnings.

commit 4c81812f2609e4a80c7036053d122306039dd6ef
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Fri Aug 30 15:24:15 2013 -0500

    - Compiler and linker errors have been resolved.
    - Need to work on testing

commit 429ed30621d9abff1eec99ef50a35c57bbed76ad
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Fri Aug 30 13:35:39 2013 -0500

    Added the RunTime Annotations and Parameter annotations.
    Time to start compiling and testing.

commit b6044e1c74cc10874902bd34da7c8fcbdb5713cc
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Fri Aug 30 12:34:14 2013 -0500

    Added BootstrapMethodsAttr Parsing code along with supporting stuff, like creating
      the method and argument structures and mapping the REF_types to strings

    More should be done to map the REF_types to specific resolutions.

    Added in the MethodType, MethodHandle, and InvokeDynamic ConstantPool Objects

commit 2c9317be5d2be0608131fb9aa10f713885c89471
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Fri Aug 30 00:21:34 2013 -0500

    Finished drafting the code for annotation, element values, element value pairs,
       and annotation default attribute.

    TODO: RTI, RTV, and then Bootstrap attributes.

commit cbee3a10c18342f6a8fb941245568de885fe5666
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Thu Aug 29 15:42:00 2013 -0500

    Fixed the r_bin_java_element_value_new function definition.

commit ab98a76fabf2bd7764a51f3363d821c5a4cf1200
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Thu Aug 29 15:39:28 2013 -0500

    - worked out some of the initial compile errors.
    - worked out an outline for parsing the element_values
    - need to work through parsing the element value, freeing the element value, and then printing a summary.

commit b543d904f2aebd0d1f9c0ac8ec8401b6ab698f36
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Thu Aug 29 08:21:33 2013 -0500

    Most of the heavy lifting is done for attributes.  Need to implement a few of the methods,
    and then compiling should be able to happen.

    Added in all attribute values to the enums, the function call tables, and then the Metas information.

    Need implement an ElementValue parser bleh.

    Need to implement RuntimeAnnotations, Annotations, ElementValue parsing and make sure that
    the attribute unions are all updated.

commit 81f9ca2da2ed7e007a97a20ecb8eb260dfd55e7e
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Wed Aug 28 22:33:43 2013 -0500

    Finished adding some logic to handle the StackMapFrame types.

commit 9a0965cc06021ad56d2127d279b918eef613bec9
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Wed Aug 28 17:54:52 2013 -0500

    Got some of the StackMapTable Atrribute parsing working.  Right now,
    only the FullStackFrame will correctly parse.

commit ea12bd6a8ae9969fa05cbcab622651c8b426917a
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Fri Aug 23 17:51:33 2013 -0500

    Added some debugging code while trying to figure out how to parse the StackMapTable.

commit 6141b57ee94c7bd0569d0ea76725fdce1ac50edf
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Fri Aug 23 17:00:12 2013 -0500

    Code compiles.

commit a7ad14050eb6184a1171620c4dcdba71b2f791aa
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Fri Aug 23 10:29:17 2013 -0500

    - Added a basic Signature element
    - Added declarations for the new functions to handle the parsing of the
      StackMapTable related structures.

commit 54cca3d9af60463dbfa77e23ef1d562ae82d6e5a
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Fri Aug 23 10:18:50 2013 -0500

    Finished an initial coding implementation of the StackMapTable.
    -- Will perform testing later in the day.
    -- Need to look-up the Signature Attribute

commit a14238eece865f4d1c5f2d6b1f482b000d10d94e
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Thu Aug 22 20:23:45 2013 -0500

    StackMap stuff is wip.

commit f011a5d948d31cc6197eed1bbea497a4dde362aa
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Thu Aug 22 18:44:23 2013 -0500

    Made the globals match the R_* standard.  Also tried to clean up naming stuff.

commit 6e61e15572744c2ed722ac3df8d988cc02f1316c
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Thu Aug 22 16:40:08 2013 -0500

    Plugging progress into the repo.  Adding fixes to handle the Java
    Class file appropriately.  This modification is mostly a re-write
    of the Class File parser, and it "tries" to do a better job of
    creating better objects for each of the Classfile elements.

    Currently this code is experimental, and current TODOs are:
    1) Testing
    2) StackMapTable
    3) LocalVariableTypeTable
2013-09-04 18:52:42 +02:00
pancake
48e83bef38 Fix #206 - Implement more 'lea' variants in x86.nz assembler 2013-09-03 18:57:41 +02:00
pancake
42d687c695 Add .thumb and .arm directives 2013-08-18 19:45:54 +02:00
pancake
daddfcc7b6 Fix warnings and mdisassemble signature 2013-08-15 17:33:41 +02:00
pancake
a34df55611 Fix use of uninitialized memory in ARM disassembler
- Thanks fallout for reporting!
2013-08-15 17:23:26 +02:00
Juan RP
9101835c58 Accept @xtraeme's massive warning cleanup 2013-07-25 15:14:49 +02:00
pancake
90b9215f6c Port thumb2 patch aiming to fix #156 2013-07-23 18:11:09 +02:00
pancake
e5af04856f Fix #133 2013-07-17 20:23:24 +02:00
pancake
21ed694196 Fix and update ARM Thumb2 disassembler 2013-07-10 09:40:42 +02:00
pancake
79f8200899 Clear runtime warn for arm64 2013-06-27 19:05:25 +02:00
pancake
9779611911 Update the arm64 disassembler and fix output of arc 2013-06-27 03:08:15 +02:00
pancake
ac986b304b Update ARC disassembler and add support for compact arc
Source from https://github.com/foss-for-synopsys-dwc-arc-processors
$ r2 -a arc -b 16 thumb.arc
2013-06-24 23:57:19 +02:00
Jaume Delclòs (cosarara)
d3620c50f9 Fixed issue 118 2013-06-24 18:43:58 +02:00
pancake
478d38ce87 Enable thumb byte swapping. Fixes #117 #116 2013-06-23 20:17:54 +02:00
pancake
ef781cbadd New flag rasm2 -c CPU. pointer hints, fix analysis of x86-16 jmps
Add ahp (pointer hints)
Add rasm2 -c flag to select cpu (wip for arm)
rasm2 -e toggles instead of setting
Fix analysis of absolute jumps in x86-16
Push and pops are now magenta \o/
2013-06-17 03:26:48 +02:00
pancake
d6de30eba4 More R_LIB_VERSION and initial r_asm_set_cpu() dummy api 2013-06-15 02:56:25 +02:00
pancake
d47a0176cf Update arm-dis from git 2013-06-14 03:57:47 +02:00
pancake
bc0104563b Initial support for runtime versioned libraries
- This check will ensure you are running the latest r2 version.
2013-06-14 02:51:33 +02:00
pancake
082fccc1b2 Change r_anal ABI to fix bindings +to_esil_string() 2013-06-09 03:25:32 +02:00
capi_x
c9eb90adbc Add initial Haiku support 2013-06-06 00:21:52 +02:00
pancake
356640967b Fix double warning for -zz and add support for openSUSE in mingw32.sh
- Fix mingw32 build
- Fix double warn for -zz
- Some code indentation in c55plus code
- mingw32.sh now supports openSUSE
2013-05-17 01:42:24 +02:00
th0rpe
a42e574954 Initial import of the c55+ disassembler (by th0rpe) 2013-05-15 16:11:15 +02:00
pancake
f0bce391b8 Fix thumb arm assembler for push/pop (TuXeD patch) 2013-05-12 23:24:26 +02:00
pancake
4c6bc1d28b Fix build 2013-05-01 23:03:52 +02:00
pancake
1e325fc5b0 Fix 16bit disasm bug using udis86. Fixes #25 #83 2013-04-29 09:20:16 +02:00
pancake
f04dbd3ab4 Use '$$' instead of '$pc' in r_asm_assemble() 2013-04-24 09:14:08 +02:00
pancake
79b23a35d4 Fix .string and .ascii directives 2013-04-22 01:18:21 +02:00
pancake
f52fdf762f Fix armthumb disasm, 64bit inc/dec on x86, syscall in r_asm
- rasm2 -k to select kernel like ragg2 does
- rasm2 -k linux -b32 'mov eax, $sys.write'
- Implement x86-64bit INC and DEC
- Add x86-8 and x86-64 bit calling conventions in r_syscall
2013-04-22 01:09:27 +02:00
pancake
6ad7ed7925 Lot of bugfixes in r_asm, x86 assembler and ragg2 -x
- Thanks Ripe for reporting
- Handle $pc in r_asm assemble
- New ops for x86.nz: sar, shl, shr, shl, rcr, rcl, ror, rol
- Fix disassembler indentation for functions
- Fix memory align issue in r_sys_run()
2013-04-22 00:01:41 +02:00
pancake
5ef42734ab Add 'sar' opcode for 32 and 64bits in x86.nz 2013-04-21 22:11:33 +02:00
pancake
b612d2a6b1 Fix static build (+android) 2013-04-12 02:39:46 +02:00
pancake
469db755bf Enhace 8085 disasm and add basic code analysis support 2013-04-10 02:04:50 +02:00
pancake
5285d1bdea Break ABI. r_asm_disassemble's length is now 'int' 2013-04-09 22:54:04 +02:00
pancake
189e5553cc Initial 8051 disasm and ihex:// io plugin 2013-04-09 20:05:36 +02:00
pancake
7e4d92c6fb Fix some warnings 2013-04-02 12:45:16 +02:00
pancake
0f807f1bdb Honor RASM2_{ARCH|BITS} environment in rasm2
Alphabetically sort the options in rasm2 -h
Globally defined nibble definitions
2013-03-28 18:43:55 +01:00
pancake
85a9fe184f thumb ARM assembler supports 'push {}' and 'pop {}' 2013-03-27 00:40:01 +01:00
pancake
8846cb79cf Pass t/test.arm, new cmd !123 to run historic command
Fix all opcode constructions listed in t/test.arm
Add 'hlt' opcode for arm.
Minor changes in arm disassembly output
Typing !#number you re-run the command in !history
!history is now listed (! is an alias)
Added API to access history from dietline
2013-03-14 02:32:53 +01:00
pancake
67f0794b82 Fix disasm indent. Add 'mvn' and 'cmp r, n' opcodes 2013-03-13 17:57:40 +01:00
pancake
f0a485d108 Add support for bkpt (arm) and cmovz (x86.nz) opcodes in assembler 2013-03-13 10:45:41 +01:00
pancake
5f4623ed46 Fix some bugs appeeared during the training course
Fix segfault in "rasm2 'xor e'"
Fix overflow in 'ad@esp' when long strings are analyzed
Fix null pointer check in r_num
2013-03-07 13:08:05 +01:00
pancake
57503ff1fe Fixes for arm64 disasm, string filter in rarun2 arg directives 2013-02-26 09:27:09 +01:00
schrotthaufen
400fecdf47 Fix aarch64 build 2013-02-26 02:52:17 +01:00
pancake
19a1f84f1f Initial import of the GNU aarch64 disassembler from binutils
$ r2 -a arm -b 64 -
2013-02-26 01:37:42 +01:00
pancake
2264763336 Fix some bugs reported by clang-analyzer 2013-02-25 11:09:24 +01:00
pancake
7fbe9071ce Add rasm2 -w to describe opcodes, fix massemble
Add rasm2 -w to get opcode description
Fix multiopcode/multiline comments parsing
Avoid multiple load when there are no sub-bins
Fix r_str_replace_char
2013-02-24 21:12:30 +01:00
Anton Kochkov
958e855173 Add IRET and IRETD opcodes in x86 assembler 2013-02-22 13:06:35 +04:00
pancake
34decb02e1 Implement push/pop {segment} for x86 2013-02-22 02:45:46 +01:00
pancake
5225c95d18 Fix 'ad', 'a8' and add more test cases for x86/arm assemblers
Fix 'a8' command
Honor argument in 'ad'
Add more tests for x86 and arm assemblers
2013-02-21 11:31:04 +01:00
pancake
27643193f8 Fix segfault in java disassemler, and cleaner output. 2013-02-20 02:24:37 +01:00
pancake
8186395ebd Fix rax2 -S and ragg2-cc -x, better radiff2 error msg
rax2 -S is now obeying 0 input length for stdin streams
ragg2-cc -x is now working properly (needed rax2 -S)
Fix stupid parsing bug introduced in previous commit in armass
2013-02-19 21:21:39 +01:00
pancake
018b383344 Fixes in the Java CLASS parser and arm assembler
Some fixes in the java class parser (still leaky and buggy)
Ignore '#' char in armass and support upper/camel-case input
2013-02-19 19:32:02 +01:00
pancake
766563cc6e Big endian for arm.winedbg and addn randomart in rax2 -k
r_asm: Add support for big endian arm.winedbg
rax2: Add -k randomart to rax2, -k is now -B
rax2: Handle multiple flags on a single argument
rax2: update manpage
2013-02-13 01:20:42 +01:00