- 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
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
r_asm: Add support for big endian arm.winedbg
rax2: Add -k randomart to rax2, -k is now -B
rax2: Handle multiple flags on a single argument
rax2: update manpage
Initial RCoreAnalStats
=h accepts ports argument for listening
'r' command now supports flags (thanks @earada!)
Added http mutex to avoid running more than one server
Added http.uri /cmd/ redirect
Added support for http remote shell
Enhacements in the r_socket_http api
Handle http:// uri in socket connections
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)
More work on the webui
New 'agj' command to get function graphs in json
Fix segfault in 'ag' command
'agv' now launches the internal http server
Initial refactoring for RAnalHint integration into RCore
Add basic mime-type support in the http server
Enhace the graph view style
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
Support multiple @ for a single command (define offset+bytes)
Add 'fj' command to show flags in json format
Use monospaced font in vdoc
More work on the webui
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
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
By default is 2, but PE which is 4
Sort rabin2 -h flags alphabetically
Add r_bin plugin-specific minimum string length
New r_list_newf() constructor which replaces the hacky R_LIST_NEW macro
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=
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
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
* 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
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
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'
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
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
- Random changes in libr/db/pair.. still buggy
- remove debug printfs from calc.c
- ?k command is now more usable. supports ``..` strings
- fix segfault in r_cons (nullptr)
- Add support for !! command to use r_cons
> pd|!grep eax~ebx # now this command works
* 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
* 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
* 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)
* 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
* 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
- 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]
- e asm.offseg=true : show in disasm
- ? f000:1345 : calculate value
- s c000:1400 : seek to segment:address
- also supports 0xf000:0x123
- segment is 32 bit instead of 16 #fun
* Add rudi_s patch to pass write_cache test
* Fix crash in r_io_free
* Move r_core_yank_to into yank.c
- 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()
* 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
- patch dword/qword and hexpair bytes on finalize
* Initial import of the dummy Shoorisu Yagana shellcode encoder
- just a wishlist.. do not expect it for this release
* 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
* 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()
- 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
* 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
* 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
* 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
- 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
- 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
- x86_64 has been tested and works fine, but needs some love
- the arm mach0 (iPhone) is not yet tested, but the bin looks ok
* Install syscall sdb files into versioned directory in lib/radare2
* 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
* 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
* 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
* 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
- 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
- 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()
- 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
- 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
* 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
- 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
* 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!
- 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
* 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
* 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
- Autodetects underlying filesystem
- Auomatically mounts a /root partition
- Only support for 'HFS+' filesystem (as a test)
* Added 'oo' command to reopen current file
- In debugger mode re-forks the process
* Fix build of python plugin in OpenBSD (python2.5)
* Fix initialization of dbg->arch and remove useless printf
* Do not compile cons/color.c (unused)
* Use snprintf, memcpy instead of sprintf/strcpy
- 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'
* 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
- 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