Commit graph

1236 commits

Author SHA1 Message Date
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
pancake
e0ed77af58 * Some work to fix r_asm
- assemble is now working
  - disassemble fails
  - Hard refactoring in massemble loop
  - Labels are now just 'text:'
  - Comments are supportes with '#' char
  - Labels are used as EQU directives
  - Added test program 'make test' in libr/asm/t
2010-02-13 03:00:27 +01:00
Nibble
bd2561af7f * Several fixups in r_asm and rasm2
* Fix ruby test for swig
* Add dummy perl test for swig
* Remove perl warning from swig/Makefile
2010-02-12 18:40:05 +01:00
pancake
caf507091d * Added -f flag to rasm2
* Implement .equ keyword in rasm2
2010-02-12 13:45:03 +01:00
pancake
648f8ebe23 * Fix 'const char*' issue in valaswig bindings
- 'unowned string' is the correct vala type
  - Depends on valaswig tip
  - type checking is now more strict
* Build libr.so again for swig bindings
* Added test-r_bin.py
2010-02-12 00:43:11 +01:00
Nibble
d1aceaaa80 * Use valaswig-cc -x for generating bindings (iterator support and so)
* Remove deprecated r_bin.i.experimental
* Define r_array functions in r_array.h as inline static (list.h like)
* Minor fixups in some vapis and headers
* Update python examples
* Exclude problematic libs from swig/rules.mk (temporary)
2010-02-11 15:03:10 +01:00
pancake
822a33377b * Initial working implementation of the r_diff with delta in C
- Uses the mercurial's C algorithm for delta diffing
  - Remove r_diff_lines .. do we need a line-level diffing tool?
  - Remove -l flag from radiff2
* Rename RIo to RIO
* Added r_reg_arena_new () to simplify arena creation
  - Some sanity fixes in r_reg arena.c
* Add -C in rasm2 to output in C string format
* Initial working implementation of r_debug_execute to inject code
  in child process and restore memory and registers
  - Returns %a0 register value in ut64
* Added 'c' command to r_core - to compare -- just dummy
  - Will use r_diff
  - if rdiff callback returns NULL, we must stop scanning
  - old r_diff_buffers_delta is now named buffers_radiff
  - Added test files in diff/t/{file1,file2}
* Added doc/plugins documentation file
* Fix ${EXT_SO} in bin/p and asm/p (dejavu?)
* Added dummy asm_gas r_asm plugin
* Various random syntax fixes
* Rename 'dbg.ptrace' to 'dbg.native'
* Added r_debug_io_bind () to sync dbg and bp io_bind
* r_debug_map_list is now in a nicer format
* Append ${EXT_EXE} in diff/t
* Add missing util/log.c and vapi/r_line.vapi

--HG--
rename : libr/debug/p/debug_ptrace.c => libr/debug/p/debug_native.c
rename : libr/debug/p/ptrace.mk => libr/debug/p/native.mk
2010-02-05 12:21:37 +01:00
pancake/fluendo
c02ef87ac2 * Add support to ARM for the debugger
- asm.arm plugin is now embedded into r_asm as static plugin
* Added register alias names for r_reg
  - Add register names for x86/32/64/arm
  - pc, sp, bp, a0, a1, a2, a3
* Do not build lua5.1 if no lib found
* Enable cfg.ffio in debug mode
* Some code simplification in r_asm
  - Fix a negative offset bug in elf on ARM binaries
2010-02-03 14:34:00 +01:00
pancake
7ce3232747 * Build all pkgconfig files (fixes valaswig stuff)
* Split some install targets
* Fix segfault in r_anal when not setting any handler
* Rename R_ASM_SYN -> R_ASM_SYNTAX cprefix
  - R_ASM_*_NULL -> R_ASM_*_NONE
* Added nonworking scr.html eval key in r_core/config
* Add install-ruby target for swig bindings
* Use @VERSION@ in libr.pc.acr
* Lot of fixes for valaswig integration
2010-01-25 11:54:25 +01:00
pancake
8fbe0be140 * Add --without-pic configure flag to build radare2
without PIC code (only static libraries, and link binaries)
  - Fix linking order dependencies
* Fix some missing EXT_EXE
* Add some definitions to make debug_ptrace register work
  on Solaris and *BSD (no windows yet)
  - Some fixes for mips, x86, x86-64, arm and powerpc
* Initial import of rsc2
  - Added intel2att rsc2 sample script
2010-01-21 21:22:30 +01:00
pancake
41ba5c0104 * Add some missing ${EXT_EXE} in t/
* Implement write register support in debug.ptrace
  - Added many new commands related to registers to r_core
  - Allow to set register values
  - List register types
  - Display register values by type
  - Get value (f cureip @ `dr:eip`)
  - Added continue with signal method to r_debug API
  - drp : display register profiles
  - drp [file] : load register profile
  - Fixes in r_reg, r_io vapi and test program
2010-01-19 11:25:17 +01:00
pancake
b0a48c14de * Fix build of BeaEngine
* Rename r_iter into r_array
* Simplify r_list and add vala bindings
  - Test cases for C and vala

--HG--
rename : libr/include/r_iter.h => libr/include/r_array.h
rename : libr/vapi/t/iter.vala => libr/vapi/t/array.vala
rename : libr/vapi/t/array.vala => libr/vapi/t/bintest.vala
2010-01-18 13:45:02 +01:00
pancake
2a054f6bba * Added w32dist makefile target to generate a distributable zip
with .dll and .exe for w32
* Do not build libr.${LIB_AR} by default (problematic in some platforms)
* Lot of more fixes for building on w32 - Yeah i got the first build done!
  - Check radare.org/get/radare2-w32*
  - So many things are still broken for windows
  - Fixes some recursive and missing dependencies
  - LINK and LDFLAGS must be after $OBJ
2010-01-15 17:02:04 +01:00
pancake
8ba7b6b043 * Many build fixes for mingw32
- See doc/windows
* Rename config.mk to global.mk
  - Avoid name collision (cascade includes in rules.mk)
* Added ${EXT_EXE} in some test program directories
* Split rules.mk into config.mk
  - Some scripts just need to get the environ (config.mk)
  - They dont need the rules

--HG--
rename : config.mk => global.mk
2010-01-15 01:32:28 +01:00
pancake
882e3e28c6 * Added libr target to generate libr.a and libr.so
* Build libr_${NAME}.a by default (with PIC objects..)
* iter.h -> r_iter.h
* Initial import of r_list
* Fix name of io.debug plugin

--HG--
rename : libr/include/iter.h => libr/include/r_iter.h
2010-01-14 12:13:48 +01:00
pancake
3bc0212ee6 * Initial import of the 'configure-plugins' script
- accepts --static and --shared to setup which plugins
    you want to build statically in the library or dynamically
  - normalize .mk and plugin file names to adopt a single standard
  - WARNING: huge commit
* Added 'mk/sloc.mk' with 'sloc' target to count
  lines with sloccount everywhere (yeah!)

--HG--
rename : libr/asm/p/x86bea.mk => libr/asm/p/x86_bea.mk
rename : libr/asm/p/x86nasm.mk => libr/asm/p/x86_nasm.mk
rename : libr/asm/p/x86olly.mk => libr/asm/p/x86_olly.mk
rename : libr/config.h => libr/config.h.head
rename : libr/config.mk => libr/config.mk.head
rename : libr/debug/p/dbg_gdb.c => libr/debug/p/debug_gdb.c
rename : libr/debug/p/dbg_ptrace.c => libr/debug/p/debug_ptrace.c
rename : libr/debug/p/dbg_libgdbwrap/Makefile => libr/debug/p/libgdbwrap/Makefile
rename : libr/debug/p/dbg_libgdbwrap/README => libr/debug/p/libgdbwrap/README
rename : libr/debug/p/dbg_libgdbwrap/client.c => libr/debug/p/libgdbwrap/client.c
rename : libr/debug/p/dbg_libgdbwrap/gdbwrapper.c => libr/debug/p/libgdbwrap/gdbwrapper.c
rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-internals.h => libr/debug/p/libgdbwrap/include/gdbwrapper-internals.h
rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-stddef.h => libr/debug/p/libgdbwrap/include/gdbwrapper-stddef.h
rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper.h => libr/debug/p/libgdbwrap/include/gdbwrapper.h
rename : libr/debug/p/dbg_libgdbwrap/include/libaspect.h => libr/debug/p/libgdbwrap/include/libaspect.h
rename : libr/debug/p/dbg_libgdbwrap/include/libe2dbg.h => libr/debug/p/libgdbwrap/include/libe2dbg.h
rename : libr/debug/p/dbg_libgdbwrap/include/revm.h => libr/debug/p/libgdbwrap/include/revm.h
rename : libr/debug/p/dbg_libgdbwrap/interface.c => libr/debug/p/libgdbwrap/interface.c
rename : libr/io/p/dbg.mk => libr/io/p/debug.mk
rename : libr/io/p/io_dbg.c => libr/io/p/io_debug.c
2010-01-13 23:42:49 +01:00
Nibble
94df3a38f7 * Some work in mach0 plugin
* Fix r_util build
* Minor fixups in rasm
2010-01-10 14:13:41 +01:00
Nibble
b1b7a981c4 * Minor fixups in rasm
* Update r_core to use r_asm_massemble
2010-01-08 21:23:54 +01:00
Nibble
17b8713327 * Minor fixups in rasm 2010-01-08 20:28:17 +01:00
Nibble
42f79227c9 * Better error handling in rasm 2010-01-08 19:37:42 +01:00
Nibble
97bc1e4b62 * rasm
- Add r_asm_code for massemble and mdisassemble
  - Use realloc in massemble and mdisassemble
  - Remove unused disasm_obj
2010-01-08 18:25:25 +01:00
pancake/fluendo
75378891c3 * Fix some random warnings 2009-11-23 18:00:08 +01:00
pancake/fluendo
1ac990a330 * Fix build 2009-11-23 17:49:40 +01:00
pancake
8579a5b41f * Release version to 0.3
- Propagate @VERSION@ from ACR
  - All *2 apps are now supporting a -V flag to show the version
* Fix .dr* command in r_core debugger
  - dr now supports [regtype] [bitsize] arguments
  - Check dr? for help
* Added some 8, 16 bit registers to the dbg.ptrace backend
  - Just for testing :)
* Check build of the whole source tree
  - test programs are now in ${prefix}/bin/libr-test
* Fix lot of warnings and bugs
* Simplify some code
* Some rapification
* Fix segfault in r_reg related to unallocated arenas
  - New function r_reg_type_by_name() resolves string->id
* Fix help of rax2
2009-09-25 04:04:51 +02:00
pancake
9442317413 * Major refactoring patch
- Remove plugin prefixes
    - It was unnecessary complicated
  - Remove unused code
  - Some RAPIfication
  - Rename _set( methods into _use(
  - Simplify some string processing
  - r_parse is working again
  - Sync all those api changes in r_core
  - External static plugin lists moved to .c
  - Fix some cast-related segfaults in core
* Review the r_search API
  - RAPIfication
  - Allow to pass NULL as binmask
  - Added TODO with some more ideas
2009-09-24 12:29:05 +02:00
pancake
f1c9c1e778 * Some malloc checks in _new() class constructors
- Fix warnings in many places
* R_APIfication of r_anal
  - Fix probable segfault in x86_bea
* Use macros to define plugin names
* Fix build of radare2, rasign2 and debug/t/main
* Call sundo_push() when io_seek
* Added toggles for seek and write undo levels

--HG--
rename : libr/sign/t/rasign.c => libr/sign/t/rasign2.c
2009-09-09 00:35:00 +00:00
pancake
e5c83d6d26 * Do not pass CFLAGS when linking asm/t/fastcall
* Populate r_io_lseek -> r_io_seek refactoring
* R_APIfy a bit the r_hash
* Also build hash/t/hello program
* Fix some warnings and build blockers
* Make rahash2 read from files (using slurp)
* Added r_buf API in r_util (interacts with r_io)
* Add initial template for r_io_bind
  - Needs some more work
2009-09-08 01:08:46 +00:00
pancake
6c28274aa0 * Implement static plugins for r_io
- Prefix all plugins with 'io_' (like in the rest of libs)
  - Statify io_dbg and io_ptrace IO plugins
* Added _free methods for r_io and r_debug. Oops
* Initial dummy version of r_debug.vapi
* More stuff in the debug/t/main.c (not yet working)
* Better hg-miss missing file detection checks

--HG--
rename : libr/io/p/dbg.c => libr/io/p/io_dbg.c
rename : libr/io/p/ewf.c => libr/io/p/io_ewf.c
rename : libr/io/p/malloc.c => libr/io/p/io_malloc.c
rename : libr/io/p/ptrace.c => libr/io/p/io_ptrace.c
rename : libr/io/p/shm.c => libr/io/p/io_shm.c
2009-08-22 03:11:33 +00:00
pancake
a1f45dbf8a * Add support for static plugins to r_debug
- r_debug_ptrace is now static by default
* Some code cleanup and warnings removal
* Added hg-utils.mk and MKPLUGINS directive in user-config
* Initial implementation of dbg_gdb r_debug plugin
  - Import ERESI's libgdbwrap from r1
* Add some missing files (asm/p/fastcall_mips.h, core/t/ragrep2.c)
* Added r_str_bool helper to get "true"/"false" from int
2009-08-22 01:54:24 +00:00
pancake
65da25d4c0 * Implement STATIC PLUGIN support for r_parse
- Use the new 'asm-like' build system for r_parse plugins
  - Added new callback to 'assemble' parseable expressions
    into compilable asm code
  - Refactorize and remove warnings in parse_mreplace
* Added r_str_char_count() in r_util
* Some fixups in the fastcall code in r_asm

--HG--
rename : libr/parse/p/mreplace/mmemory.c => libr/parse/p/parse_mreplace/mmemory.c
rename : libr/parse/p/mreplace/mmemory.h => libr/parse/p/parse_mreplace/mmemory.h
rename : libr/parse/p/mreplace/mreplace.c => libr/parse/p/parse_mreplace/mreplace.c
rename : libr/parse/p/mreplace/mreplace.h => libr/parse/p/parse_mreplace/mreplace.h
2009-08-14 01:44:12 +00:00
pancake
bc1b1b976e * Initial implementation of r_asm_fastcall()
- VAPI sync
  - Used to get register N to call fastcalls (syscalls f.ex)
* Code analysis marked as 8-bit compliant
2009-08-14 00:37:18 +00:00
pancake
d62886064a * Fix memory leak and simplify the code of the CSR disassembler 2009-07-16 09:24:17 +00:00
Nibble
94445e1540 * Change the name of some types
- s/u64/ut64/
  - s/u32/ut32/
  - s/u16/ut16/
  - s/u8/ut8/
2009-07-08 13:49:55 +02:00
Nibble
857df2088b * Fixed bug in r_bin_elf resolving imports
* Fixed 'rasm2 -o'
2009-06-11 14:28:35 +02:00
pancake
0f2503f781 * Sync local random changes with public repo
* Forwport of the 'Y' yesno issue of r1
* R_APIize r_util a bit more
* Added r_str_ansi_* helper functions
2009-05-20 12:41:04 +00:00
Nibble
438028a7ae * Added mdisassemble into r_asm
* Update r_asm vapi
2009-04-27 00:34:54 +02:00
pancake
3939dcf26f * Fix vmas assembler plugin license header
* Added set_subarch() method for r_asm plugins
  - Not yet used by any plugin
2009-04-23 10:31:55 +00:00
Nibble
499adab6f1 r_asm
- Remove some warnings from r_asm
  - Redefine parameters in several functions
2009-04-23 00:09:55 +02:00
pancake/fluendo
eaac73b314 * Apply skurz0's patch implementing psosvm architecture for r_asm 2009-04-22 20:17:49 +02:00
Nibble
f47b8c01e6 * r_asm
- Added pseudo-instruction .bits
  - Added asm_x86_nasm as static plugin
* r_bin
  - Added pe, pe64, elf64 and java as static plugins
2009-04-22 16:29:30 +02:00
Nibble
e37ca5367e * r_asm
- Added pseudo-instruction .org
  - .asciz renamed to .string
* r_core
  - Fixed r_bin format detection at opening
2009-04-22 00:42:18 +02:00
Nibble
0d5f0531e5 * r_asm
- Now instructions are splitted by '\n' '\r' and ';'
2009-04-21 13:39:33 +02:00
Nibble
656d9613ca * r_bin
- Minor fixups in r_bin_elf
* r_asm
  - Added multiline support to massemble
  - Fixed buf_hex generation in massemble
2009-04-21 12:11:07 +02:00
Nibble
ee7e8c10ee * Fixed labels bug in r_asm 2009-04-20 13:26:29 +02:00
Nibble
fec51758cc * Fixed infinite loop in asm_x86_olly when str == "" 2009-04-20 11:37:54 +02:00
Nibble
a9ad542ea6 * r_asm
- Added pseudo-instruction .arch
  - Improve label parsing
  - Dropped r_cmd dependency
* r_bin
  - Fixed string address issue
  - Minor fixup in elf_specs.h
* r_util
  - Removed '.' from isseparator
2009-04-19 20:09:07 +02:00
Nibble
161b7b745d * r_asm
- Fixed binary output of rasm2
  - Added R_ASM_BUFSIZE
  - vapi update
  - Added assemble test into asm.vala
2009-04-16 19:20:03 +02:00
Nibble
e2b855b6e4 * r_asm
- Added full label support (fixed bug with postdefined labels)
  - Removed some warnings in bea
  - Removed r_flags dependency
2009-04-16 18:03:51 +02:00
Nibble
f87525173a * r_asm
- Added label support using r_flags
* r_util_str
  - Added macro isseparator
  - r_str_word_* functions use isseparator now
2009-04-15 14:37:18 +02:00
Nibble
b5c9a13366 * r_asm
- Added pseudoinstruction .asciz
  - asm_x86_olly assembles the shorter opcode
* rasm2
  - Minor fixups and refactoring
* Misc
  - Added new quote into fortunes
2009-04-15 01:19:42 +02:00
Nibble
724d900e62 * r_asm
- Fixed initialization
  - Fixed assembly fallbacks
  - Removed dupped memcpy's in disassembly functions
  - Added the directive ORG to asm_x86_nasm
  - Refactoring
* rabin2
  - Added -L to list supported plugins
2009-04-14 15:21:19 +02:00
pancake
5f74c8068d * Move buf_hex memcpy in r_asm instead of dupped code in every plugin
- Plugins needs to be synced
* Added x86nasm assembler backend to handle x86-64
  - Not yet working. Pretty buggy :)
* Fix support of building static plugins for r_bp
  - Statically link r_bp_x86 by default
* Implement ugly r_sys_cmd_str() command in r_util
2009-04-13 22:47:02 +00:00
pancake
36771ea713 * rasm2 -h does not list plugins (use -L)
* Fix div0 bug in r_bp_getbytes()
* Show 'enabled' / 'disabled' attribute of breakpoints
* Implement dbg_read and dbg_write callbacks for r_debug
  - Added r_debug_set_io() to setup the IO for r_debug
* 'db' command can now add and remove breakpoints
  - Not yet written into memory. only managed
2009-04-12 23:10:22 +00:00
pancake
c6aa69fef1 * Initial pseudo-working implementation of the r_bp library
- Integrated with r_debug module
    - Hardware breakpoints will be handled by the debug backend
  - Breakpoints support software/hardware, lil/big endian, trace, enable/disable
  - Plugin infrastructure adding software breakpoint templates
    - Added x86 and arm software breakpoint plugins
* Some work on the 'db' command to manage debugger breakpoint
* Added empty dH to transplant process between debugger backends
2009-04-12 22:46:44 +00:00
pancake
edebf8187e * Add rasm2 -L flag to list loaded asm plugins
* Make r_config_set_i restore old value if callback fails
2009-04-11 21:24:37 +00:00
pancake
cdd80105cb * Initial dummy implementation of r_bp
- Managing breakpoints for the core
  - Initial work on the support for breakpoints
    for the r_debug plugins
* Adding some dummy work for context support in r_anal
* Make asm_set_bits check per-plugin supported bit sizes
  - Now asm plugins have 'arch' and 'bits' attributes
  - Used to setup default callbacks for undefined 'assemble' callback
  - Also used to avoid setting asm.bits eval variable to invalid values
  - We need a way to display all this data
* Added DEFAULT_ARCH in config.h to setup default arch to asm and anal
* Added r_config_set_i_cb()
  - Make r_config_set restore value when callback is called and fails
  - asm.bits now has a config callback
* Added _LAST in some r_anal enums
2009-04-11 21:22:20 +00:00
Nibble
44ecdbb636 * r_asm
- Added pseudo-instruction support using r_cmd
  - Added .byte
* r_util_str
  - Added r_str_trim
* r_cmd
  - Fixed r_cmd.h
2009-04-11 18:49:09 +02:00
Nibble
38b47d2481 * r_bin_elf
- Fixed error opening "sstripped" elfs
* r_asm
  - Added r_asm_massemble
    Assemble several instructions separated by ';'
* rasm2
  - Updated assembly using r_asm_massemble
* core
  - Updated 'wa' cmd using r_asm_massemble
2009-04-09 01:03:49 +02:00
pancake
c264147138 * R_APIize r_asm and r_var
* Implement write support to r_io plugin dbg_ptrace
* Fix libtcc lang plugin compilation problem
* Use r_core_write_at instead of r_io_seek+r_io_write
* Implement 'wa' command.
  - Integrated with visual mode (bind to 'a' key)
  - Added 'x' key in visual to write hexpair strings
* Fix signature of 'assemble' function in r_asm (const u8 *)
2009-04-07 00:26:41 +00:00
Nibble
a976816e30 * rasm2
- If '-l' value is greater than output length,
    output is padded with nops
2009-04-05 16:02:17 +02:00
Nibble
a7fc1db4bb * rasm2
- Added -B and -l flags for binary input/output
  - Added support for assembling several instructions (separated by ;)
    e.g.: $ rasm2 "push eax; push ebx"
* r_asm
  - Fixed bug in asm_x86_olly
2009-04-05 15:23:36 +02:00
pancake
d41e40ba05 * Huge build system refactoring
- Make proper use of the config-user.mk
  - Accelerate build by manually checking timestamps of bin/lib to objs/srcs
  - Use '-MD' by default
  - Lot of minor fixups done in multiple places
  - Fix PREFIX/LIBDIR installation/loading problems for plugins
  - Some segfaults has been fixed
  - Use R_API in r_core and r_lib
* Add 'vm' to be build by libr by default
* Add 'libs.c' in core/ to manage plugins from core
  - Added 'dir.plugins'
  - Make '-e' and '-L' radare2 flags work
  - Plugins are not loaded multiple times now
* Added r_lib_types string array containing plugin types strings
* Minor fixups in r_debug
  - Properly check 'contsc' delegate
  - Separate r_debug_wait()
* Rename dbg-ptrace into dbg_ptrace

--HG--
rename : libr/debug/p/dbg-ptrace.c => libr/debug/p/dbg_ptrace.c
2009-04-01 00:28:13 +00:00
pancake
99f284f358 * Some work for r_bininfo library
- Extend API to get file and line numbers from a virtual address
  - Added addr2line-like test program 'rabini'
  - Added 'addr2line' plugin
* Add r_file_slurp_line helper in r_util
* Added initial work to support multiple compilers (gcc only atm)
  - tcc support under development
  - Make HAVE_REGEXP be optional
2009-03-22 04:37:46 +00:00
Nibble
acc455109f * Several fixups 2009-03-10 12:21:46 +01:00
pancake
19fa55ba33 * Add random documentation for dynamic language plugins
* Properly installation of vapi files
  - Lot of fixtures to build a external hello world in gtk+vala+r_asm
  - default staticplugins for r_asm are:
    mips, java and x86_olly by default
  - Add r_util.vapi and make .pc file point to -lr_util
  - Use .deps to generate dependencies between vapi files
  - Fix r_asm.vapi (Added Asm.Aop struct)
    - add set(string) method
    - asm/disasm -> assemble/disassemble
* Fix warning + build in sign.c
  - Included in default build
* Fix segfault in r_lib with NULL in opendir()
* More fixtures for r_asm_plugin_*
  - use #ifndef CORELIB
  - drop 'static'
* Update README
2009-03-10 01:49:24 +00:00
Nibble
d51005f027 * Added 'static-plugin' feature to r_bin module
* Minor fixups in r_asm build
* Added missing IFDBG in lib.c
2009-03-09 13:03:42 +01:00
pancake
4ba2e545ae * Fix warn in javasm.c
* Fix asm_x86 makefile rule dup
* Fix build of x86_bea plugin
* Add asm.offset and asm.bytes in r_core
2009-03-09 02:03:32 +00:00
pancake
b2e785fc61 * Add 'static-plugin' feature to r_asm module
* Make rabin2 support 'arm' instead of 'asm_arm' for -a (autoprefix 'asm_')
* Some build fixtures
* Static plugins are configurable in libr/config.mk and libr/config.h
2009-03-08 23:49:15 +00:00
Nibble
8ff0d7e13c * Removed several warnings 2009-03-06 12:53:19 +01:00
Nibble
3d76339cec * Added java plugin for r_asm
* Added java assembly support in rasm2
2009-03-05 16:58:13 +01:00
pancake
f88fd507cd * fix r_asm and r_anal deps
* Initial import of depgraph.pl helper script to get the libr
  internal library dependencies graph with graphviz
2009-03-04 12:39:51 +00:00
Nibble
ea44bb103a * r_anal
- Added initial anal_x86_bea plugin (op analysis using bea engine)
    'ao' command in radare2
  - Minor fixups
* r_asm
  - Modified r_asm_aop_t to fit r_anal requirements
  - Updated r_asm plugins
* r_parse
  - Removed several warnings from mreplace
  - Removed unnecessary includes
2009-02-26 15:15:19 +01:00
Nibble
1b71e0e52d * Fixed build O:)
* Removed warning from asm_x86_bea plugin
2009-02-20 16:29:12 +01:00
Nibble
bda701d02f * r_asm
- Removed warnings
  - Added error handling to rasm2
* r_lang
  - Fixed "print help" bug
2009-02-19 18:13:34 +01:00
Nibble
ab956379ea * Fixed plugin name length error in r_{asm, anal, lang}
* r_asm
  - asm_bea renamed to asm_x86_bea
  - asm_olly renamed to asm_x86_olly
  - Minor fixups in rasm2
* r_debug
  - R_ASM_ARCH_ renamed to R_DBG_ARCH_

--HG--
rename : libr/asm/p/asm_bea.c => libr/asm/p/asm_x86_bea.c
rename : libr/asm/p/asm_olly.c => libr/asm/p/asm_x86_olly.c
2009-02-19 16:41:51 +01:00
Nibble
10bac23574 * Fixed rasm2 init O:-) 2009-02-19 14:34:06 +01:00
Nibble
d8f56c56e9 * r_asm
- Fixed asm_bea
  - More refactoring on rasm2
2009-02-19 14:24:51 +01:00
Nibble
2cc6fcd1e4 * r_asm
- Initial import of bea engine
  - asm_x86 splited in asm_x86, asm_olly and asm_bea
  - More refactoring
2009-02-18 22:10:47 +01:00
Nibble
a2abae1c01 * rasm2 refactoring
* Fixed r_lib null handler issue
* Default blocksize of 64B
2009-02-18 16:20:14 +01:00
Nibble
ca77c47350 * rasm2
- Fixed
  - All the language plugins are now supported
2009-02-18 13:59:57 +01:00
Nibble
777235bb87 * r_asm
- Added arm plugin
  - Added bf plugin
  - Added csr plugin
  - Added m68k plugin
  - Added mips plugin
  - Added ppc plugin
  - Added sparc plugin
  - Removed deprecated test programs
  - Updated rasm2 (not working)
* r_parse
  - Initial import

--HG--
rename : libr/asm/arch/arm/asm.c => libr/asm/p/asm_arm.c
rename : libr/asm/arch/bf/asm.c => libr/asm/p/asm_bf.c
rename : libr/asm/arch/csr/asm.c => libr/asm/p/asm_csr.c
rename : libr/asm/arch/m68k/asm.c => libr/asm/p/asm_m68k.c
rename : libr/asm/arch/mips/asm.c => libr/asm/p/asm_mips.c
rename : libr/asm/arch/ppc/asm.c => libr/asm/p/asm_ppc.c
rename : libr/asm/arch/sparc/asm.c => libr/asm/p/asm_sparc.c
rename : libr/asm/arch/x86/pseudo.c => libr/parse/pseudo.c
2009-02-18 03:47:40 +01:00
Nibble
23afb7eeb3 * r_asm
- Used plugin infrastructure
  - Huge refactoring
  - Added x86 plugin

--HG--
rename : libr/asm/arch/x86/asm.c => libr/asm/p/asm_x86.c
2009-02-18 01:49:26 +01:00
Nibble
dec90751a1 * r_asm
- Added csr and m68k support
  - Added csr and m68k test programs
  - Fixed Makefile
2009-02-17 02:46:52 +01:00
Nibble
26b5e48ede * r_anal
- Initial (non working) implementation
  - Added dummy and x86 plugins
* r_core
  - Added 'anal' command
* r_asm
  - Removed aop parser
2009-02-16 00:57:03 +01:00
Nibble
389cce05f6 * r_anal // r_asm
- Initial AOP parser (needs more love)
  - Adds buf and inst_len to r_asm_t
  - Refactoring
* More Makefile refactoring
2009-02-09 00:19:06 +01:00
pancake
fcb58f1ff7 * Lot of makefile refactoring and cleanup
- Make use of some gnu extensions to make it cleaner
  - Fixes (mostly) build system
2009-02-06 13:17:51 +01:00
pancake
c5e588e6e5 * Initial import of libr
- Previous commits has been reported in the ChangeLog file
  - hg log has been lost (moved inside ChangeLog)
  - Old radare1 repository has removed all the libr
2009-02-05 22:08:46 +01:00