Commit graph

1236 commits

Author SHA1 Message Date
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
Sebastián Guerrero
98da9c80f5 Fix some bugs reported by scan-build 2013-01-25 02:03:57 +01:00
pancake
b5b8a78e87 Support ';' comments in rasm2 and add asm in webui
Add a working assembler panel for enyo
Allow ';' as comments in multiline assembly
2013-01-15 09:47:29 +01:00
pancake
30cfe3f15c Initial working enyo console 2013-01-15 00:23:10 +01:00
pancake
5656505e79 Draft anal_hint. Fix build and fix build (armass.c)
Minor update in the enyo $webui
2013-01-13 03:19:32 +01:00
pancake
ebe2f35630 Fix arm thumb disassembler (needs testing) 2013-01-11 14:21:23 +01:00
pancake
da837ad4ce Fix static build. Generate single libr.a 2013-01-04 14:38:07 +01:00
pancake
0d04880367 Add support for small push in x86.nz assembler
Better Visual Assembler and help ('?' show help)
2012-12-22 04:28:19 +01:00
pancake
4d22fcb806 Implement VA (Visual Assemlber), readline with callback and chs
r_cons_readline now have a callback api
r_num_chs() to convert from disk CHS to real address.
2012-12-22 02:37:01 +01:00
pancake
2596d11fc3 Fix buffer overflow in arm assembler (fix #41) 2012-12-21 14:40:26 +01:00
pancake
48f710abe8 Share RBinJavaObj to RAsmJava plugin, better java and fixes in config
Some more work to get java support back (analysis, disasm, bin share)
Honor ordinal field in java r_bin methods
Fix segfault in 'af*' on FreeBSD (thanks idwer for reporting!)
Fix some valgrind warnings
Better io.maxblk handling
Fix div by zero when blocksize is 0
Fix disasm lines when no function and extra code comments
2012-12-20 11:31:38 +01:00
pancake
51b7147df6 Add asm.linesright to show lines before opcode instead of offset 2012-12-19 01:28:34 +01:00
pancake
caaccaddc9 Fix some warnings 2012-12-13 18:32:26 +01:00
pancake
4d50d27dc2 Fix build 2012-12-07 12:20:08 +01:00
pancake
55bb8dc95e Fix udis86 trailing spaces, add 'dw' command 2012-12-07 12:03:53 +01:00
pancake
84002a421f Better new WebUI, fix pdf,pD, implement http.timeout and more
Enhacements in the new webui
Fix r_socket_block_time()
Implement assembler for the 1bit arch RAR (wip)
Fix pdf, pdb and pD (print_disasm)
Implement http.timeout and http.sandbox
2012-12-03 04:01:55 +01:00
pancake
7a0da18725 Add r_bin.rar plugin, per-section arch/bits, fix in S=
Add Sa to set/get per-section arch and bits configuration
Cache io->section and core->io->section to speed up the Sa
Update r_sys_arch*
Add dummy plugin in asm/rar
Fix lines of S=
2012-11-30 01:06:30 +01:00
pancake
04140210d1 Fix build? 2012-11-27 19:03:09 +01:00
pancake
3aeee274bf Workarounds for x86-16 and prepare bitmap 2012-11-20 18:42:23 +01:00
pancake
e495421782 Initial implementation of 'ad' (analyze data)
Force tid=pid when tid=-1 in r_debug_select()
Add support for 16bit mov in x86.nz assembler
2012-11-20 03:59:00 +01:00
pancake
8f6459977d Refactor of {bin|asm}/java into shlr/java 2012-11-16 02:29:30 +01:00
pancake
8ea25c4a46 Use RNum in RAsm, fixes for segoff and better disasm
Reference of RNum in RAsm (use flags in 'wa/pa'!)
Use RNum in x86.nz plugin
Rename scr.segoff to asm.segoff
Fixes for segmented addressing resolution
Honor lineswidth in disasm
Remove rabin2 -p flag in help and manpage
Fix disasm.c loop for small blocksizes and invalid ops
2012-11-16 01:34:26 +01:00
pancake
7ee7f936db Fixes parsing bug in java class and and rbinelfFixes in java class and and rbinelf)) 2012-11-14 04:57:56 +01:00
pancake
8e1dbb443a Better support for IO ports on asm.pseudo and analysis
* Analyze IO opcodes on x86
* Fix 0x0x in olly disasm
* Fix segfault in objc mangling
* Support for writing nibbles with 'wx'
* If optype is IO, use 'ports' flagspace
* Add support for flagspaces in RParse
* Use RList in RParse instead of list.h
* asm.pseudo handles for in/out x86 opcodes
* Random code cleanup
* Fix udis86 64bit disasm bug
2012-11-13 00:53:52 +01:00
pancake
b252b34358 Some initial work to support emscripten 2012-11-12 17:13:01 +01:00
pancake
1a6d3155e5 Enhace r2wui and implement 'pdj' command (disasm to json) 2012-11-08 09:49:27 +01:00
pancake
21c4d1c5f5 Enhace ARM disassembly and code analysis 2012-11-05 06:01:55 +01:00
pancake
8270c60a16 flex no longer mandatory, fix ios debugger
Flex is no longer mandatory for configure
Fix overflow in r_core_cmd0
vm_protect works again on iOS (using VM_PROT_COPY)
ptrace-cont is just a detach
fix build with latest ios sdk
2012-10-31 16:37:19 +01:00
pancake
78ce28b980 Fix build on iOS (without debugger) 2012-10-30 18:20:51 +01:00
pancake
ea33e9af8a Fix build 2012-10-30 17:19:53 +01:00
pancake
c9aed523f9 Update GNU arm disassembler. Needs more work 2012-10-30 17:05:51 +01:00
pancake
fe6cb8c378 Added '-' to create command aliases and lowercase i8080
Lowercase i8080 disassembler (use e asm.ucase=true)
Add Alexander in AUTHORS
Extend r_cmd api to support aliases
Add new '-' command to register and call command aliases
Use RList in RCmd instead of kernel's list.h
Autocomplete aliases with <tab>
Add 'make DEBUG=1' to compile with -g
Do not strip symbols when compiling in debug mode
2012-10-30 02:49:05 +01:00
Alexander
ff03d423fd i8080 disassembler license is changed to MIT. 2012-10-29 23:02:10 +00:00
Alexander
7bf8917fdf Added copyright information for i8080 disassembler. 2012-10-29 22:04:26 +00:00
Alexander
278a24126e Initial implementation of i8080 disassembler. 2012-10-29 20:51:40 +00:00
pancake
ded886e371 Add dkreuter's fix for ARM's gnu disassembler 2012-10-25 13:10:33 +02:00
pancake
e48b9b2f30 Add cfg.sandbox functionality
f.example: $ r2 -c=H -e cfg.sandbox=true -
2012-10-20 00:31:18 +02:00
pancake
9440560f92 More build fixes 2012-10-11 13:09:33 +02:00
pancake
69a12884ed Simplify the build system
doc.sw has been moved to radare2-extras
2012-10-03 14:31:35 +02:00
pancake
4ffdaeb04f Fix warnings and refactor 'p' subcommands (pw -> pxw ..) 2012-09-27 19:35:19 +02:00
pancake
5ad9ae97ed Fix some bugs (nullptr, memleak) reported by clang-analyzer 2012-09-26 10:01:43 +02:00
pancake
d00cc922fb Fix uninitialized variable use in arc disassembler
Fix invalid malloc in generic disasm
2012-09-23 18:10:37 +02:00
pancake
83cfbb2236 Add initial ARC code analysis module (branches)
ELF parser setups the proper ARC asm and anal
Fix segfault in the GNU ARC disassembler
2012-09-23 17:33:19 +02:00
pancake
51c4610090 Fix segfault in zip:// and dex (thanks @pof for reporting) 2012-09-23 13:30:28 +02:00
Roi Martin (@nibble_ds)
3373aa51d7 Fix code analysis in arm.winedbg 2012-09-23 03:38:51 +02:00
pancake
e2906e9ae5 Some fixes on the ARC disassembler 2012-09-23 03:38:12 +02:00
pancake
807c8a4088 Initial import of the ARC disassembler from binutils 2012-09-22 21:03:01 +02:00
pancake
850045c329 Fix many bugs noticed during the training course
Fixed ragg2 -e segfault
Fix use of ragg2 -p
Fix memleaks and null derefs in rio and rsocket
Fix some build warnings
Fix the segfaults found in the ELF parser
Dwarf parsing is only done if bin.dwarf is true
2012-09-22 20:32:19 +02:00
pancake
62b2518250 Add support for keywords of half-byte, fix iova bug in search
Add support for nibble-level search keywords
Fix rio.va search issue (r_io_read_at is broken)
2012-09-07 04:12:24 +02:00
pancake
d3eea7b431 Fix build and use proper check for non-root android 2012-09-06 11:22:01 +02:00
pancake
fd506992ba Fix build for z80 after sdb integration 2012-09-04 09:29:41 +02:00
pancake
6c10b98d84 Looks like z80 plugin is problematic. disabled build tips 2012-09-04 02:09:01 +02:00
pancake
a8757a695f Fix android build and add r_core->anal_define api
Fix static build (libr.a)
Fix android build farm scripts
Build system is still hacky
2012-09-03 01:27:52 +02:00
pancake
bc09337c8a Apply thuxnder's patch fixing dalvik's payload ops 2012-08-31 17:39:56 +02:00
pancake
a395c8d6c8 Initial implementation of the MIPS assembler 2012-08-31 13:50:05 +02:00
pancake
5c236fa0e3 Add mips pseudocode, anal.hasnext, fix anal bugs
Better mips analysis
Implemented mips pseudocode plugin
Change asm.parser in asm.arch callback
2012-08-31 11:45:06 +02:00
pancake
d843506ae1 Rewrite mips analysis module and fix rasm2 -D
Full rewrite of the MIPS code analysis module. wip
Fix infinite loop in rasm2 -D
Fix clang-analyzer.sh
Fix 'ao #' command
Use ', ' instead of ',' in mips disassembler
2012-08-30 18:06:18 +02:00
pancake
d101eb54ba Fix dalvik pseudo ops disassembler (thx thuxnder) 2012-08-28 23:53:15 +02:00
pancake
b3919e562c Use 'standard' disassembly syntax for avr 2012-08-23 15:14:04 +02:00
pancake
e46efa8a1d Initial implementation of r_bin_size (rabin2 -Z)
Changes in the disasm loop to support continuous fun
Fixes disasm after opcode payload
Added RConstr code in r_util (not yet used)
RBinSize implemented for elf, mach0 and plan9
Fix build
2012-08-23 12:46:55 +02:00
pancake
f75817ee6c Initial work on supporting payloaded opcodes
Basic classes support for dalvik (rabin2 -C, ic*)
2012-08-22 18:02:23 +02:00
Roi Martin (@nibble_ds)
3d45b36f12 Add coprocessor move operators to arm.winedbg 2012-08-14 16:12:37 +02:00
pancake
0e82165bf7 Honor make -s and lot of build cleanups 2012-08-14 15:44:17 +02:00
Roi Martin (@nibble_ds)
d37ce1da7b Remove armthumb plugin
Moved to radare2-extras
  Replaced by arm.winedbg
2012-08-14 15:16:07 +02:00
pancake
3df277d84b Initial import of TOP make variable 2012-08-14 13:14:54 +02:00
pancake
10b4b5546c Fix resize command and more make race conditions 2012-08-14 01:25:50 +02:00
pancake
e365b90d5f Implement support for >- (pipe to editor)
Fix another race condition in the build system
Fix many null deref reported by clang-analyzer
Assume -w when running r2 with -d
2012-08-13 17:42:25 +02:00
pancake
28428438f6 Lot of build fixes for --as-needed and mingw32
Fix z80 assembler
Add r_sys_truncate() for portability
Fail build if tests compilation is wrong
2012-08-10 11:35:38 +02:00
pancake
f65abc5e34 Add support for multiple cons grep attributes
Implement ~& attribute to match all words
Add ~?? to show help of grep
Fix buffer overflow in cons grep
Chop RLine buffer when > console columns
2012-08-09 18:19:00 +02:00
pancake
80e1d41fb8 Honor git in sys/*.sh 2012-08-09 13:15:25 +02:00
pancake
85534da1e9 x86.nz assembler: add jmp/call abs/rel (rip) memrefs
Add some more notes in INSTALL text
Initial design work on dalvik payload instructions
Open '-' virtual file as read-write (r2 -)
Fix r_core_yank_to signature
Remove io.va search warning (no more issues?)
2012-08-09 12:42:44 +02:00
pancake
a2ebdcb650 Fix memleaks, nullref and undef (clang-analyzer)
Fix multiple inclusions of mk files
2012-08-08 17:19:48 +02:00
pancake
9a1a2fc981 Fix anal.x86.udis86 and asm.arm.winedbg plugin names
Add file.analyze eval config variable from radare1
Guess base arch anal.plugin when asm.arch is set
2012-08-08 10:31:17 +02:00
Roi Martin (@nibble_ds)
2f82ce6a22 Enable thumb mode in arm_winedbg when asm.bits=16 2012-08-08 09:19:56 +02:00
Roi Martin (@nibble_ds)
059594e7a9 Add new ARM disassembler plugin based on winedbg (arm_winedbg) 2012-08-07 22:17:14 +02:00
pancake
3c967ac89b More fixes in dalvik disassembler (thx @thuxnder)
- Add missing getters in RAnal to make bokken happy
2012-08-07 16:53:09 +02:00
pancake
3fb3f58fcd Add missing dalvik opcode, rename invoke-direct-empty
rabin2 -h works even with other flags passed
random syntax fixups and use R_NEW0 where possible
initial dummy implementation of r_bin_size()
2012-08-07 10:28:03 +02:00
Roi Martin (@nibble_ds)
a4aef33922 Rename shrl/ to shlr/ (typo) 2012-08-06 14:25:31 +02:00
Roi Martin (@nibble_ds)
46d82f2600 Create folder shrl/ for shared libs
Move udis86 to shrl/
Add variable SHARED_OBJ to rules.mk
Add plugin anal/p/anal_x86_udis86.c (dummy)
2012-08-06 12:57:48 +02:00
pancake
9362041562 Huge RBin refactoring and fix mach0 section perms 2012-08-04 23:48:06 +02:00
pancake
3e7c4ad992 Add new opcodes for x86.nz assembler
- Fix search counter
2012-08-03 02:05:50 +02:00
pancake
526a8a66fe Fix function renaming and add some 8bit x86 ops
- 'afl' is now just listing functions
- Use 'afl*' to get also 'loc.' functions (BBs)
- Fix length in cb_hit for search
- Fix infinite build in libr/egg
- Fix 'afr' command to rename function
- Implement 8bit mov, (out,in)sb in x86.nz
- Fix ragg2 -d for one byte writes
- Fix vapi
2012-08-02 02:44:46 +02:00
pancake
afbda180d5 Add visual search and enhace search output
- e search.show = true # by default
- add keyword type (string, binary)
- visual search only works in cursor mode
2012-08-02 01:50:39 +02:00
pancake
a260da522c Various build issues have been fixed
Fix build of libr/anal/cparse
r_list.h was not including r_types.h
check null pointer in r_asm
Fix 't' help message
Obey q! in scripts
2012-07-20 17:14:28 +02:00
pancake
e5799fb7a2 Fix build on linux-mipsel64
- debugger backend now sets dbg.swstep
 - define linux-mips64 register profile
 - fix 32/64 annoyance in debugger
 - fix register read under some situations
2012-07-05 16:02:12 +00:00
pancake
d33f3a9782 * Add b+ and b- commands
* ``..` quotes respect newlines
* Add pf c for signed bytes
* Fix pf w
* Add doc/dwarf test script
2012-06-22 03:49:25 +02:00
pancake
3f21f734aa * Added dcpu16 assembler/disassembler in r_asm 2012-06-21 15:13:42 +02:00
pancake
66a5e79317 * Fix invalid init segfault reported by vext01
- This showed several minor fini issues (rlang, rfs, regg, rflag)
* Fixes in r_core_disassemble()
  - Honor delta and r_asm_set_pc()
* Fix RHash bindings and add it into .deps for RCore
2012-06-14 17:41:07 +02:00
pancake
62101a69b7 * Attempt to fix python detection (thanks vext01) 2012-06-13 17:34:07 +02:00
pancake
f752759258 * bin_load() is no longer mandatory in RCore
* Added dummy 7bit<->8bit char encoding
* Random fixes in node-ffi and lib/t build
2012-06-06 02:17:02 +02:00
pancake
bc572ce3df * QNX/arm port (this is bb10 and playbook devices)
- no debugger support yet
2012-06-01 14:50:24 +02:00
pancake
fee1dfda07 * Fix some bugs reported by clang-analyzer 2012-05-31 02:41:45 +02:00
pancake
94fe845a81 * Fix static build (thanks @pof for reporting) 2012-02-16 18:10:06 +01:00
pancake
68a5dcea14 * Do not show comment for nop arm opcode disasm
* Use mac->printf
* Fix javasm disassemble issue
* Use (* to list macros
* Refix clear00 in visual
2012-02-16 02:40:50 +01:00
pancake
91c35cc94e * Fix x86olly disassembler %d and 0x%08x
* Properly handle '*' in calc.c
2012-02-15 23:42:27 +01:00
pancake
ddca754a81 * remerge 2012-02-15 11:31:54 +01:00
pancake
d2b6828bab * Fix some warnings reported by the farm
* Do not prompt or clear screen when using V in batch mode
* Optimization in r_config_get_i
* Show expression in r_num_calc errors
* Fix parsing of $$+2 in r_num_calc
2012-02-15 00:17:31 +01:00
pancake
be6c39c54f * Use r_list_foreach[_safe] where appropriate. 2012-02-14 18:19:16 +01:00
pancake
8587dbab20 * Fix w32 build
* Apply rudi_s patch fixing some new valgrind warnings
2012-02-14 18:10:01 +01:00
pancake
65d1dddfd1 * apply rudi_s patch fixing multiple bugs
- Fix uninitialized variables and other GCC warnings
  - Remove unused variables, fix invalid heap ops
  - ?p print error if VA is not
  - Fix invalid write in r_io_cache_read().
* add support for 'mov reg, [addr]' in x86.nz[32]
2012-02-12 23:45:04 +01:00
pancake
385785e6ab * Fix segfault in m68k disassembler 2012-02-05 02:30:08 +01:00
pancake
66e2b1e359 * Initial support for the z80 CPU
- assembler, disassembler and basic code analysis
  - code analysis is very primitive atm
2012-02-04 03:51:22 +01:00
pancake
3eb9a85872 * Fix build + initial work on z80 asm/dis 2012-02-03 10:57:45 +01:00
pancake
42a2e92fec * Added m68 disassembler and code analysis
- m68k assembler pending to fix some license issues with author
* Added z80 assembler and disassembler
  - still not integrated with the plugin
* Software licenses sucks
2012-02-02 01:06:22 +01:00
pancake
b909e43976 * Apply two patches from flux (thanks!)
- Implement barrel shifter for the ARM assembler
  - fix type of bitwide ops (and, eor, ...)
2012-02-01 16:51:59 +01:00
pancake
840550aa3a * Add asm.tabs for bearuty for free (enable by default?)
* Apply @l0gic patch for ELF parsing segfault
* Improve a lot the startup time by using r_file_mmap
* Fix build on osx
2012-01-26 03:18:45 +01:00
pancake
997a6dbd14 * Apply patch from @w_levin fixing lot of memory leaks - Thanks! 2011-12-16 16:33:06 +01:00
pancake
d779162f07 * Apply @w_levin patch fixing memory leaks
- Use r_list in RBin (deprecate list.h) Thanks!
2011-12-13 14:00:22 +01:00
pancake
f908b15fb5 * Fix android compilation
- Fix static build
  - Fix dupped symbols
* Fix all errors reported by clang-analyzer
  - Some null dereferences
  - Some uninitialized variable uses
* Fix all important warnings from the farm
  - Remove *all* uses of alloca
  - Fix many %llx format string portability issues
* Fix manpage typos reported by lintian (thanks sre)
2011-12-06 00:27:57 +01:00
pancake
7c3339bbbe * Fix ELF parsing for symbols outside the .text section
* Do not use tabs in arm and csr disassemblers
* Clear colors in visual prompt V:
2011-12-04 21:02:09 +01:00
pancake
07620cd50c * Fix AT&T X86 disassembler when facing invalid instructions
- This bug was reported by @hteso
* Apply @earada patch hiding cursor in visual mode
* Honor asm.size config variable
2011-12-02 01:58:34 +01:00
pancake
1cc5b8e077 * Honor -o in rabin2 for dump section operation
* Autodetect and honor CC environment in ragg2 command
* Update ragg2 manpage
* Fix udis86 at&t '$' usage.. thanks @hteso for reporting!
2011-11-30 20:59:58 +01:00
pancake
048e9ea8ce * Fix some warnings related to alloca(), %llx and O_BINARY for w32
* sync sdb
* Add some more eval var descriptions
2011-11-29 12:28:02 +01:00
pancake
630143ce2d * Fix att disassembler for udis86
* add r_asm_setup()
* Add better api for nodejs r_asm
2011-11-24 00:06:26 -05:00
pancake
d36e430a59 * Fix build and sys/build.sh for BSD 2011-07-03 12:07:43 +02:00
pancake
7b093a3ed5 * Fix all dangerous bugs reported by llvm-analyzer 2011-11-14 22:46:23 +01:00
pancake
e0fc376dab * Fix some t-*.sh scripts (rollback)
* Initial working version of shellcodes inside r_egg
  $ ragg2 -i x86.osx.binsh -b 64 -k osx -f mach064 -o a.out
  ragg2 -L : list all plugins
  ragg2 -i <shellcode-plugin> : select shellcode
  ragg2 -r : show raw bytes
  ragg2 -x : execute -- fails :(
* Use r_lib in r_egg
  - User defined shellcode plugins can now be loaded on runtime
* Fix append_bytes in r_egg api
* Implement r_egg option_{get|set}
* Use working shellcode for x86.osx.binsh example (64bit)
* Update pkgconfig templates
* Add -D flag to rasm2 (show hex and asm)

--HG--
rename : libr/egg/p/x86_osx_binsh.c => libr/egg/p/egg_x86_osx_binsh.c
2011-11-13 04:08:08 +01:00
pancake
0f271a8bac * Added api to get opcode descriptions
- r_asm now depends on r_db (uses r_pair aka sdb)
  - r_asm_describe()
  - install opcode descriptions
  - Use ?d to get description of opcode (uses asm.arch)
* Add 'fl' command to get length of flag
* Fix some warnings in anal.sparc plugin
* Add new assembler directives
  - .int8 (alias of .byte)
  - .int16 (alias of .short)
  - .int32 and .int64
* Fix memory leak in r_core_disasm()
* Add accessors for RAnalFcn.{refs,xrefs,vars,bbs}
  - Updated bindings
2011-11-12 01:52:31 +01:00
pancake
12d84203e2 * Merge heads 2011-11-07 18:38:00 +01:00
pancake
e097de1f7a * Import r1's rsc adict into libr/asm/d from 2011-11-07 18:37:38 +01:00
pancake
a35deaf463 * Add support for SPARCv9 (64bits)
- Thanks Nicolai Stange!
2011-11-05 01:06:03 +01:00
pancake
6b585d7a36 * Add test.arm 2011-11-04 15:38:05 +01:00
Nicolai Stange
2fe3406649 Pull in recent sparc opcode code from binutils-2.21.1 and add support for
asm.bits=64 with asm.arch=sparc.
2011-11-04 14:13:29 +01:00
pancake
81727c9c28 * Fix lea in x86.nz
* Some more fixes for r_egg
  - Use more tests cases
  - Warn when stackframe doesnt fits
* Make t.sh unit test tool nicer
  - Accept option flags to show asm, disasm, ..
* Add R2_PREFIX and R2_LIBDIR into r_util.vapi
2011-10-24 10:59:27 +02:00
pancake
1f7f9dc036 * Enhacements for rarun2
- add 'timeout' directive
  - directives can now be passed in arguments
  - support more than 3 args for launching
  - show default config file in help
* Added test suite for r_egg
  - Fix nested conditional and loops
  - Some situations can result in broken code
  - Code needs a huge cleanup
* Varioues fixes for x86.nz plugin to make r_egg happy
* Install python plugins into dist-packages only
  - site-packages is not the right place
* Add R2_LIBDIR and R2_PREFIX constants
* Honor LIBDIR in sdbpath for r_syscall
* Fix rabin2 -h for -C
2011-10-24 04:35:42 +02:00
pancake
17dfe1bcf8 * Fix some possible-use-of-uninitialized-variables 2011-10-20 16:36:00 +02:00
pancake
e5aaa84786 * Fix segfault un r_asm_mdisassemble_hexstr
- Thanks @hteso for reporting!
2011-10-19 19:17:57 +02:00
pancake
b42e287156 * Fix typos reported by lintian
* bfvm.c changed license from GPL to LGPL
2011-10-13 01:00:07 +02:00
pancake
e9d1dcb4ec * Fix make w32dist
* Update manpages
* Added r2 -H for env and files help
* Add rarun2 -h
* Show assembler/disassembler features in rasm2 -L
* Add opcode 'mov dword [ebp-12],4' to x86.nz
  - Make t/test.nz work with x86.olly (32bit only atm)
* Fix unknown os issue with tiny-pe files in r_bin
* Fix some plugin names build fails in mingw32
* MAGICPATH renamed to R_MAGIC_PATH
* Add another experimental way to generate gir files
  - Added dummy test.js for nodejs
* Build python-dist in farm

--HG--
rename : man/rarc2-tool.1 => binr/old.rarc2/rarc2-tool.1
rename : man/rarc2.1 => binr/old.rarc2/rarc2.1
2011-10-12 03:24:19 +02:00
pancake
16866fe504 * Do not build asm.x86_as or asm.x86_nasm
- Deprecated as being problematic. x86.nz and x86.olly ftw
* Fix singleton crash in swig bindings
  - Requires valabind-tip
* Added 'wa*' and 'waf*' commands to show bytes instead of writing
2011-10-09 21:54:14 +02:00
pancake
9bf02ca738 * Minor enhacement in asm.bf disassemble syntax 2011-10-09 05:27:22 +02:00
pancake
8de9123520 * Add make chlog target to genereate shlogs
* Fully implement the asm.bf assembler and disassembler
  - Syntax fixed. disassembled code can be reassembled
  - Added support for misd instructions (multiple instruction single data)
    rasm2 -a bf 'add [ptr], 8;trap,64;nop;poke;'
2011-10-09 05:24:15 +02:00
pancake
13d24051b7 * Implemented assembler support for asm.bf plugin
* Added support for breakpoints in the brainfuck debugger
  - Fixed write delegate in io.bfdbg plugin
  - asm.bf is now compiled as static in core
2011-10-09 04:41:53 +02:00
pancake
a43068bde0 * brainfuck debugger is finally usable
- Added breakpoint and code analysis plugins for bf
  - *mem++ != mem[0]++
  - Full register get/set support
  - Support for step and continue-until-syscall
  - Work in progress breakpoint support
* Added bfvm_reset() hooked to plugin->kill
* Enhacements in r_core and r_debug for better debugger support
  - Added plugin->step_over delegate
2011-10-09 04:15:32 +02:00
pancake
c7cced5c67 * Use null fot unsupported plugins
* Fix startup segfault in r_reg doublefree
2011-10-08 23:39:06 +02:00
pancake
9efe88a9ce * Fix offbyone in asm.brainbuck bug
* Fix some segfaults and issues in r_magic
* Use the libr/socket/http library
* Added r_io_http plugin
* Magic search is extremely slow
2011-10-07 01:16:45 +02:00
pancake
fd9e46880f * Disassembler errors are not fatal now
* Fix lib deps build order
2011-10-05 11:55:35 +02:00
pancake
098b1ba127 * Implement input and output filters for rasm2
- Experimental.. not yet ready for release
  - Add rasm2 -F flag to specify input and output filters
   $ rasm2 -F att2intel
* Add new att2intel r_parse plugin
  - make mrproper required
* Initial implementation of RBinClass
  - Only experimental and Java-specific atm
  - Add rabin2 -C to display classes
* Optimize some r_str functions
2011-10-05 02:38:37 +02:00
pancake
4e3358a522 * Fix farm 2011-09-26 02:10:25 +02:00
pancake
6213779213 * Avoid use of extended arm instructions for ut64
- add documentation for installing NDK in archlinux64
  - fixes build for android-arm
* Import android targets for the build farm
2011-09-25 21:07:34 +02:00
pancake
829a2bb69f * Implement xchg opcode in x86.nz
* Honor 0x in r_str_case (to uppercase)
2011-09-22 12:26:44 +02:00
pancake
0217c146ef * Fix x86.nz -> push [esp+N]
* Use pw instead of px in debugger stack view
* Disable stackptr by default
* Add OSX-32bit debugger register map
  - Fix support for debugging 32bit bins in 64bit OSes
* Implement r_egg_run() -- just in time execution
* Fix r_egg string construction and argument passing
  - Still needs more work, but at least some hello worlds work
2011-09-21 19:51:09 +02:00
pancake
279d4e6f5f * Fix make deinstall
* rarun2 and rasc2 now depend on r_util
* Add r_mem_protect() as a wrapper for mprotect/VirtualProtect
* Fix segfault in java class parser

--HG--
rename : binr/rarun2/main.c => binr/rarun2/rarun2.c
2011-09-19 13:54:57 +02:00
pancake
838e6b7466 * Fix java class parser for javac -g files
- Show debug information in sdb format
  - Fix null pointer segfault
  - Still work-in-progress for proper debug info
* Some work on r_egg
  - Fix windows and osx default syscall tables
* Export version number in vapi R2_VERSION
* Hide ccache error if not found in sys/install
2011-09-18 18:56:11 +02:00
pancake
096b7eb406 * Fix mingw32 build 2011-09-14 12:37:26 +02:00
pancake
0cca23f7a5 * Fix anal vartypes definitions
* fcnstore working, results slower than with traditional method :(
  - disabled by default
* Fix R_BETWEEN signature
* Add /q to search for qwords
* scr.fkey = hit by default
2011-09-14 03:47:30 +02:00
pancake
deb6e216fa * Build syscall/d at compile time
* Handle ud_disassemble return value
* Added dummy r_pair_{[de]serialize}
* Fix 'pf' command for arrays
2011-09-06 00:38:56 +02:00
pancake
0cc68a9792 * Add basic code analysis module for sparc
* Fix disassembler fprintf function issue in asm.sparc
  - Now sparc is a first class citizen (statically built)
* Add forgotten mad-harmattan.mk file
2011-09-03 01:17:37 +02:00
pancake
b4a63953c7 * invalid instructions in x86 (udis86) should be length=-1 2011-08-30 00:42:18 +02:00
pancake
f5228044f1 * exit 1 if egg assemble or compilation fails
* Simplify x86nz assembler jumps
  - Fix 'test reg, reg'
* Minor simplification of entropy.c
2011-08-14 14:11:15 +02:00
pancake
870a2f9296 * Fix build 2011-08-13 18:34:45 +02:00
pancake
a050b58797 * Show progress bar in entropy calculation output of rahash2
- Allow per-block hash calculation instead of only full file
2011-08-13 18:09:39 +02:00
pancake
de5f4061ee * Add support for jl, jle, jg, jge, jne, je in x86.nz
- support for signed/unsigned values in r_egg
2011-08-13 17:23:24 +02:00
pancake
1424bf9701 * Initial support for 'jb' opcode in x86.nz
- hello.r now is broken because of this use
  - Ignore prefixed '$' in numeric values for r_egg
* Apply @capi_x's patch fixing a bug in 'wb' and rsc/msdn
2011-08-11 17:41:24 +02:00
pancake
b3cefac08b * Make while() and .var0-= statements work in r_egg lang
- Added support for 'add|sub [reg+delta],n' opcodes in x86.nz
* Add emit_init() function pointer to fix entrypoint issues
  - ebp has no valid value defined on entrypoints
2011-08-10 11:24:15 +02:00
pancake
06e98dadb1 * Add -k flag to ragg2 - select kernel
- ATM only support for linux and osx
  - Do not show asm when -f is passed
  - Added 3 test programs for osx/linux in ragg2
* Add support for 'lea' opcode in x86.nz
  - Support more 'mov [off], reg' opcodes
  - Lot of new test cases in test.nz
* Fix some segfaults and parsing bugs in egg/lang

--HG--
rename : binr/ragg2/exithello.r => binr/ragg2/t/exithello.r
2011-08-09 02:03:12 +02:00
pancake
1f48797bfb * Fix test reg, reg; mov reg, [reg] ; mov reg, [reg+off] in x86.nz
* First hello world working with ragg2 on linux-x86-32
  - Named exithello.r .. run cd binr/ragg2 ; make test
2011-08-09 00:10:12 +02:00
pancake
429a475ac0 * Deprecate rarc2 and rarc2-tool
- Replaced by ragg2 - the new r_egg based tool for r2
* Add r_egg_assemble as a 2nd step for compilation
* Fix memory leak in r_egg_free
* Add support for 'cmp' and more 'test' variants for x86.nz
  - Ignore 'dword ptr' string
  - More test cases
* Fix SCSIZE issue in rasc2 -s

--HG--
rename : binr/rarc2/Makefile => binr/old.rarc2/Makefile
rename : binr/rarc2/README => binr/old.rarc2/README
rename : binr/rarc2/config.def.h => binr/old.rarc2/config.def.h
rename : binr/rarc2/config.h => binr/old.rarc2/config.h
rename : binr/rarc2/emit_arm.c => binr/old.rarc2/emit_arm.c
rename : binr/rarc2/emit_x64.c => binr/old.rarc2/emit_x64.c
rename : binr/rarc2/emit_x86.c => binr/old.rarc2/emit_x86.c
rename : binr/rarc2/i/libc.r => binr/old.rarc2/i/libc.r
rename : binr/rarc2/i/socket.r => binr/old.rarc2/i/socket.r
rename : binr/rarc2/osxtest.r => binr/old.rarc2/osxtest.r
rename : binr/rarc2/out.c => binr/old.rarc2/out.c
rename : binr/rarc2/rarc2-tool => binr/old.rarc2/rarc2-tool
rename : binr/rarc2/rarc2.c => binr/old.rarc2/rarc2.c
rename : binr/rarc2/rarc2.h => binr/old.rarc2/rarc2.h
rename : binr/rarc2/t/Makefile => binr/old.rarc2/t/Makefile
rename : binr/rarc2/t/argv.r => binr/old.rarc2/t/argv.r
rename : binr/rarc2/t/bytedump.r => binr/old.rarc2/t/bytedump.r
rename : binr/rarc2/t/data.r => binr/old.rarc2/t/data.r
rename : binr/rarc2/t/dump.r => binr/old.rarc2/t/dump.r
rename : binr/rarc2/t/hello.r => binr/old.rarc2/t/hello.r
rename : binr/rarc2/t/hi.r => binr/old.rarc2/t/hi.r
rename : binr/rarc2/t/if.r => binr/old.rarc2/t/if.r
rename : binr/rarc2/t/inline.r => binr/old.rarc2/t/inline.r
rename : binr/rarc2/t/input.r => binr/old.rarc2/t/input.r
rename : binr/rarc2/t/loop.r => binr/old.rarc2/t/loop.r
rename : binr/rarc2/t/ptr.r => binr/old.rarc2/t/ptr.r
rename : binr/rarc2/t/rawsys.r => binr/old.rarc2/t/rawsys.r
rename : binr/rarc2/t/rawsys64.r => binr/old.rarc2/t/rawsys64.r
rename : binr/rarc2/t/regs.r => binr/old.rarc2/t/regs.r
rename : binr/rarc2/t/ret.r => binr/old.rarc2/t/ret.r
rename : binr/rarc2/t/room.r => binr/old.rarc2/t/room.r
rename : binr/rarc2/t/segfault.r => binr/old.rarc2/t/segfault.r
rename : binr/rarc2/t/shell.r => binr/old.rarc2/t/shell.r
rename : binr/rarc2/t/sub.r => binr/old.rarc2/t/sub.r
rename : binr/rarc2/t/syscall.r => binr/old.rarc2/t/syscall.r
rename : binr/rarc2/test.r => binr/old.rarc2/test.r
rename : libr/egg/t/syscall.r => binr/ragg2/syscall.r
2011-08-08 02:07:26 +02:00
pancake
d99fbd7680 * Fix make mrproper
* Initialize {code,data}_offset to 0
2011-08-08 00:54:00 +02:00
pancake
df8fb6cc21 * Store last .text/.data address in RAsmCode->{code,data}_offset
* Lot of fixups in x86.nz for better 64bit support
  - More opcodes are now supported (mov [base+delta], etc..)
* Make r_egg hello world work with x86.nz.
  - fixed some bugs in the rarc2 language parser
  - egg/t/test aims to be rarc2 replacement
  - rarc2 lang code seems to compile fine now,
  - r_egg now depends on r_syscall
* Fix null pointer in RNum
2011-08-08 00:46:04 +02:00
pancake
08e37c7a2b * Pass lot of more opcode assembler tests for x86.nz plugin 2011-08-07 03:31:27 +02:00
pancake
094c4eb8bd * Added support for lot of opcodes in x86.nz asm plugin
- Added t/test.nz script to ensure assembler works
2011-08-06 01:33:47 +02:00
pancake
839f71e937 * Initial import of the asm.x86.nz plugin
- Very few instructions can be assembled
  - Aims to assemble code with no zeros
* Added xorencoder.asm test file
2011-08-05 00:34:45 +02:00
pancake
1e060082a4 * Remove debug printf 2011-08-04 00:34:39 +02:00
pancake
82b93ffa88 * Rewrite buggy bash r_str_sub and rename as r_str_replace
- Fixes segfault in OSX
  - Fixes r_asm with .equ stuff
2011-08-04 00:33:04 +02:00
pancake
aad2e91d96 * Initial import of asm.x86.as plugin
- Uses OSX/GNU/BSD 'as' assembler
2011-08-03 21:01:56 +02:00
pancake
0d4faf652e * Set library version number for plugins
- Registers for which version of core was compiled
* Use tar --format=posix when GNU tar
  - Fixes the dependency on BSD systems
* Fix in doc/fortunes
* Fix this class pointer in asm_java
* Re-Fix uglily the bin_elf strtab issue (needs more work)
* Fix Vala regression in r_asm.vapi
2011-07-19 00:12:36 +02:00
pancake
188560bf4b * Fix build and lot of warnings for w64 2011-07-13 18:55:16 +02:00
pancake
c47da60578 * Some fixes in r_syscall (thanks vext01!)
* Use x86.olly before x86.nasm
* Add r_asm_assemble_file() method
  - Accessible with 'waf' command
2011-07-07 00:53:08 +02:00
pancake
840190602c * Use strncpy instead of strcpy in asm and util
- Also avoid using sprintf and strcat
  - Some speedup and buffer overflows fixed
* Reimplement 'ap' command using the API
  - Fixes some issues related to nested console buffers
  - Faster and more reliable
* Use Color_ definitions instead of hardcoded values in r_print
2011-07-06 01:29:18 +02:00
pancake
aa236eb063 * Finally fix a segfault in the htflags implementation
- This was workarounded to work incorrectly
* Fix build on OSX of the dalvik plugin for r_asm
* Other minor random checks
2011-06-29 00:36:52 +02:00
earada
21a9405a81 * Handle strings meta info in dalvik disassemble 2011-06-26 22:42:34 +02:00
pancake
868acc4059 * Added RBinBind type and logic
- Refactoring required to allow RAsm retrieve info from RBin
  - Will be used by dalvik and java disassemblers
2011-06-26 20:29:24 +02:00
pancake
adcefe78fe * Added 'mad' compiler support to crosscompile to maemo6 with QtCreator
- ./configure --with-compiler=mad --with-ostype=gnulinux
* Fix various warnings reported by maemo toolchain
2011-06-14 01:44:28 +02:00
pancake
42aaadb584 * Chop space for instructions without arguments on udis86 2011-06-04 03:14:57 +02:00
pancake
535a2aa713 * r_asm_disassemble use _CONST_ut8* buffer now
* Split core/cmd.c into disasm.c and core/visual.c into vmenus.c
* Fix some warnings reported by valgrind
* Chop instructions disassembled by udis86
* Fix visual prompt display in debugger mode
* Added 'pdi' and 'pdf' commands
  - Used to print just instructions or lengths
  - Documented via 'pd?'
* Added initial work on a test suite for r2
  - Spot a crash!
2011-06-04 03:14:04 +02:00
pancake
a6f48ded22 * Added CC! command to use cfg.editor to modify comment
- CC-* removes all comments
  - Many bugfixes in comment handling code
  - comments are now turqoise and have no ';'
* Added r_cons_column -- add support for columned text
  - Added r_cons_justify to align text to right
  - Added r_cons_memset as a helper
  - Vv menu displays options and list in left and disasm at right
  - Allow to rename functions
  - Added ':' prompt in Vv menu
* Initial implementation for s/ command (search+seek)
* Use core->num->value for 'p' command (number of bytes used)
* Implement /i to search ignoring case
* Help for e scr.fkey=?
* Added r_core_editor() helper
* Fix use-after-free in r_anal/meta
2011-05-21 14:27:46 +02:00
pancake
5b601d4c13 * Fix many possible malloc(0) bugs (Thanks Edd Barret for noticing!)
* Set cmd->nullcallback to NULL by default
2011-05-11 19:19:53 +02:00
pancake
bae9673ac4 * Implement basic code analysis support for AVR
- Thanks Roc Vallès for the contrib!
* Fix AVR disassembler branch output
2011-05-05 23:33:58 +02:00
earada
ac786a03dd * Add OSX x64 Reverse TCP Shellcode
* Fix rasc2 enviroment vars
* Change some files license from GPL3 to LGPL
* Fix some typos
2011-05-03 23:43:16 +02:00
pancake
020dd97a8b * Fix many segfaults discovered in OpenBSD
* Fix segfaults caused by read buffer overflow in x86im
  - use a 16 byte delta buffer in function and basic block analysis
* Fix r_list_delete segfault caused by an use-after-free bug
  - Thanks Edd Barrett for notifying :)
* Clean up many warnings reported by OpenBSD's gcc
* Reduce analysis depth to 50
* Fix OpenBSD syscall definitions and fix generator python script
2011-04-03 02:43:15 +02:00
earada
708e10e413 * Change some files license from GPL3 to LGPL
* Fix build
2011-04-28 02:09:43 +02:00
pancake
8bef25d14d * Fix segfault in bin_java (still buggy and duppy)
* Change asm_bf license from gpl3 to lgpl
2011-04-27 16:51:41 +02:00
pancake
41d4e0bc0b * Some fixes for static builds 2011-04-23 04:33:45 +02:00
pancake
a6a92aa73e * Honor --without-debugger
* Fix linking of r_anal_x86_simple plugin
* Fix some uninitialized vars reported by debian build system
2011-04-07 23:15:58 +02:00
pancake
8b27aa6723 * Make io.gdb plugin work again
* Fix more unused var bugs
2011-04-06 12:26:19 +02:00
pancake
94e316b6fe * Do not build r_db
* Group bfd getl{16,32} helpers
  - fix build of sh-dis plugin
* Fix lot of warnings
* Port rap to use RSocket
2011-04-06 09:29:25 +02:00
pancake
18835c0907 * Drop another unused lib (r_crypto)
- Fix debian farm build and reduce compilation times
2011-04-04 18:09:45 +02:00
pancake
c8d1de0ad5 * Show cursor in disasm bytes when scr.color=false 2011-03-30 18:41:42 +02:00
Eloi Sanfelix
7c04f11226 Initial SH4 support 2011-03-29 14:55:41 +02:00
pancake
7b221b7089 * Import of a reviewed Glyn's patch (Thanks!)
- Use files in x86.nasm plugin to fix portability issues
2011-03-18 09:24:16 +01:00
pancake
c6a579a291 * Enforce byte boundaries in some fixed-fetch-size disassemblers 2011-03-14 09:08:24 +01:00
pancake
27ecc4bc93 * Fix stuff reported by Debian (thanks sre)
- Do not distribute hidden files
  - Do not install libraries (when they are not libraries)
  - Note MSIL disassembler license to avoid confussion
2011-03-10 09:19:30 +01:00
pancake
92453e035f * Rename bfd.h to avoid collision with system one aka Messy hack!
--HG--
rename : libr/asm/arch/include/bfd.h => libr/asm/arch/include/mybfd.h
2011-03-09 18:46:16 +01:00
pancake
b6258561f4 * Re-fix bfdlink issue on non-gnu includes
* Fix race condition in r_fs
2011-03-09 18:30:17 +01:00
pancake
b19921c70d * Do not dist 'swig/' in root tarball dist
* Workaround to fix the python-config hell
* Drop the deprecated libr swig package
* Fix build on non-gnu include files
2011-03-09 17:13:27 +01:00
pancake
0d3b85677b * Add fix for x86.nasm on OSX 64 bit (Thanks @capi_x) 2011-03-09 00:33:45 +01:00
pancake
7de3c55f4b * Oops. Fix build O:) 2011-03-04 11:24:28 +01:00
pancake
70caff4609 * Import @capi_x patch fixing support for x86.nasm on OSX 2011-03-04 11:32:10 +01:00
pancake
d953cd9adf * Initial implementation of the java name mangling
- Added as comments before the method names
* Some fixes in r_bin_java
* Added r_buf(append/prepend)
* Show flags always in new lines
2011-02-27 20:30:41 +01:00
Nibble
268d6560ad * Complete analysis for more opcodes in anal_x86
* Decode more opcodes in r_anal_op_to_string
* Complete r_anal_value_to_string()
  - Output imm values
  - Fix segfault
* Remove dupped line from x86.mk
* Remove ref to "dummy plugin" from r_asm.h
2011-02-27 16:17:05 +01:00
pancake
e557d9a385 * Drop 'r_cons.h' from r_fs
* Fix visual glitch in Vej and Vt
* Handle demangled names as comments
  - in rabin2 and core->bin_load
  - Needs to be a RAnalCall at some point
  - bin_java calls the dummy r_bin_demangle_java
  - Add R_BIN_NM_ANY enum
* Add asm.lbytes config to align disasm bytes to left
* Fix visual glitch in function boundaries
* Import upgraded versions of the idc2rdb scripts in doc/
2011-02-25 04:19:30 +01:00
Nibble
ddffdff8d2 * Rename r_asm_aop_* to r_asm_op_*
* Rename remaining r_anal_aop_*
2011-02-24 16:50:29 +01:00
capi
e84907fb98 * Add msil support to r_asm 2011-02-23 13:00:24 +01:00
earada
4c72f5f082 * Zoom out in cursor mode
* Fix dalvik goto opcodes
* Initial import of the dalvik anal plugin
* Fix 'ms' mount a non-exist root
2011-02-23 03:01:26 +01:00
pancake
3f883a7c54 * Fixes for the GUILE bindings
- Added accessors for RAsmAop-buf-hex and RAsmAop-buf-asm
  - Added test case for r_asm API
2011-02-17 22:03:30 +01:00
earada
68e88b956c * Fix offset dalvik opcodes problem
* Rename plugin functions
2011-02-11 20:07:24 +01:00
pancake
6db4e28e02 * Oops. unstatic r_asm_arm plugin 2011-02-06 16:30:56 +01:00
pancake
64c4e5c014 * Fix various bugs in r_lang api
- Use RList instead of kernel's list.h
* Initial import of 'vala' plugin
  - Allows to write Vala/Genie scripts
2011-02-06 14:10:16 +01:00
Nibble
5742b10641 * Remove remaining fastcall stuff from r_asm
* Fix build for bindings
2011-02-04 18:34:20 +01:00
Nibble
0906e809fe * Remove all dummy plugins (speed up build) 2011-02-04 14:20:30 +01:00
pancake
1f1a36c817 * Initial implementation of the r_anal_aop_execute api
- It's like r_vm, but using r_anal
  - r_vm is going to be deprecated
* Added r_mem_set_num()
* Remove deprecated asm/t/fastcall example
* Fix warnings in r_syscall_regs
  - Integrated with r_syscall_use()
  - Fix r_syscall_reg() out of bound bug

--HG--
rename : libr/syscall/regs.c => libr/syscall/fastcall.h
2011-02-03 00:20:39 +01:00
pancake
965a577af2 * More work on the r_anal/r_syscall refactoring for calling conventions 2011-02-02 13:05:48 +01:00
pancake
259883630b * Move r_asm_fastcall into r_syscall_regs (-42LOC) 2011-02-02 13:02:20 +01:00
earada
dd9f3b000b * Fix dalvik big opcodes
* Asm bufsize is 1024 again
2011-01-31 00:26:07 +01:00
pancake
a1fa245517 * Add missing dalvik.mk 2011-01-25 16:29:59 +01:00
pancake
afb634f97d * Add support for ppc64 disassembler 2011-01-23 18:19:03 +01:00
earada
0283c92f6e * Initial import of Dalvik (Android VM) disassemble plugin
* Change opcode buffer size to 3218 (need refactor)
2011-01-19 00:39:28 +01:00
pancake
b0390669c7 * Sync r_flag vapi
* Fix r_util vapi for latest vala
  (no default values for out parameters)
2010-12-24 01:43:34 +01:00
Nibble
0b9ca8a330 * Fix bug in udis86 with calls in 64bits (need more testing)
- 32bits operator + 64bits pc = 64bits address
2010-12-23 02:11:28 +01:00
pancake
49ab1886c2 * Fix branch analysis in arm thumb
* Various unnecessary syntax changes
2010-11-14 16:38:17 +01:00
pancake
a6629c610c * Fix static compilation on Linux systems
- Not really portable, needs some work to fix w32 build
2010-11-10 03:55:27 +01:00
pancake
264f95a40e * Fix build in iOS 4.1 (darwin-arm)
- Honor CFLAGS everywhere
  - Use ut?? instead of uint??_t
* Add build instructions in doc/iphone
* Fix some out-of-range conditionals
2010-11-08 19:30:25 +01:00
pancake/n900
c03fcdfa87 * Fix build for maemo (native arm/linux)
- This is a compiler issue, not arch related
2010-10-27 20:09:29 +02:00
pancake
0a294261aa * Many warnings fixed thanks to gentoo build and @astralia 2010-10-27 16:31:51 +02:00
pancake
8e03f35762 * Apply patch from @earada
- Fixed the push/pop arm compile. Thanks @vytis0 for report!!
  - Use 128 bytes in opcode length.
  - Use an array for store all registers parsed.
  - Now can use more than 2 regs.
* Fix warnings in flags/name.c
2010-10-25 00:57:03 +02:00
pancake
6ea3adb5aa * Bump revision to beta 0.6
* Fix bug in armass noticed by @earada
2010-10-19 19:53:29 +02:00
pancake
8149bab431 * Remove \r (thanks @earada) 2010-10-18 11:54:12 +02:00
pancake
c02df0ba66 * Restore old asmserv.c
- Fix build
2010-10-18 01:52:44 +02:00
pancake
d0e3a3b0e3 * Fix w32 debugger register profile
* Remove \r in asmserv.c
2010-10-17 23:33:58 +02:00
pancake
9f7040dbf8 * Fix warnings in asmserv on windows
* Some alloca->malloc fixes for w32
* More error checking in r_sys_rmkdir
  - Uses the new r_sys_mkdir_failed() api
  - works on windows and posix
* Disable asm.dwarf when the plugin fails to init
  - Displays a warning message
* Added 'e scr.cols=16'
  - Determines the width of the hexdump (px, x)
  - Used also by Visual mode hjkl dimensions
2010-10-17 23:03:54 +02:00
pancake
8f9dbbd0d1 * Remove some use of alloca()
* Fix lock when using 'r2 -d'
* Invalid program name results in error, not warning
2010-10-12 13:22:19 +02:00
pancake
f1e46a88f6 * Do not run .!rabin2 from r_core
- Use internal APIs to load binary information
  - Startup time reduced about 2-3 times
  - Thanks @earada for this patch!
2010-10-11 17:11:43 +02:00
pancake
daa5d0fd38 * Implement ldmia/stmia in armthumb_assemble
- added also: yield, wfe, wfi, sev, bkpt
  - fix ldr{bh} and str{bh}
* Initial implementation of the arm-thumb code analysis module
2010-10-08 00:27:38 +02:00
pancake
284abdfb87 * Added partially supported ldr{hb} and str{hb} opcodes for armthumb
- needs more parse checking
2010-10-07 19:16:16 +02:00
pancake
6b3883cc43 * More opcodes supported by the arm thumb assembler
- Just missing ldr{b,h} and str{b,h}
* Added armthumb_length() function to retrieve opcode length
2010-10-07 11:20:12 +02:00
pancake
a8c641a0a6 * Initial import of the ARM thumb assembler
- Not all opcodes are supported, partially done
2010-10-06 21:22:56 +02:00
Nibble
124aa07a96 * Add r_core_asm_bwdisassemble for backward disassemble resolution
* Add example using bwdisassemble in swig/vapi/t/bwdisassemble.vala
* Add field len to RCoreAsmHit
* Update vapi's
* Fix memory leak in r_core_asm_strsearch()
* Fix several vala examples
* Fix r_list_iterator warning in vala
2010-10-06 18:04:47 +02:00
pancake
b21584e06c * Initial import of the thumb arm disassembler
- based in C++ code of KennyTM in networkpx.googlecode.com
  - Added 'armthumb' r_asm plugin (16 bit mode)
2010-10-06 00:35:33 +02:00
pancake
ee39ba239a * Add 'FS' #define for w32 and *nix
* Add support for thumb mode ARM disassembler
  - Workaround a warning in r_vm for arm-16
* More work on drx.c, but still not integrated
2010-10-04 00:42:11 +02:00
pancake
6072a14eef * Simplify and fix rarc2-tool script
* Add support for /**/ style comments in rarc2
* Fix libr2.a warning message
* Fix .string "" directive in rasm2
  - Now works like in GAS. escape chars are handled
  - and quotes are stripped
2010-09-15 13:10:10 +02:00
pancake
9b2d428d1b * Initial hello world for rarc2 in ARM with GAS working
- Few changes needed to work with rasm
* Cleanup some warnings
* Handle foo() as a function definition, so emit frame in rarc
2010-09-15 10:50:43 +02:00
pancake
1b1599c6df * Support for some push/pop arm opcodes with 2 regs
* More fixes for rarc2 on ARM
* Implement .fill directive in r_asm
* Added asm.profile in r_core
* Added r_str_bits as a helper to display register flags
2010-09-14 11:22:31 +02:00
pancake
a9f8d52e59 * Many fixes in ARM assembler and rarc2 support for ARM
- Still not yet usable, but
* Add .byte and .hex in r_asm as directives
* Add test case for r_word api
  - Fix r_word_count()
* Also handle .globl (and .global) to keep GAS compatibility
  - TODO: add .word .fill .align and others
2010-09-14 01:29:09 +02:00
pancake
f4ada2309f * Handle numeric values as radix=10 by default in ollyasm
- Fixes rarc ATT output format for x86
* Fix commandline flags parsing in rarc2
  - Honor intel syntax with ".intel_syntax noprefix" header
    - GAS can now compile att and intel syntax rarc2 output
* Handle .intel_syntax and .att_syntax directives in rasm2
2010-09-10 13:17:24 +02:00
pancake
2d2131607c * Error on invalid hexpair strings in rasm2
* Fix assemble of str/ldr opcodes in ARM assembler
  - add more opcodes: nop, push, pop
2010-09-10 10:50:53 +02:00
pancake
76476e89ed * Many fixes and more opcodes supported for the ARM assembler 2010-09-09 23:54:56 +02:00
pancake
a7e77e78ee * More work on the arm assembler 2010-09-09 01:39:15 +02:00
pancake
183dffcd6b * Fix push immediate opcode analysis in basic x86 analysis
* Import simple arm assembler
* Some fixes for the brainfuck disassembler plugin
2010-09-08 19:49:34 +02:00
Nibble
c83d11ffd4 * r_asm
- Update udis86 to git head
* r_anal
  - Print more fields in test_anal
* r_socket
  - Rename socket_udp_connect to r_socket_udp_connect
* Fix build
2010-08-24 19:59:19 +02:00
Nibble
16f6c7a392 * r_asm
- Handle errors in x86_nasm plugin
* r_core
  - Minor fixup in debug message in '/c'
2010-08-11 18:29:15 +02:00
Nibble
f853dab09f * More fixes on mingw32 build
* Update VERSION in swig configure script
* Update doc/windows
2010-07-24 12:44:19 +02:00
pancake
bafedbd021 * Display error when 'nasm' is not installed
* Autocomplete flags for 'fr' command
2010-07-12 19:27:05 +02:00
pancake
6e1653881d * Load constant pool from RCore in RAsm
- this is a compiletime module dependency
  - java needs to share constantpool between anal, asm and bin
* Added compile-time introspection POC macros in r_types.h.h
2010-06-29 15:47:30 +02:00
pancake
236d78295d * Fix debug regs, memory read in w32 debugger
- Fixes some segfaults and null string issues
  - Simplify and clean code (still more work needed)
* TODO: updated
2010-06-28 14:12:34 +02:00
pancake
21d2531b7f * Fix segfault in java disassembler
* Update compilation instructions for w32 in doc/windows
* Identify new osx binaries as mach0, not java
* io.va only works when there are configured sections
2010-06-27 23:12:55 +02:00
pancake
c73e43bf40 * Fix print_address function for mips disassembler
* Implement 'gp' register index inside .got section for get_main on mips
* Use more switch() in core/cmd.c
* Simplify some random code
2010-06-27 21:33:11 +02:00
pancake
f641df833b * Initial working version of the MIPS code analysis
- imported from r1
* Implement the syscall table for linux-mips
* Do not use tabs in the mips disassembler
* Fix other uninitialized state segfaults in r_debug
2010-06-23 13:43:08 +02:00
Nibble
414f5a38bc * More fixes on build system
- 'make mrproper' now works like 'hg purge --all'
  - More fixes on 'make clean'
  - Remove some missing -Wl,-R
2010-06-15 14:10:42 +02:00
pancake
c9a403cf71 * More work on 'at' command
* RRange ported to r_list (not yet tested)
* Fix r_cmd.vapi RCmdPlugin struct definition
2010-06-04 23:47:35 +02:00
Nibble
fcc6b8d013 * Add flag -M to rabin2 at radare2 startup and cg
* Add r_asm_mdisassemble_hexstr
* Update r_asm.vapi
2010-05-30 13:00:21 +02:00
pancake
64c329d297 * More work for 'binr'. Hopefully everything is done now :) 2010-05-29 13:24:47 +02:00
pancake
eb05e6a6b2 * Move all the r2 programs into binr/
- Little cleanup of the build system
2010-05-29 03:30:36 +02:00
Nibble
4235dd2a8e * Fix bug with static plugins
* Treat r_cons and r_line as singleton in r_core_init
* Move gdiff to r_core
* Fix libgmp support

--HG--
rename : libr/diff/gdiff.c => libr/core/gdiff.c
rename : libr/diff/gdiff.h => libr/core/gdiff.h
2010-05-28 02:44:51 +02:00
pancake
c077d0ca27 * RAsm.handlers => plugins 2010-05-26 02:55:50 +02:00
Nibble
5c35f6e359 * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
pancake
c8d637a26a * RAsmHandle -> RAsmHandler.. Same for RBin
- Define RAsmHandler in r_asm vapi
* Random code cleanup
* Define RHex.str2bin in rutil vapi
2010-05-26 00:59:10 +02:00
Nibble
5cf81db968 * Build
- rename 'make ins' to 'make symstall'
  - more build fixes
  - all libs must be compiled before r_debug & r_core
  - Remove r_cons & r_print dependencies from asm/t/Makefile
  - Add r_anal dependency to debug/t/Makefile
2010-05-25 20:40:47 +02:00
pancake
7902cb417f * Initial import of r_big - big integer api
* Handle cfg.bigendian in core->assembler
  - fixes powerpc big endian disassembler
2010-05-24 01:31:22 +02:00
pancake/imac
5c744013ad * Fix compilation on OSX 2010-05-23 23:04:46 +02:00
pancake
be12c8f284 * Added anal_java plugin (copypasta from r1)
- Split java_ops array into a separate object file
* Fix r_config.vapi and add RConfig instance in RCore definition
2010-05-23 14:31:18 +02:00
pancake
11f5134c91 * Initial import of the procpid IO plugin 2010-05-21 19:05:53 +02:00
Nibble
7abcfe6852 * Refactoring
- Remove all init functions (included in _new)
  - Update vapi's (needs more work)
2010-05-20 17:40:58 +02:00
pancake
34435b1285 * Mental note: %lld/%llx does not exist on windows
- Use the macro PFMT64{xod} in case
2010-04-14 13:02:23 +02:00
pancake
db3aa272b0 * Add 0xeb (short jmp) in modify asm x86 plugin
* Add help for 'fs' command
* Added 'fS' command to sort by offset (fSo) or name (fSn)
  - Current r_flag_sort breaks the linkedlist
2010-04-09 11:32:17 +02:00
pancake
f5bf177c60 * Implement r_asm_modify
- wA command is used to Alter opcodes (move to r_anal?)
  - allows to modify various opcode instructions
* Add search.distance config variable
2010-04-09 00:52:38 +02:00
pancake
c98674bd01 * Drop m68k from asm/p/Makefile
* Fix import/export of flags by project file
  - Unset flagspace restriction
  - Do not use '@' .. faster :)
* Add r_sys_write into r_util vapi
2010-03-31 01:06:26 +02:00
pancake
0eaded05ca * Remove m68k disassembler because BSD4 is GPL incompatible
- Moved into radare2-extras
2010-03-26 17:19:24 +01:00
pancake
6e6dbf5b81 * Some fixes in code analysis
- Fix some issues for 64bit instructions in z0mbie dislen
* Fix EOF, ^D and terminal resize
  - Do not understand terminal resize as EOF
* Display rpathstrip lines to identify segfaults
* Implement 'ao' command to analyze opcodes
2010-03-26 17:01:25 +01:00
pancake
8f75e7ddc3 * Fix build 2010-03-25 23:16:29 +01:00
pancake
9fcdcce2a7 * Some sorting of TODOs
* Disable asm.x86.nasm assembly on non-intel syntax
* rpathstrip after install (should fix debian issue)
2010-03-25 21:14:28 +01:00
pancake
728bd1f817 * Fix w32 build 2010-03-25 10:18:59 +01:00
pancake
de6e7e5900 * Some build fixes 2010-03-23 16:01:18 +01:00
pancake
ea5413f760 * Added csr code analysis plugin
- Cleaned up version from r1 code
  - Build asm.csr and anal.csr by default
* Added 'dsu' command. step until
* Remove vala and swig checks in configure.acr

--HG--
rename : libr/asm/arch/csr/csr_disasm/dis.c => libr/asm/arch/csr/dis.c
rename : libr/asm/arch/csr/csr_disasm/dis.h => libr/asm/arch/csr/dis.h
2010-03-23 12:30:04 +01:00
Nibble
e0635a8beb * r_asm
- Fix x86.olly plugin
2010-03-19 13:51:28 +01:00
pancake
d48e80fac9 * Oops, fix ollyasm for radix != 10 2010-03-19 13:27:51 +01:00
pancake
0266e3338e * Use radix 10 in ollyasm like in intel syntax
* Add asm.nbytes to limit number of bytes to be displayed
2010-03-19 03:06:53 +01:00
pancake
d3e6e6f2ec * Fix negative offsets in memory addressing opcodes
for udis86 disassembly for intel and at&t syntaxes
* Show olly disasm widespaced
2010-03-19 02:29:52 +01:00
pancake
668a77f7ee * Initial import of the vAVR Atmel disassembler
- Works, but has not yet been tested with real code
  - Code analysis not yet implemented
  - Compiled by default
2010-03-19 00:51:16 +01:00
Nibble
9379bdbb29 * r_asm
- More fixes and refactoring in r_asm_massemble loop
2010-03-14 05:16:35 +01:00
Nibble
400cc2f2d3 * r_asm
- Fix bug with forward-declared labels
2010-03-13 16:35:18 +01:00
Nibble
fe059d3ee2 * r_asm
- Fix offset bug in r_asm_massemble
2010-03-13 14:21:50 +01:00
Nibble
35592a60e9 * r_asm
- Move ppc_disasm and x86_bea to radare2-extras
  - Add gnu ppc disassembler plugin
* r_anal
  - Move x86_bea plugin to radare2-extras
2010-03-10 14:56:45 +01:00
pancake
023bcce689 * Added copypasta 'arm' code analysis for r_anal 2010-03-08 10:53:15 +01:00
pancake/imac
edb48945b7 * Added DEFAULT_ARCH for mips and powerpc
* Refactoring in r_anal API for _aop() with addr and length
  - Added ppc code analysis plugin
  - sync in r_core
* cfg.ffio->io.ffio
* Add CMD type in r_lib
* Added SR register type
* More stuff is now working in osx-ppc debugger
* Random code cleanup
2010-02-22 04:02:13 +01:00
pancake/imac
dfd884db74 * Initial steps to make osx-ppc debugger work
- Use 'asm.arch=ppc' in POWERPC by default
  - Added r_io_mach for MACH microkernel debugging
    - Compiled as static plugin by default
  - Added darwin mach/ptrace stuff in debug_native
  - Very ugly code.. needs some refactoring
  - Add powerpc-OSX registers description map
  - Added temporally .h files in debug/p/native
* Display verboser version message with 'r2 -V'
* More linking issues fixed for OSX
* Build gdbwrap debugger plugin
  - Not yet usable
* Added R_SYS_OS R_SYS_ARCH and R_SYS_ENDIAN strings
* Deprecate DEBUGGER variable
2010-02-22 02:42:29 +01:00
pancake
14f9fe8b65 * Autodetection of --with-ostype in configure.acr
- Rebuild configure script in ACR 0.8.1
* Random minor changes
2010-02-21 20:24:28 +01:00
pancake/imac
9890c6e8b0 * Fix build in OSX
- env.sh now also uses DYLD_LIBRARY_PATH
  - Fixes in ollyasm/dis to link with no global variables
    - Remove double definition of global _state
    - Same for asm_java
  - Split -shared and -Wl,-R into LDFLAGS_{LIB|LINKPATH}
    - Fixes linkage in osx
  - anal_x86_bea plugin now links correctly against BeaEgine.o
  - dietline is now #include'd from line.c
  - no debugger support yet
  - Do not externalize any variable. Some linkage does not support it
* Remove bininfo dependency .. aims to be merged into bin soon
* Added r_str_case() method to change to lower/upper case a string
2010-02-21 20:21:36 +01:00
pancake
d6f95d33c3 * Lot of fixes in the vala/swig wing
- r_util is now bindable from swig !!
  - Added test cases for r_util
  - r_flist has been mirrored in C, to keep API consistent
* Rename RIO->seek into RIO->off
  - There's a method with the same name
  - Also rename list.h ->next and ->prev into ->n ->n
* Apply patch from whats fixing 'r_cmd_str' EOF for stdin (Thanks!!)
  - Added test program to ensure stdin food works
* Allow '-f -' to rasm2 (assemble file from stdin)
* Added test case in python using RBin, RAsm and RCC to compile
  and assemble a code to be injected in the given target program
2010-02-15 22:59:26 +01:00
Nibble
c738134c67 * Fix olly disasm in 64b 2010-02-14 12:43:52 +01:00
Nibble
9923fb7199 * Fix r_asm disassemble offsets 2010-02-13 18:14:01 +01:00