Commit Graph

309 Commits

Author SHA1 Message Date
pancake
456b72f85e Fix #380 - shell backticks segfaults 2013-11-22 18:20:15 +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
1cec548b68 Fix #288 - r_str_replace() - realloc invalid next size 2013-11-06 00:30:35 +01:00
pancake
d0f40d6e48 Aim to fix #208 and #288 - r_str_replace issue 2013-11-04 04:38:57 +01:00
pancake
8cc4809c3a Refix for #288 and do not stop on invalid reflines 2013-10-27 02:20:36 +01:00
pancake
f2ce3f277b Fix off-by-one in r_str_replace 2013-10-26 23:53:50 +02:00
pancake
a72e7d34a1 Fix another overlapped strcpy 2013-10-25 00:31:09 +02:00
pancake
a7dff22c7e Fix strcpy on overlapped region 2013-10-25 00:29:00 +02:00
pancake
d8e41ac26b Fix code analysis issue (code vs data) 2013-10-12 02:19:01 +02:00
pancake
653881eb3a Merge and fix jvoisin #235 #236 2013-10-04 13:57:49 +02:00
pancake
ae97789986 Fix lot of warnings 2013-09-14 14:04:08 +02:00
pancake
302328a76c Fix #203 - Call to a section + some more work on utf8 2013-09-03 22:45:43 +02:00
pancake
53428f374c Merge ../radare2-xvilka
Conflicts:
	libr/include/r_cons.h
2013-08-30 00:39:38 +02:00
pancake
35d7b940cb Fix utf8 issue in r_str_prefix and optimize reflines 2013-08-30 00:38:31 +02:00
pancake
a46eb958e7 Initial implementation of the wip multiline text editor 2013-08-28 03:06:10 +02:00
Anton Kochkov
2d3297e26d UTF8 arrows initial support 2013-08-28 00:26:30 +04:00
Judge Dredd
3b64d2fa10 fixed a bug in r_str_replace 2013-08-24 23:02:07 +02:00
pancake
05df20f411 Update sdb, more work on types 't' 2013-08-13 03:23:39 +02:00
pancake
19314bc27f Better comments in disasm, fix io->size = 0 regression 2013-07-18 23:00:38 +02:00
pancake
be46b9da31 Initial support for truecolor (xterm only)
Add e scr.truecolor variable
Add !! command to save history
Add ec: command to randomize palette
Minor rgb trash fix,
2013-07-17 19:34:27 +02:00
pancake
a1123b6a69 Added default color paletes for rcons
Added 'ecf':load colorschemes
Added VE visual menu to configure colors
r_cons_rgb_parse() needs a rewrite
2013-07-17 03:51:53 +02:00
pancake
0fb4c674d4 Create xdg directory before trying to use it 2013-06-27 19:21:25 +02:00
pancake
cdea34616d Fix some warnings 2013-06-09 02:55:03 +02:00
pancake
3f1d3ba146 Better r_str_hash(), Fixes in CCa, Added ?h, Better rbin for BEOS bins
Identify Haiku binaries as 'beos' with noodle()
Fix CCa for non numeric offsets
Use sdb's r_str_hash() instead of old one (much less collisions)
Added ?h command to hash strings
CCa now appends instead of replacing comments
Do not mark as static if bin links to libs
2013-06-07 10:26:37 +02:00
pancake
04bcbfd290 Fix off-by-one issues in anal comments (fixes #95 and probably #96) 2013-05-23 10:33:21 +02:00
pancake
735bcc2fb9 Use r_file_abspath() and add dir.projects eval config var 2013-05-05 18:35:14 +02:00
pancake
26a7854dd6 Rewrite DEX parser 2013-04-25 03:42:17 +02:00
pancake
59670523e2 Initial transition to sdb: anal.xrefs
- Cascade core_project_save > anal_project_save > anal_xrefs_save
- Database is stored into ~/.radare2/rdb/$prj.d/xrefs
- Build libsdb properly to get access to all the api
- Use sdb from r_anal_xrefs() - needs cleanup
- Update sdb to the latest version from git
- Fix some warnings
2013-04-18 03:58:44 +02:00
pancake
5c1cd1f0ef Initial support for UTF8 in r_cons and r_util 2013-04-04 01:42:12 +02:00
pancake
99040c9ad7 Initial import of r_cons_rgb API (ansi 256 color) 2013-04-01 04:42:14 +02:00
pancake
dacede5ae9 Initial port of io-mmap to w32 2013-03-12 13:24:48 +01:00
pancake
242b820647 rahash2 accept multiple files, fixes for http_client and r_num_rand 2013-03-03 17:28:06 +01:00
pancake
a7925a8a4f Add aach64 (ARMv8) support to the ELF parser 2013-02-26 15:35:24 +01:00
pancake
7fbe9071ce Add rasm2 -w to describe opcodes, fix massemble
Add rasm2 -w to get opcode description
Fix multiopcode/multiline comments parsing
Avoid multiple load when there are no sub-bins
Fix r_str_replace_char
2013-02-24 21:12:30 +01:00
pancake
c443ab1f30 Implemented 'p%' in api form. Handl p%h and p%j
Added json and histogram table p% views
Add ?B command to get boundaries (use api)
Rename ahA into ahs
2013-02-07 03:09:53 +01:00
pancake
dc2690e529 Support get/set introspection in 'pf' and handle scr.stride in px
Rename pf$ to pf.
Add support for introspecting and setting named pf fields
Introspection supports get and set
Add scr.stride property for 'px'
Initial work on slist
Add judy arrays implementation (not integrated)
2013-02-01 03:15:48 +01:00
Sebastián Guerrero
98da9c80f5 Fix some bugs reported by scan-build 2013-01-25 02:03:57 +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
30cfe3f15c Initial working enyo console 2013-01-15 00:23:10 +01:00
pancake
8aa889b098 Fix one byte access in r_str_uri_encode 2013-01-04 17:58:02 +01:00
pancake
3fb4c7dd5e Use encodeURI in r2.js and implement http upload support 2013-01-02 18:37:48 +01:00
pancake
baae1f6e6a Honor $. variables to get regs and fix Ps string filter bug 2012-12-14 10:51:25 +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
674c732f53 Implement 'fb' command and enforce 'fr' rules 2012-11-13 03:25:07 +01:00
pancake
2ac70dd5e8 Fix stack exhaustion bug when repeating null commands. add strpool api 2012-11-06 09:47:52 +01:00
pancake
5ad9ae97ed Fix some bugs (nullptr, memleak) reported by clang-analyzer 2012-09-26 10:01:43 +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
61fc7e5899 Force HTTP/1.1 and better interface for r2w
Many bugfixes in the webserver implementation
Fix check for temporary directory
Fix vapi file for r_print
2012-09-07 01:48:09 +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
0a202fc91a l0gic's fix for an use after free in r_socket 2012-08-30 00:47:16 +02:00
pancake
5aa93db5a4 Better command parsing and minor dwarf info
Dwarf info with null filenames are now supported
Fix quoted commnads parser
Quoted strings can now be temporary seeked "x"@239
Fix semicolon separated list of commands
Fix and use the base64 encoder/decoder
Siplify the config.c
Fix r_str_replace
2012-08-19 03:28:17 +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
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
bc572ce3df * QNX/arm port (this is bb10 and playbook devices)
- no debugger support yet
2012-06-01 14:50:24 +02:00
pancake
906275f98e * Fix echo - | rax2 -S bug
* Do not show fortunes if -q is passed
* Add support for anonymous macros
* Add support for quoted strings and backspaced
  spaces in macro arguments
* Fix r_num_get call from calc.c (a +3 == a+3)
2012-05-25 01:14:49 +02:00
pancake
d37de2367d * Split libr/core/cmd.c 2012-02-27 02:40:27 +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
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
62219c8dda ** Apply patch from Simon Ruderich (thanks!)
* Remove some unused variables.
* libr/core/disasm.c: Fix minor memory leak.
* libr/util/str.c: Cleanup r_str_home() and fix potential crash.
* libr/line/dietline.c: Cleanup r_line_hist_load, fix memory leak.
* libr/core/cmd.c: Fix read from uninitialized memory.
* libr/util/str.c: Add comment why r_str_cpy() was added.
* libr/io/p/io_malloc.c: Prevent read from invalid memory.
* Split -n into -n (no user settings) and -N (no analysis).
2012-02-03 20:52:20 +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
88c8b08f7a * Fix various memory leaks (thanks Ender for reporting!)
* Add e dir.magic variable
2011-11-11 17:14:09 +01:00
pancake
ad7e542b38 * Add '?r' command to get ranged random numbers
* Fix help for 'w' command
* Fix some null dereferences in gdb debug plugin (thanks @iamnion)
* Apply zed's patch fixing 32bit ptrace on 64bit boxes
* Fix 0 mod issue in r_num_rand()
2011-10-25 18:58:12 +02:00
pancake
17dfe1bcf8 * Fix some possible-use-of-uninitialized-variables 2011-10-20 16:36:00 +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
870518903b * Fix r2-bindings build
* Fix some warnings in r_parse
2011-10-05 12:40:16 +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
829a2bb69f * Implement xchg opcode in x86.nz
* Honor 0x in r_str_case (to uppercase)
2011-09-22 12:26:44 +02:00
pancake
1b440bf9d2 * Add ragg2 -I to prepend include path directories
* Enhacements in r_egg library
  - Add support for including files
    - bla.r@include($PATH);
  - Proper support for goto() keyword
  - Add support to get and set environment variables (need more work)
    - PATH@env(/bin);
  - Fix /* */ comment parsing code
2011-09-20 01:53:15 +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
2edfc3495e * Re-enable r2 -t - use threads to load big files 2011-09-14 04:31:22 +02:00
pancake
1732541915 * Fix OS identification in ELF on r_bin
* Add missing OSABI definitions
* Fix r_str_case()
* Remove already defined or useless commented config code from r1
2011-09-08 15:10:46 +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
ed460fe2a4 * Initial import of external dependency sdb in r_db
* Fix segmentation fault in command = 033h
* Fix r_db for 64 bits
* Initial import of the RPair API on top of SDB
* Minor fix in r_num_get parser
2011-09-03 05:09:31 +02:00
pancake
0a7eefc9f8 * Fix some memory leaks 2011-08-28 00:01:03 +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
earada
1f30cc1025 * Add vmenus-mounts option 2011-07-11 22:52:05 +02:00
pancake
edc7da8f7c * More strcpy/sprintf/strcat exterminations 2011-07-06 09:40:23 +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
fbe7466a22 * Fix r_str_bits()
- eflags/rflags now works .. but needs some testing
2011-06-21 00:33:29 +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
1c035d4b52 * Use glob to check flags in @@
- Document @@ suffix
* Fix hexdump indentation when offset is >32bits
* Optimize glob for null needle
2011-06-07 17:53:15 +02:00
earada
dce671e091 * Fix f-* command
* C- now supports ranges
2011-06-04 01:36:31 +02:00
pancake
ac38d02ccf * Fix possible segfault in code analysis for x86
when the r_anal plugin is buggy
* Add main symbol resolution for r_bin_elf64/openbsd-amd64
* Fix bug in r_str_cpy
2011-05-25 01:39:35 +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
earada
839bd60882 * Add mfs and mfo to search by name and offset
* Fix rafind2 build
2011-05-22 00:23:39 +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
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
05f0e7e56b * Fix step in OSX debugger
* Avoid C99 stuff in anal_avr
* Escape string passed to "/ " search command
  - Fix return value of r_str_escape
  - Thanks Gerardo for noticing!
* Kill process before reopening in 'oo' command when cfg.debug=true
  - Fix segfault when RIOMach* is NULL after reopening
2011-05-12 20:28:44 +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
earada
58cb9fc42f * Fix fs_open and fs_dir with ext2 filesystem
* Fix r_str_chop_path
* Add new funtion to join two lists
* Update fs.vapi
2011-04-24 13:46:28 +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
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
26fa19b3d8 * Fix r_fs_dir() for r_fs_plugin_posix
* Fix r_str_chop_path() for "/"
  - Allows to mount filesystems in /
  - Added test program
2011-02-21 19:07:57 +01:00
earada
4cb8868ecc * Add filesystem prompt using ms command (Thanks Adriana)
* Add r_str_chop_path support for ../
2011-02-18 18:22:51 +01:00
earada
15ca02a355 * Fix chop in r_fs mount, dir and open 2011-02-18 01:43:31 +01:00
pancake
13b4c2d9f1 * Added 'pb' command to print in binary form
* Added 'ap' command to search and analyze function preludes
  - x86 only atm.. just as a PoC
2011-02-12 12:54:26 +01:00
pancake
5228d4eff0 * Autocomplete flags after '@'
* Fix some segfaults when core->file is NULL
* Some simplifications in dietline
2011-02-10 00:21:05 +01:00
pancake
8aded92fa6 * Added C stub for plugin.vala
- Major cleanup in vapi/t Makefile
* Fix a format string bug in flags
2010-11-29 10:22:38 +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
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
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
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
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
Nibble
28af3ddf7b * Refactoring of r_str_ansi_filter() 2010-08-13 08:38:00 +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
3ced8a528c * Initial work on function_from_string parser for r_anal
- CF? for testing
2010-08-12 12:19:25 +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
255191c670 * Some more work on r_cons_grep
* Minor refactor in TODO file
* Display xref data (Cx/CX are broken atm)
* Added Vx command
* Compare flag names with ut64 hashnames (faster execution)
* Swap d->i and x->d print formats
* Hint in r_str_cmp
2010-06-25 11:22:14 +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
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
4f66e6a98b * revert r_str_hash changes 2010-05-24 11:55:20 +02:00
pancake
644ce76b39 * Use simpler and more effective string hash functions
- http://www.javamex.com/tutorials/collections/hashmaps4.shtml
2010-05-24 02:41:24 +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
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
Nibble
9207ece839 * Fix segfault printing big buffers
* Modify r_anal_reflines_str to return char*
2010-04-08 18:29:46 +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
1881f9803a * Implement r_str_home on w32
- Fix double .exe
2010-03-25 17:19:58 +01:00
pancake
3027c4b18b * Added scr.prompt that can be disabled with -v flag in r2
* Use r_str_home instead of handcrafted sprintf
* Fix infinite loop when stdin eof occurs
2010-03-24 11:35:41 +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
Nibble
f0e1c8ef78 * rabin2
- Flag imports and symbols as fcn. under the namespace 'functions'
* r_core_anal
  - Flag analyzed function
  - Implement agf
  - Minor fixup (check if r_io_read_at returns blocksize)
* r_util
  - Fix r_str_word_getfirst
2010-03-03 14:35:18 +01:00
pancake
9c0636e5ca * Fix return value of bin_meta_elf
* Added 'dsl' command to step until next meta information
  line is reached.
* Display file:line with context 5 with 'CL' command
  - Fix r_file_slurp_line
* Added 'dcu' command to continue until an address
  - bp,dc,bp-
* Added dbg.swstep to configure stepping debugger algorithm
* Add file.type. fixes warning. Defined by rabin2
* Load rabin2 in va format when debug or va modes are enabled
* Ask to kill the child before quitting
* cmd_quit is no longer calling 'exit'.
  - Returns R_CORE_CMD_EXIT (-2)
  - Return value can be captured at core->num.value
* Implement native kill as a debugger callback
* cmd.visual is now cmd.vprompt
* Add r_debug_reg_{get|set}
  - Handle register name aliases
  - Works only with ut64 type
* 'dr:eax' is now 'dr?eax'
* Lot of random syntax cleanups
2010-02-28 22:58:21 +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/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
caf507091d * Added -f flag to rasm2
* Implement .equ keyword in rasm2
2010-02-12 13:45:03 +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
d5138a7c1d * Huge refactoring for r_cons and r_line
- Reduce the use of global variables by packing all them in a struct
  - Redesign the autocompletion method for r_line
    - Not yet finished, but so much refactoring out there :)
  - Using the singleton format (r_xxx_instance)
  - APIs has been cleaned up
  - Some bugs fixed
  - Syntax fixes

--HG--
rename : libr/cons/print.c => libr/cons/filter.c
2010-01-30 14:02:53 +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
ab190b6430 * Apply whats patch refactoring r_core_cmd and _subst
- Enables oneliners to run like
    > px 10 ; px | grep 7f; px > /tmp/a;
2009-12-31 01:27:03 +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/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
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
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
3cfdaff55f * Fix build of r_util
* Added r_bprintf helper for buffering printfs
  - Can be used to capture the output of r_io_handle_list()
    without having to use r_cons
2009-08-22 05:04:29 +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/fluendo
d1db55e261 * Fix the r_util vapi file
* Some R_APIization in r_util
2009-07-16 13:08:23 +02:00
pancake/fluendo
564e11975a * Fix build and linkage of r_vm
- Added dummy test program for r_vm
2009-07-16 12:38:49 +02:00
Nibble
811f39c833 * r_util
- Add r_str_dup_printf
* r_bin_elf
  - Huge refactoring
    r_bin_elf_get_{imports, symbols} will be modified soon
    r_buf|r_io will be used, so 'swap-endian' and 'malloc-lseek-read' calls will be removed
    Need to rethink section resize (temporary disabled)
* rabin2
  - Refactoring
2009-07-05 16:49:47 +02:00
pancake
0509263cbd * Initial import of r_db 2009-06-15 02:44:05 +00: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
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
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
pancake
4494eac83f * Check for libtcc in acr to build or not r_lang_plugin_tcc
* R_APIze r_config
  - Added r_config_swap
  - Fix a bug in r_config_set for bool types
* Some more rules in doc/syntax
* Some integration from r_core to r_meta
  - CC command is now working to add and remove comments
  - Make 'C' show help and 'C*' list metadata
  - CF is semi working
* Show comments in disassembly 'asm.comments'
* Added 'e!' command to toggle a eval variable value
  - e!asm.bytes    ; for example
* Drop arrow-debugging in r_core_visual
  - Added key ';' to add comments
  - Do not 's eip' on debug
* Fix build of flags test program (thanks graz!)
* Added r_str_chop_ro (read-only string chopping)
2009-04-06 22:53:25 +00:00
Nibble
1b61512a72 * Added r_str_concatch
* Fixed reflines libc issue
2009-04-06 14:01:56 +02:00
pancake
1129f1a2fc * Remove documentation in the uninstall target
* Add 'autogen.sh' to ease the use of 'acr'
  - Added USERCC and USEROSTYPE configuration flags
    --with-compiler : select a compiler from mk/
    --with-ostype   : select a target OS (not required for ming32 f.ex)
* Add language bindings APIs from radare1
  - Fix some issues from the ruby language binding
  - Checks if file exists before slurping and causing a ruby segfault
  - Added language destructor (.fini pointer)
* Rename str_clean into r_str_chop
* Initial work on the port for ming-w32
* Show flags instead of bytes in disassembly (smart disasm)
* New r_sys_{get|set}env (for portability issues
* Added flags -i and -l to radare2
* Fix warnings and random code cleanup
* Added r_flag_get_i
2009-04-03 11:11:17 +00:00
pancake
0b7ed2a6f0 * Fix segfault when using '&&'. Lost allocated pointer
* Fix some valgrind warnings
  - The debugger+visual is now working more stable
* Comment 'strip -s' command in stripsyms.sh
  - We need a better way to configure all this stuff (spp?)
2009-04-02 00:07:58 +00:00
pancake
4fcf226269 * Lot of random work on multiple fronts
* Add 'var' in build liblist and 'vapi/t' for make clean
* Add ^C handler for r_cons. support for callbacks
* Add support for ./m ELF for example to interpret the output of commands
* Fix a bug in the regexp algorithm that can get into infinite loop
* Binmask can now contain non hexpair values
* Add '/m' search regexp matches using the new R_SEARCH_REGEXP algorithm
  - Handle ^C in search loop..needs to use callback method
* Properly cleanup the flag names
* Added asm.bits and asm.os eval vars
* Added some random tips for debug in README
  - Stupid snippets for import/export data between modules
  - Register support requires a rethink
* Initial work on the integration of r_io_undo() api
2009-02-17 00:09:40 +01:00
pancake
05651257c9 * Initial working implementation of r_meta
- Added test program that sets and gets metadata.
  - It needs much more features and stuff
  - Integration with r_core is mandatory! :)
  - Hard simplification from the old r1 code
* Added r_str_concat and r_str_concatf in r_util
2009-02-16 03:14:19 +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