Commit graph

382 commits

Author SHA1 Message Date
pancake
2475dc6d04 Optimize r_anal_reflines and r_anal_data_kind (disasm is now 7 times faster) 2014-01-04 01:59:23 +01:00
pancake
da33633680 Fix #491 - Project untrusted input
- Fix various project related issues
- Do not save in directories. Projects are file + file.d/
- Do not show division by zero issue (e cfg.foo=/bin/ls)
2013-12-28 02:34:15 +01:00
pancake
5574d90ba1 Fix strbuf signature 2013-12-14 01:16:09 +01:00
pancake
720488d68f Fix build 2013-12-11 12:38:56 +01:00
BatchDrake
b04a9776a2 Refactorization of RAnalOp.esil to make it compatible with RStrBuf 2013-12-08 22:47:50 +01:00
pancake
b97eecc06f RStrBuf setters return boolean for success 2013-12-08 02:47:55 +01:00
pancake
af6c71417a Show plugin path in r2 -hh, add r_str_rmch() inline 2013-12-04 02:35:10 +01:00
pancake
05d7188a9a Fix dynamic format string functions
- s/r_str_dup_printf/r_str_newf/g
- Add r_strbuf_setf()
2013-12-04 00:20:52 +01:00
pancake
d10d0c6516 Fixes for the strbuf api 2013-12-03 17:27:47 +01:00
pancake
8717542596 Add RStrBuf api 2013-12-03 04:46:53 +01: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
d100e603c9 Fix #157 - sandbox issue in webui
- add 'f' and ':' print formats
- fix nocolor disasm artifact
- add VW command to launch webui
- rename sN to sp (seek to previous hit)
2013-10-09 00:29:49 +02:00
pancake
653881eb3a Merge and fix jvoisin #235 #236 2013-10-04 13:57:49 +02:00
pancake
302328a76c Fix #203 - Call to a section + some more work on utf8 2013-09-03 22:45:43 +02:00
pancake
a46eb958e7 Initial implementation of the wip multiline text editor 2013-08-28 03:06:10 +02:00
pancake
b6ae1b64f2 Add 'dpe' command to discover the path of executable from given pid 2013-08-19 00:36:17 +02:00
pancake
19314bc27f Better comments in disasm, fix io->size = 0 regression 2013-07-18 23:00:38 +02:00
pancake
2cbce80f2f Add __cplusplus extern "C" boilerplate everywhere 2013-06-18 12:09:23 +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
cdea34616d Fix some warnings 2013-06-09 02:55:03 +02:00
pancake
ced24c443d Load <file>.r2 if exists, last 3 args of 'S' are now optional 2013-06-09 01:09:47 +02:00
pancake
f6a8d7b3b8 Initial import of binr/r2agent 2013-05-11 01:58:05 +02:00
Shane Peelar
24ccb7aabb Fixed compilation problems on Windows with MinGW-w64 4.8 2013-05-02 10:17:59 +02:00
pancake
26a7854dd6 Rewrite DEX parser 2013-04-25 03:42:17 +02:00
pancake
8afdf330ae List and remove projects using '-p' and '-p -$prj' 2013-04-18 09:39:37 +02:00
pancake
5c40488acc Fix .ia* issues when demangling c++, Fix visual hexa
Fix recent regression with scr.cols -> hex.cols
Minor fix that was causing some nasty r_num parsing
Show demangled symbol/imports names as comments
2013-04-16 19:48:59 +02:00
pancake
426873d911 Better support for macros and fix dex checksum hint
- .(fix-dex) macro defined when loading a dex
2013-04-12 01:15:00 +02:00
pancake
ad0f93e8c9 Add r_num_units and hash list is no longer hardcoded
Added ?o (octal) and ?u (units) new commands
Minor random code cleanups
2013-04-08 09:38:23 +02:00
pancake
128097572a Optimize DEX header parsing. Fix 'psp' command
Added r_buf_get_at() method to avoid copies
2013-04-04 23:19:19 +02:00
pancake
5c1cd1f0ef Initial support for UTF8 in r_cons and r_util 2013-04-04 01:42:12 +02:00
pancake
8f4d23a5ce Initial implementation of io.map plugin 2013-03-12 01:50:55 +01:00
pancake
b45f07a39a dtc now uses r_cons_printf 2013-03-03 05:47:33 +01:00
pancake
97484a7b6c Add conditionals, 'dsi' to continua !, Fix bindings build
Added r_num_conditional function to stop the instruction set. I is accessible in vuu¡
2013-03-03 05:03:48 +01:00
pancake
701a43fc23 Use r_sandbox_kill instead of kill 2013-03-02 19:44:10 +01:00
pancake
9b1df62609 Fix mmap and other minor issues on w32 2013-01-23 18:38:08 +01:00
pancake
fc9301b14b Add hints and named print formats and more
Initial implementation of anal hints (ah?)
Use anal hints in core/disasm. Needs more work
New data structure StrHT (string hashtable)
Simplify core/libs.c with cpp macros
Added r_cons_color() wip function for ansi256 consoles
RPrint no longer depends on r_cons
Sort 'a?' help commands
Add support for named print formats with pf$ command
Add support for 64 bit string pointers in 'pf' ('S')
Add r_print_mute and r_print_format_length functions
Bump r2 nodejs bindings version number
Merge r_print into r_util
2013-01-22 05:06:12 +01:00
pancake
60a951e9b1 New io.buffer cache system and refactorized RHashTable
Implement io.buffer for fast IO (work in progress)
Rewrite util/cache.c and use it form io/buffer.c
Refactor util/ht.c and util/ht64.c to reuse code
Various minor fixes in RIO api
cache.c must be rewritten into r_buf for
2013-01-12 04:29:45 +01:00
pancake
a8a4c5e3e8 Initial implementation of http.upload (disabled by default)
Open http://localhost:9090/upload.html to upload
curl -F file=@/bin/ls http://localhost:9090/up/ls.bin
Tested on 10MB files without problems
Default upload directory is $TMPDIR
2013-01-03 00:47:58 +01:00
pancake
3fb4c7dd5e Use encodeURI in r2.js and implement http upload support 2013-01-02 18:37:48 +01:00
pancake
2d0dd302be Add RCoreLog API ('l' command), '-' cmd is now '$'
Fix in disasm comments
Fix bugs in r_strpool api
Log API allows rss-like messaging
2012-12-23 13:52:57 +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
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
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
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
6dadd63c4b Ad od scr.col and cjange more settings
Fix parsing of segmented addresses
Move hud to shlr/hud
Add r_cons_print_clear () for delayed 'clearscreens'
Add blankline option to RCons
Add scr.segoff to show prompt as segmented or not
Add scr.colpos to choose the position of cmd.cprompt
Deprecate old flags code
2012-11-14 03:25:32 +01:00
pancake
2ac70dd5e8 Fix stack exhaustion bug when repeating null commands. add strpool api 2012-11-06 09:47:52 +01:00
pancake
8431655bf8 Some fixes in the file interpret command and the www
Fix loading of omap3830 script (support longer calc expressions)
Fix some glitches and TODOs in the www ui
2012-10-31 10:42:49 +01:00
pancake
1f15df18c4 Fix build and http shutdown, WebUI (afr, pdi), add socket timeout
Fix http server shutdown issue
Add timeout on socket connect
Enhace web ui with 'afr' and 'pdi' commands
Fix segfault in 'afr'
Fix build (thanks @egeektronic)
2012-10-25 21:40:11 +02:00
pancake
858c65f239 Add sandbox-kill and disable reopen in sandbox mode 2012-10-22 10:43:10 +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
be247348b5 Rename r_file_exist into r_file_exists 2012-09-06 08:59:13 +02:00
pancake
46e29afb98 Initial working web ui: r2 -c =H /bin/ls
Autodetect osx, win, linux and android browsers
Default port is 9090
Add support for local networking in RSocket
Add r_str_unescape() helper function
Fix htmlgraph.sh script.
Added wwwroot in shlr/www
Swap eval/cmd load order in r2
Add r_core_cmd_str_pipe()
Use RCons in 'fs'
2012-09-06 03:12:54 +02:00
pancake
de519e7b6b Initial implementation of the RSocketHTTPServer 2012-09-05 19:31:32 +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
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
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
Roi Martin (@nibble_ds)
60bef170d2 Big refactoring of libr/util/calc:
Remove global vars
  Fix wrong seeks after pd
  Fix graphs
2012-08-10 11:30:27 +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
Anton Kochkov
e075a18b56 Types cleanups 2012-07-22 12:01:39 +04:00
pancake
1fe1417c39 Apply patch from Anton Kochkov fixing whitespaces
Bump 0.9.1hg to 0.9.1git as reported by @schrotthaufen
2012-07-17 10:00:23 +02:00
pancake
c814a9f67a Initial implementation of dwarf debug_line parser
rabin2 -d a.out
2012-07-12 02:47:04 +02:00
pancake
fdb25ffa03 * initial import of dummy dwarf support
* handle eval cuando escribes una y otra vez
* add support for [bracket] comma-separated list for controversial
  - add api to push-back states
* Added uleb128 api in r_util
2012-06-28 01:27:40 +02:00
pancake
30354fefc8 * Implemented 'afe' and 'Sr' commands
* Show strings referenced by relative LEAs
* Fix ascii art in hexdump columns
* Unset cursor when quiting visual mod
2012-06-14 10:01:16 +02:00
pancake
a1a1519b92 * implement osx-x86-32/64 native cross debugging
* Add p= command to show the statistics graph
* Rename Vw to Vi (write->insert)
* Add dummy base85.c
* Various binding fixes (add test3.js)
* Fix socket.vala
2012-06-07 03:41:21 +02:00
pancake
d37de2367d * Split libr/core/cmd.c 2012-02-27 02:40:27 +01:00
pancake
34d41b897f * Fix lot of regressions in command parsing
* Fix nested command repeaters
* Add hardcoded limit for BB analysis (fix infinite analysis bug)
  - RAnal.Fcn now has a .depth field
* Fix some r_cons usage related issues in rcore
* Add 'pif' command. as in 'pdf' one resizes the blocksize
* Fix '#' command/comment again
* Fix r_io_read issue that was causing everything to go wrong
2012-02-27 02:02:44 +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
621d78cff4 * add support for floating point arithmetics in r_num_calc
* show r_num_math parsing errors to stderr
* add rax2 -f to show result in floating point
2012-02-14 05:26:41 +01:00
pancake
126223038c * Add Simon Ruderich patch adding pager support to r_cons (thanks!)
- Add new cfg.pager configuration variable
  - by default no pager is used (cfg.pager is empty).
2012-02-05 02:39:04 +01:00
pancake
0104a6cd6d * Add ?ip and r_cons_hud_path()
- atm only for files
  - o `?y` doesnt works with path with spaces
* Add r_file_is_directory()
* Documentate ?V command
* Add support for prompt in r_cons_hud()
2012-02-01 03:32:14 +01:00
pancake
29166cc940 * Initial import of the hud input method for the visual mode
* Use '_' key in visual mode to enter in hud mode
* Support mach0 files with multiple sections with same name
* Fix parsing of commands with nested quotes
* rename ?z to ?l
* added new command ?y to get and set yank buffer contents to stdout
* ?i stores the input into the yank buffer now
* ?I accepts a file name as argument which is loaded as hud
* ?k used as key=value temporal storage
* Add calc.c .. plans are:
  - support proper parenthesis in math.c
  - support floating point arithmetics
2012-01-31 02:45:17 +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
696961d15d * Cleanup for rsakey (still unused)
* Move sflib into libr/include
* Added r_file_size()

--HG--
rename : binr/ragg2/d/sflib/common/sfsocketcall.h => libr/include/sflib/common/sfsocketcall.h
rename : binr/ragg2/d/sflib/common/sftypes.h => libr/include/sflib/common/sftypes.h
rename : binr/ragg2/d/sflib/darwin-x86-32/sflib.h => libr/include/sflib/darwin-x86-32/sflib.h
rename : binr/ragg2/d/sflib/darwin-x86-32/sfsyscall.h => libr/include/sflib/darwin-x86-32/sfsyscall.h
rename : binr/ragg2/d/sflib/darwin-x86-32/sfsysnr.h => libr/include/sflib/darwin-x86-32/sfsysnr.h
rename : binr/ragg2/d/sflib/linux-x86-32/sflib.h => libr/include/sflib/linux-x86-32/sflib.h
rename : binr/ragg2/d/sflib/linux-x86-32/sfsyscall.h => libr/include/sflib/linux-x86-32/sfsyscall.h
rename : binr/ragg2/d/sflib/linux-x86-32/sfsysnr.h => libr/include/sflib/linux-x86-32/sfsysnr.h
rename : binr/ragg2/d/sflib/linux-x86-64/sflib.h => libr/include/sflib/linux-x86-64/sflib.h
rename : binr/ragg2/d/sflib/linux-x86-64/sfsyscall.h => libr/include/sflib/linux-x86-64/sfsyscall.h
rename : binr/ragg2/d/sflib/linux-x86-64/sfsysnr.h => libr/include/sflib/linux-x86-64/sfsysnr.h
2011-12-01 10:53:02 +01:00
pancake
8edef15e88 * Initial working import of the r_egg_xor encoder
- Fix r_egg and ragg2 accordingly
  - Based on @santitox patch. Thanks! :D
2011-12-01 03:28:12 +01:00
pancake
7c2a6e63b4 * Initial implementation of r_debug_map_protect()
- Bind to dmp command
  - Only w32 + osx, needs more work
* Added new api r_graph
* Added dtc and dtg
* Some minor makeup in RList
2011-11-25 04:32:32 +01:00
pancake
83eed8c94a * Fix dup2 for w32
* Fix r_anal and r_socket vapis
* Split r_egg_run() into r_sys_run()
2011-11-16 00:44:18 +01:00
pancake
94f905cfe0 * Do not build rasc2 anymore
* ragg2 now works better
  - Show bitsize in ragg2 -L
  - Added a sample plugin for x86-64 osx shellcode
    - command can be configured, suid can be enabled
* Minor fix in r_buf api

--HG--
rename : man/rasc2.1 => binr/rasc2/rasc2.1
2011-11-13 04:47:56 +01: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
870518903b * Fix r2-bindings build
* Fix some warnings in r_parse
2011-10-05 12:40:16 +02:00
pancake
2a0b57d51d * Implement 'ax' command.
- Add r_anal_fcn_xref_{add|del} methods
* Some fixes for r_bin_dex file format
  - Properly name all fields and methods
  - Add entry support in java too
* Add default sections for dex and java class files
  - constant pool, code, data, extra
* Beautify 'S=' command
2011-09-28 02:48:03 +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
2edfc3495e * Re-enable r2 -t - use threads to load big files 2011-09-14 04:31:22 +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
e8af14966b * Import the r_regex api in libr/util/regex from OpenBSD source
- Added a r2-like API on top of it
  - Make RSearch and RMagic use this new api, so
* Only load default magicpath files when no file is passed to RMagic
* Initial work on r_listrange optimization in RAnal
  - #define USE_NEW_FCN_STORE
  - Still work-in-progress
* Implemented a RPoolFactory singleton api to accelerate
  allocations of little objects in the future
* Fix sys/mingw32.sh for osx
* Added sys/maemo.sh
2011-09-14 02:07:06 +02:00
pancake
2c92c7d172 * Merge rapatch2 into rabin2 -p
* Honor bits in r_syscall_setup
  - Initial work on RPair in r_syscall
  - Not yet integrated, but design is mostly done
* Add r_str_split()
* Add python2 and python3 makefile rules in r2-bindings
2011-09-04 03:56:35 +02:00
pancake
56fb04bb79 * Say different error if -w is used in r2 and fails
* p= command is now an alias for !rahash2 -a entropy -b 512 $FILE
* Some work in the 'G' key in visual
* Fix zoom on io.va=1
* r_sys_getcwd now returns a heap ptr and its named to r_sys_getdir()
* Show invalid instructions in 'pd'
* Fix prompt for 'w' key in visual
* More work with RPair
  - Looks like it's finally usable. Let's use it from r_syscall
  - Update sdb from hg
  - Enhace test program
* Show newlines in 'ps' command
2011-09-04 02:34:54 +02:00
pancake
12af78ccee * Fix build, reduce warnings and add some checks 2011-08-30 19:12:49 +02:00
pancake
47834e60bd * Do not calculate reflines if asm.lines=false
* Honor null callback in r_cmd
* Some enhacements in the r_config_description
* Implement cmd.repeat and add two commands to handle it
  - . and .. (allow to handle pyew-like newline)
* Add ia and ia* to show all binary information info
  - Use r_sys_cmd_str() instead of r_sys_cmd()
  - This fixes the bug of not able to interpret output of .i?*
* Some random minor code simplifications
* r_sys_getenv now returns an allocated buffer
  - Need some review to avoid memleaks
2011-08-27 20:25:37 +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
d2cf5e4425 * Import chmod() from sbase as r_file_chmod()
- Support recursive chmod
  - Handles string-based octal/expression formats
  - Used by rabin2 -c to chmod +x the created binary
2011-07-25 23:42:39 +02:00
pancake
a173eedcaf * Added support for ELF32-linux-x86 binaries for rabin2 -c
- Allow to create tiny elf binaries (only text section)
  $ rabin2 -a x86_32 -c elf:31c040bb2a000000cd80 a.out
* Added api for 16 and 64 uint write in RBuffer
2011-07-25 23:20:49 +02:00
pancake
8d06dd2f02 * Initial implementation of rabin2 -c
- Allow to create tiny binaries with r_bin
  - ATM only MACH0 format for x86-32 is supported
  $ ./rabin2 -a x86_32 -c mach0:31c040682a00000081ec04000000cd80 a.out
* Rename r_bin_set_arch{idx} to r_bin_select{idx}
  - New API r_bin_create and r_bin_use_arch()
2011-07-25 21:10:25 +02:00
pancake
510c08f4e4 * Do not use strcpy/strcat/sprintf
- There are still some 3rd party files that require update
  - Makes OpenBSD linking less verbose
2011-07-06 03:01:21 +02:00
pancake
bebb19a5ce * Fix some warnings patch by @capi_x
* Added R_REFCTR macros
* Ignore prefixed 0x in hexstr2bin
  - Fixes issue in 'wo*' commands (thanks edd)
2011-07-04 23:23:06 +02:00
pancake
46c7851ffc * Some fixes in the LEA/MOV memref analysis
* Stretch bytes and stackptr in disasm
* Fix string length in r_bin (\0 is counted)
  - hello is a 6 byte length string
* Fix 'Vds' to autodetect string length
2011-06-09 02:12:46 +02:00
pancake
4c0b8f437b * Added 'pw' and 'pq' commands to print 32bit and 64bit hex values
* Autocomplete 'dcu' argument
* Analyze [pc+delta] mov and lea opcodes on x86-64
  - Resolves indirect string pointers for ObjectiveC binaries
* Handle UCALL in dso
* Fix x86-64 register profile for OSX
* Implement r_mem_get_num()
* Various fixes in 'pf' command
2011-06-09 01:20:02 +02:00
pancake
c9faf9f88b * Do not load strings if project is already loaded
- Added bin.strings eval key
* Fix range check for anal/meta
* Do not exit(1) when write error on console
* Added 'ad' command to analyze data
  - Find trampolines from data to text f.ex
  - Supports 32 and 64 bit archs
* flags/name moved to util/name

--HG--
rename : libr/flags/name.c => libr/util/name.c
2011-06-04 05:27:26 +02:00
pancake
bf95651e69 * Fix DEX parsing segfault
* Fix possible segfault on newer glibc
* Fix some indentations and Visual hints
2011-05-24 15:25:52 +02:00
pancake
e0f8869e1b * Various minor visual fixups
* Add r_file_temp
2011-05-22 02:45:59 +02:00
pancake
6099a388f6 * Reimplement r_flag using RHashTable64
- Much faster (over ninethousand)
  - Must do the same for code analysis stuff
  - Added test case
* Implement r_str_glob ()
2011-05-21 21:05:21 +02:00
pancake
b9526e254f * Minor fixes in r_util vapi 2011-05-20 21:21:39 +02:00
pancake
a4b57487bf * Fix pkg-config-symstall
- Update all .pc files
* Fix 'pf d*' segfault
  - Show flag references in all 'pf' values
* Many bugfixes in vapis
  - Use nested namespaces instead of static classes
    - Static classes was deprecated in Vala some years ago
  - All bindings are working again
  - C++ support has been added
  - Guile is now compiled by default
* Added ./configure-langs to select which langs to use
  - Use --enable=python,perl or --disable=guile
2011-05-20 19:49:50 +02:00
pancake
6277d904d9 * Initial import of r_sys_crash_handler ()
- Launch 'gdb --pid %d' when crashing
  - Enabled when R_DEBUG is set
* List environment variables in help message
2011-05-15 04:20:59 +02:00
pancake
c2d5f9215b * Move R_SYS_DIR and R_SYS_HOME into r_types.h
* Parse space separated words in rax2
* Added r_str_binstr2bin() helper function in r_util/str
  - Converts binary string to raw bytes
  - rax2 -b is the commandline frontend for this
2011-05-13 00:25:36 +02:00
pancake
3f2677ab7f * Added initial untested support for native gdb debugger mode
- r2 -d gdb://<host>:<port>
  - register maps not yet implemented
  - some basic step/continue should work in cfg.debug=true
  - gdbwrap instance is shared between RIO and RDebug
* RDebug is now arch-sensitive
  - Plugins describe which architectures and register sizes are supported
  - Native debugger is restricted to local CPU
  - Remote debugger (GDB) arch can be specified with -e asm.arch=arm
* Fix some random warnings
* Move R_ASM_ARCH into R_SYS_ARCH
  - Helper functions to translate id to string and string to id
    are now in util/sys.c (r_util)
  - Move all R_SYS_* from r_util to r_types
    - Endianness, OS, CPU and regsize is now 'global'
2011-05-06 00:59:10 +02:00
pancake
3e77100e78 * Refactor r_file_tmpdir() 2011-05-03 19:36:06 +02:00
pancake
205a9285a4 * Apply some fixes for kFreeBSD debugger and OS detection
* Add --with-libversion flag to configure
  - Make OpenBSD version numbering system happy
* Force -ldl for HURD
* Fix off by one bug in grub/fs/fat.c
2011-04-20 13:56:58 +02:00
pancake
8069e1f509 * Fix cmdline arguments parsing segfault in radiff2
* Do not build r_big api
  - It's incomplete, not used and is problematic to build
2011-04-17 03:54:27 +02:00
pancake
7ffe4b6d4a * Fix collision with MD5_CTX
* Fix build without openssl
2011-04-15 09:22:34 +02:00
pancake
8ce2f8b88b * Fix console width chops
* Fix hexview glitch
* Added cfg.wseek (seek after write)
2011-03-25 14:54:30 +01:00
pancake
d5e913f6ff * Added r_mixed_change_{begin|end}
- Move RMixed structs to r_util.h
* Added r_list_contains()
2011-03-23 20:35:40 +01: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
3d142e8ec1 * Initial import of the hashtable implementation of WayLand
- Kinda smart (150LOC)
  - Fork it for 64bit hash keys (make ht64 in libr/util)
* Make RConfig use the RHashTable to resolve by name
  - Code cleanup resulting in -30LOC
  - O(1) access to config variables (speedup!)
  - Make r_list_free and r_list_destroy take sense
2011-03-17 19:05:39 +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
pancake
dc3d11d7d5 * Fix segfault in r_cons_memcat
* Add yp command and document yt
* Add p6d and p6e to decode and encode base64 strings
* Remove vm.* config vars
* Fix RNum evaulation for $ variables
* Implement r_fs_posix
2011-02-23 02:10:28 +01:00
earada
15ca02a355 * Fix chop in r_fs mount, dir and open 2011-02-18 01:43:31 +01:00
pancake
8d60673253 * Autocomplete 'o' and '.' with filename in filesystem
- Leaks a lot.. but mostly works :)
2011-02-13 01:37:02 +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
47b29fd69d * Fix previous commit (oops) 2011-01-23 18:44:38 +01:00
pancake
16eefe9762 * Fix w32 mmap implementation for r_mmap api 2011-01-07 00:42:27 +01:00
pancake
6d515cc1a8 * Update and reorder TODO tasks
* Added r_file_mmap() functions in r_util
* Do not hash files bigger than 10MB
* Fix abspath() return value and signature
2010-11-17 21:15:34 +01:00
pancake
d2c2c27607 * Added /proc/pid/task support to get thread list in Linux
* Initial work on boolt typedefinition
2010-11-16 18:19:51 +01:00
pancake
1a02d7b403 * Implement r_core_search_cb() method
* Added boolt and ut8p macros (looking for better names)
2010-11-15 11:06:10 +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
89680b63f0 * Fix eflags parsing for x86-32/64 debugger
- added ?f and ?b commands to parse bits and flags
2010-10-26 21:00:54 +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
Nibble
836c91c32a * r_util
- Fix r_sys_rmkdir
* rabin2
  - Generate folder structure on extract operations
2010-10-04 13:57:48 +02:00
Nibble
d65ad968d7 * r_bin
- More work on dyld cache plugin
  - Rewrite headers, commands and segments
  - Fix offset for syms, imports, sections...
* r_util
  - Add r_buf_append_bytes
  - fix r_sys_rmkdir
* Update TODO
2010-10-02 17:21:51 +02:00
pancake
17a6fde707 * Add r_sys_rmkdir and make r_sys_mkdir a define 2010-10-01 19:05:07 +02:00
Nibble
483ab6160b Apply @earada's patch (thx!)
* Improving rax2
  - Support for many bases.
  - Add -s flag for transform byte to bin (ej: "48454c4c4f" to "HELLO")
  - Add -e flag for endian swap.
* New r_num_to_bits converts nums into binary representation.
2010-09-24 21:25:23 +02:00
pancake
84dd63b743 * Add 'bf' command to change block size based on flag size
- Added help in 'b?'
* Added support for bit-collection registers
  - eflags is now displayed as a string
  - debug/p/debug_native.c needs a correct x86 flag string
* Fix segfault when listing empty register sets
2010-09-24 04:09:39 +02:00
pancake
45c7167491 * Add r_sys_cmdf 2010-09-10 00:08:53 +02:00
pancake
50f229c93d * Add hash-like access to linked lists
* Add R_BETWEEN macro
2010-09-01 20:32:24 +02:00
pancake
675b04e7cd * Integrate r_vm into r_core
- Analyze code in order to do syscall analysis
  - Some fixes in r_vm to make it work
  - Add 'av' command to interact with the virtual machine
  - added r_str_subchr helper func in r_util
2010-08-22 17:56:50 +02:00
pancake
1fa134ca4f * Clean many warnings
* Reasign TODO points
2010-08-16 17:48:47 +02:00
Nibble
e22bdf0c79 * r_util
- Add r_str_ansi_filter() for removing ansi codes
    in a given string
* r_cons
  - Remove ansi codes before doing grep, avoid problems
    with colors
2010-08-13 01:18:06 +02:00
pancake
6102da137d * Initial import of OpenSSL r_big API implementation
- Split each implementation in different files
  - Add --without-openssl flag in configure
2010-07-16 23:13:34 +02:00
pancake
67ad35187b * Refactor TODO
* Added r_anal_fcn_to_string() and get_var()
  - vars now have array size and direction
* Some random fixes
  - minor opimitzation in autocompletion (thx edu)
* Added Vtlr command to rename in visual tracked flags
2010-07-12 21:37:40 +02:00
pancake
2a9fecfe86 * Added 'build.sh' farm script
* Implement r_log api
* Fix issues in swig bindings
2010-07-12 00:50:00 +02:00
pancake
5f10d6ba64 * r2 -n does not load rabin2 information
* Implemented search.align
  - Affects RPrint->addrmod and RSearch->align
* Use r_search_reset() instead of r_search_new()
* typedef RConfigCallback
* r_sys_bt renamed to r_sys_backtrace
2010-06-30 02:30:07 +02:00
pancake
ace71e8be4 * Load string flags into r2
- Fix string filtering
* Display string references for ARM (load indirections)
* Fix numeric indexing of branch references in visual mode
* Display '>' char for call instructions
* More work on RMeta
  - unscape strings to avoid \n and \t
  - handle correctly the 'Cs' command
  - Add partial documentation for the rest of 'C' commands
2010-06-21 00:48:06 +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
f65de2d925 * r_diff
- Add r_diff_gdiff (initial import of the graphdiffer)
	Next step is remove the mnemonics array and use a hash function
	The bb_diff function will change too :)
  - Add flag -g to radiff2
* r_core
  - Add cmd 'cg [file]' for graphdiffing
  - Add cmd 'agd [file]' for output graphdiff results
  - Modify r_core_anal_graph() for supporting graphdiffs
* r_util
  - Implement more r_big functions
  - Make other more gmp-like
2010-05-24 18:35:08 +02:00
pancake
d564c5a0fe * Implement 'dcc' and 'dcr' debugger commands
- Using continue-until-opcode-type call
  - Implemented continue-until-syscall in the same way
* Fix r_str_hash() algorithm to avoid colisions
* Added r_sys_bt()
2010-05-24 12:07:54 +02:00
Nibble
9a76d39a7a * Add optional libgmp dependecy
* Update configure
* r_big
  - Prepare big.c to add gmp code
  - Implement r_big_{new, free} with libgmp
* r_anal
  - Change the type of {bb,fcn}->fingerprint to RNumBig
* r_flags & r_core
  - Add cmd 'af-*' which removes all flags
2010-05-24 11:15:32 +02:00
pancake
0b6e9f6358 * Added r_big_copy() helper macro
* Fix many segfaults in r_big
  - Fix some sign bugs
2010-05-24 03:24:57 +02:00
pancake
087ce48d42 * Implement r_big_{new,free,mod,set64,set_str}
- r_big api is now argument safe, you can do a.add(a,b);
2010-05-24 02:27:05 +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
Nibble
7abcfe6852 * Refactoring
- Remove all init functions (included in _new)
  - Update vapi's (needs more work)
2010-05-20 17:40:58 +02:00
Nibble
6759768392 * r_anal
- simplify local var/args analysis
  - Fix var sign in x86im plugin
  - Add analysis support for some missing opcodes
* r_parse
  - Fix asm.filter
* r_util
  - Change r_hex_bin_truncate type to st64
2010-05-14 23:04:10 +02:00
Nibble
96187da91d * More work on x86im plugin (vars detection needs more love)
* Fix segfault in sys.c
* Add r_hex_bin_truncate() to r_util
2010-05-06 20:24:16 +02:00
pancake
193bdb886d * Initial work on w32dbg IO, fork and attach still incomplete
- Not yet linked with debugger backend
2010-04-14 23:56:27 +02:00
pancake
c552863cef * Initial refactoring work for 'pd' and 'pD' commands
- Colorize bytes and offset when scr.color=true
  - Still needs to be moved to r_print
  - Needs cleanup, optimization and simplification
2010-04-14 22:28:45 +02:00
pancake
cb9ee58920 * Fix possible overflow in PE format loader
- Do not used trashed bytes from r_file_slurp_range
* Implement r_sys_cmd_strf
  - Simplify code in addr2line r_bin_meta plugin
* Install again in site-packages for py2.6
  - Debian/Ubuntu uses dist-packages, but not in arch
2010-04-13 21:19:54 +02:00
pancake
4137587cb3 * Fix compilation under mingw32
- Linking fixed for r_sign and
* Fix some reads out-of-bounds in r_bin_elf
  - Use __strnlen instead of ELF_STRING_LENGTH
  - Some simplifications using macros
* Open plugins in radare2 found in '.' by default
  - Make w32 happy
  - Fix RLib for w32 and local plugin files
* Implement r_sys_cmd_str() for w32
  - Also r_sys_setenv()
* Fix printfs in lib/t example
* win7 syscall list is now default windows one
* Added 'r_sys_perror' to make it portable on *nix and w32
* Rename RLibrary into RLib
2010-04-12 02:22:52 +02:00
pancake
d468580c3c * Fix one-byte overflow in r_cons_memcat
* Fix flagSort command (fS)
  - sort by name is now done by strcmp
  - str_hash and str_hash64 are not enought
* Use r_cons in flag/t .. we must drop this dependency
* Add 'all-flagspaces' entry in Vt menu
  - When switching back to visual mode, the
    print mode is not lost
* Some code cleanup
2010-04-09 13:24:40 +02:00
pancake
a358d38e50 * Added support for binarymask hexpairs to search and signatures
> s 0&&./x 6c..62&&p8 3@@hit
  > zb function 89e55383ec....38 # binary mask inline
  - works like r_hex_str2bin, but converts binary mask and keyword
* RSign now uses r_cons_printf from core.
* FunctionPrintf typedef to bypass some warnings
* Added r_mem_eq
2010-04-08 18:01:45 +02:00
pancake
f2563a7509 * Export 'srwx' perms of sections in rabin2 -rS
- Handled by 'S' command
* Added dummy 'z' command to handle zignaturez
  - Added more dummy 'az' commands
  - RCore now depends on RSign
* Some refactoring and speedup in _update method of RSearch
  - Added support for distance search (maybe buggy and incomplete atm)
  - Fix binary mask for keywords after previous commit
* Added 'r_str_rwx*' helper functions in r_util
2010-04-08 12:29:47 +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
a28fa26e53 * Store flags and config variables in project file
- add header comment before every data
* Added r_str_write and r_str_writef to simplify code
* Some code cleanup in config and project code
2010-03-31 00:30:25 +02:00
pancake
3be83621cb * Initial implementation of -p flag to handle projects
- ~/.radare2/rdb
  - Added r_sys_mkdir()
* Remove the command length limitation in r_core_cmd_file
2010-03-31 00:03:59 +02:00
pancake
b6a1d6e865 * Added support for cached IO
- e io.cache=true
  - Fixes support for overlapped changes
  - Implement cache_list
  - We can merge it to remove vm and undo writes with this
* Some code cleanup in vm
* Fix division by 0 bug notified by @ash
* Some random makefile cleanup
2010-03-30 17:37:15 +02:00
Nibble
dba665549b * r_bin_elf
- Fix bug with big endian
* r_num
  - Update r_mem_copyendian call
2010-03-19 00:36:28 +01:00
pancake
76a22ef18e * Remove deprecated r_meta.pc
* Use RMemoryPool and RList in RSearch
  - Store hits in RList if no callback defined
* Fix constructor of r_mem_pool if alloc fails in init
* Remove unused file from search/ binparse.c
2010-03-15 10:46:41 +01:00
pancake
3da650d4b1 * Write and install manpages
* Merge r_trace into r_debug (RDebugTrace)
  - Implement 'dt' command to manage debugging traces
  - TODO: Track register values and memory changes
  - Added dbg.trace and dbg.trace.tag
* Added r_sys_now() to retrieve ut64 value of current time
  - Must check endianness issues
* Initial work trying to implement RPATH support to ELF
* Less flat command tree
  - 'dt' is now 'dbt'
  - 'dk' is now 'dpk'
* Some more random syntax cleanup fixes
* Say 'yes/no' instead of 'ok/fail' in check-langs script
2010-03-12 18:46:11 +01:00
Nibble
21add09f5d * r_anal
- Fix local var / arg analysis
  - Add some opcodes to p/anal_x86.c
* r_util
  - Add macro r_num_abs
2010-03-12 12:15:35 +01:00
Nibble
cacfd691c3 * Fix xref issues in functions with size=0
* Fix "Invalid command" in foreach (@@)
* Fix set arch+bits
* Update r_bin test in python bindings
2010-03-05 13:18:44 +01:00
pancake/fluendo
d431b3721b * Fix build of debugger on non-x86-32 (oops)
* Fix difference between EOL and EOF (-1, -2) in dietline
  - Fixes prompt issues in r2 shell
* Display 16 0s in 64bit registers
  - Fixes dr= in 64bit debugger
  - Fix double-newline issue in dr=
2010-03-04 12:43:16 +01:00
pancake
fcbcc00d1e * Huge refactoring on r_syscall
- Integrated with core 'as' command. as? for help
  - Display formatted parametters of syscalls
  - Needs to fully implement this everywhere
  - Syscall argument parsing is not yet complete (<4args)
    - r_debug_arg_{set|get}
* Implement continue until syscall on Linux debugger backend
* Lot of syntax cleanup to use the new code convention
  - Clean r_sign, r_search, r_syscall
* Define global R_SYS_ARCH, _OS and _BITS
  - Handle asm.os and asm.arch to hook r_syscall plugins
  - Display 8 or 16 zeros depending on asm.bits
  - Added r_str_filter () to filter nonprintable chars

--HG--
rename : libr/search/stripstr.c => libr/search/strings.c
2010-03-04 01:46:25 +01:00
pancake
010695c5b9 * Added 'dct' and 'dctl' commands for touchtrace
* Added r_file_basename helper
* Random syntax cleanups
2010-03-03 11:35:03 +01:00
pancake
08ffce4865 * Initial implementation of the r_bp_traptrace API
- Added endianness in r_bp
  - Add breakpoints for mips and ppc
  - Needs to be used from r_core (dbt?)
  - Added dummy bp_watch api (WIP: needs access to r_reg)
* Merge r_range inside r_util
* Added BIT_{SET|CHK} helpers in r_types_base
  - Define ST32_MAX

--HG--
rename : libr/range/range.c => libr/util/range.c
2010-03-03 02:41:41 +01:00
pancake
020686b86f * Implement r_str_argv()
- Use it from p/debug
  - Now is possible to debug programs with arguments
  - Added test program in util/t/argv
* Fix pd/pD
* Clean and fix the native debugger plugin
* More random code syntax cleanup
* Rename io plugin names without the deprecated 'io_' prefix
* Fix mk/stat-make.pl (missing ;)
2010-02-23 00:26:13 +01:00
pancake
fc9a622aa4 * Cleanup of r_types.h
- Fixes in R_SYS_OS and ENDIAN (oops)
  - Cleanup in debug
2010-02-22 12:42:43 +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/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
Nibble
336d1ce982 * Add r_file_abspath to r_util 2010-02-20 06:40:02 +01:00
Nibble
47410d8bcd * Add r_sys_getcwd (get current working directory) in r_util
* Add field "file" into r_bin_getinfo
* Fix r_bin vapi
2010-02-19 19:59:22 +01:00
Nibble
fd02a34bc4 * rva is working, but needs more work
* Add S cmds to the output of rabin2 -rS
* Fix cmd 'S' (sections)
* Fix r_io_ptrace
* Add some missing signatures into r_util.h
2010-02-18 18:58:28 +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
3d3bf594af * Rename r_array to r_flist (RArray to RFList)
* Add ruby test for r_bin
* Remove old r_array stuff from r_types.h
* Fix swig/Makefile to install ruby libs into ruby1.8 libdir too

--HG--
rename : libr/include/r_array.h => libr/include/r_flist.h
2010-02-12 11:45:22 +01:00
pancake
f343c4d74f * Fix delta seeking (do not allow seeks <0)
* Out of file reads (padding) filled by 0xff
* Added r_sys_cmd () to wrap r_system()
* Fix debug registers command to display segment and flag registers
  - Some draft changes in r_debug (signal handling and backtrace)
* Fix warnings in r_line
* Many more indentation fixes
  - Added st32 and st8 basic types
2010-02-02 11:09:52 +01:00
pancake
54bdfb22bd * Uppsercase classnames (rCore -> RCore)
- Fixes ruby warnings
  - Follow java syntax conventions
  - Helped to identify and fix bugs in many vapis
  - Sync swig examples
  - Add test-r_core.rb (ruby test for RCore)
* Some work in r_cons, some refactoring and cleanup
  - scr.html is now working again
  - w32 cons support should work now
  - Rename r_cons_get_columns -> r_cons_get_size()
  - But it needs more work
* Typedef all r_range, r_parse and r_anal structs
  - Add missing r_lib.pc in configure.acr
* 'make' clean now removes the libr* in swig/${LANG}/
2010-01-26 01:28:33 +01:00
pancake
e5b6d1582b * Add 'install-vapi' target in libr/Makefile
* Fix linking of r_core (r_bin not found)
* Lot of fixes for valaswig. libr, r_io and r_debug
  are now usable from python/perl/ruby
  - Fix many .vapi files
  - Enhace the libr.pc
  - r_hash.deps must be removed
  - Depends on valaswig-head
2010-01-24 23:47:18 +01:00
Nibble
1721bdfe79 * r_buf
- Added R_BUF_CUR for reading at current offset
* r_bin
  - r_bin_java rewritten using r_buf
  - Removed unnecessary headers
  - Some minor fixes in r_bin_pe and r_bin_elf
2010-01-23 13:42:44 +01:00
Nibble
5795654c51 * r_buf
- Add r_buf_fread for "format read" (needs a better name)
  - Fix segfault in set_bytes
  - Fix r_buf_read
* r_bin
  - Refactoring of r_bin_mach0 using r_buf and r_file
2010-01-19 22:41:45 +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
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
ba0fcc1d03 * Some more work on valaswig integratio
* Add perl backend bindings for swig/
* Add minimal (one test) test suite for py/pl

--HG--
rename : swig/t.py => swig/test/python/num.py
2010-01-04 13:11:48 +01:00
pancake
7b07e1371c * Import patch from whats refactoring some stuff in r_core_cmd
* Add missing test_str and pool tests in libr/util
2009-12-31 01:34:15 +01:00
pancake
d8b5a660df * Apply patch from whats implementing '.!'
- Change spaces to tabs
  - Initial implementation of r_sys_cmd_str_full
    - support stderr slurping
2009-12-30 11:03:18 +01:00
pancake
82eb30ad04 * Huge code refactoring to adapt interfaces for valaswig
- hg clone http://hg.youterm.com/valaswig
* typedef all structs as r_asm_item_t -> rAsmItem
  - Sync typedefs with classnames for vala and valaswig interfaces
  - Needs more work and testing
  - C code keeps fully compatible
* New script to build valaswig bindings (swig/libr-swig.sh)
  - Needs integration with 'make test'
  - This will help to create a decent unit testing framework
    to find bugs in bindings and enhace the design of APIs
    from a centralized way keeping compatibility for all the
    languages supported by swig (c#, python, java, ruby, perl, ..)
* Fix vala test programs build
2009-12-24 03:17:53 +01:00
pancake
78dbab76d6 * Added basic working example in swig-python for r_util
* Add _write and _puts methods for r_socket api
  - fgets -> gets
  - fix r_socket_printf
* More random fixes
* typedef all structures in r_util
2009-12-22 13:27:43 +01:00
pancake/fluendo
a387e654e1 * Initial import of the swig test case
* Fix r_util for r_str stuff
2009-12-16 20:14:06 +01:00
pancake
deb263a5fb * Apply whats's patch fixing r_search for stripstr
- Thanks! :)
* Added dummy r_socket_proc_* api
  - Needs to be moved outside r_socket
  - Added two non-working usage examples
* Add some checks and enhacements to the r_buf API
  - Implemented in r_util.vapi
* R_APIfy the r_cache api
* Add missing methods in r_socket.vapi
* Update the README file in r_anal describing the
  new design of r_anal..not yet finished
2009-10-12 17:41:52 +02:00
pancake
35c078584c * Fix build of r_debug
* Some random warning fixups
* extern plugins defined in handle.c for asm, bin, .. cleaner
* RAPIfy the r_bininfo
* Initial implementation of Rarray Iterator
  - Needs some tuning in core Vala..but it is ok for demos
  - r_bin API is now using the Rarray iterator
  - Added Vala test program for it
* Fix build of some test programs
* Added r_diff and r_bininfo VAPI files
  - The APIs are inconsistent and untested. Proposals welcome
  - Fix possible overflow in r_bininfo
* Initial implementation of pool.c
  - Implements Memory.Pool class (Extracted from 'alt')
  - Added test program
2009-09-22 13:27:33 +02:00
pancake
dfe94a984e * Initial working version of r_reg
- Does not yet supports bitlevel registers
  - Added test program modifying and showing regs
  - Added dummy x86-linux.regs register layout
* Added r_mem_copybits() in r_util
  - Bitlevel precission for a memcpy
2009-09-19 21:54:22 +02:00
pancake
58c557f316 * Apply 'whats' fix for r_file_slurp_hexpairs()
- Fixes segfault
  - Added test program
* RAPIfy the r_util/file.c
2009-09-17 14:02:44 +02: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
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