29 Commits

Author SHA1 Message Date
radare
000e725b15
Use system diff in graphdiff nodes if possible and improve graphviz style (#9988)
$ radiff2 -g sym._call -A  b c | dot -Tpng > a.png

- we need disasmdiff native in r2, as well as more inter-core commands
2018-04-30 02:47:51 +02:00
pancake
e5235f7d97 Fix last covs, radiff crash and tweak the z64 bin plugin 2018-01-10 19:18:36 +01:00
pancake
8315feb1d8 Bring back the levenstein and fix previous commit 2017-09-13 10:25:13 +02:00
pancake
24c85ac965 Bring back the levenstein diff and add missing function signatures 2017-09-13 10:16:19 +02:00
pancake
be78c631b0 Fix #6806 - invalid delta diff boundaries 2017-02-18 00:04:13 +01:00
pancake
5ca1be956d Implement radiff2 -i, fix -z and add -u/-U
* Unified support using:
  - internal bindiffer
  - using system's diff program
* Compare list of imports or strings of given files
* Add proper apis to handle all this
* Automatic hexdump when comparing binary buffers (-U)
* Update documentation
2017-01-09 03:18:14 +01:00
pancake
f5b255603a Bring back the old buffer_distance algorithm, make levenstein optional 2016-09-21 12:07:44 +02:00
NikolaiHampton
2c50dd0c59 Memory efficient implemenation of Levenshtein Distance for radiff2 (add -V)
Implemented the iterative two matrix row version from here: https://en.wikipedia.org/wiki/Levenshtein_distance
and here: http://www.codeproject.com/Articles/13525/Fast-memory-efficient-Levenshtein-algorithm

Memory usage was originally 200Gig for a couple of 100K files ~(sizeA*sizeB), now about ~(sizeB*2)...
2016-05-26 11:03:01 +02:00
pancake
895a966884 Do not diff function strings, increase memlimit 2016-03-22 01:31:10 +01:00
pancake
2397c956c9 Use R2_ as unique header guard prefix 2014-03-27 16:34:17 +01:00
pancake
d3af1ea077 Fix #723 - header guards conforming to C standards 2014-03-27 02:32:26 +01: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
63be7d8070 * Use relative symlinks in versioned libs
* Add r_meta stuff inside r_anal api
2010-10-28 12:10:21 +02:00
pancake
98cc88700d * Added much more detailed vapis
- Enhaces API support for valaswig bindings
  - I'm probably breaking the build
2010-10-28 00:55:07 +02:00
Nibble
79ce1c14ad * r_diff
- Add flag '-v' (va) to radiff2
* r_core
  - Launch 'radiff2 -g' with '-v' if 'io.va = 1'
2010-05-25 01:49:46 +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
Nibble
7abcfe6852 * Refactoring
- Remove all init functions (included in _new)
  - Update vapi's (needs more work)
2010-05-20 17:40:58 +02:00
pancake
a19c5c6197 * Added linux-arm syscalls
* Lot of syntax cleanup (reduce locs, unify syntax)
2010-03-08 12:45:22 +01:00
pancake
822a33377b * Initial working implementation of the r_diff with delta in C
- Uses the mercurial's C algorithm for delta diffing
  - Remove r_diff_lines .. do we need a line-level diffing tool?
  - Remove -l flag from radiff2
* Rename RIo to RIO
* Added r_reg_arena_new () to simplify arena creation
  - Some sanity fixes in r_reg arena.c
* Add -C in rasm2 to output in C string format
* Initial working implementation of r_debug_execute to inject code
  in child process and restore memory and registers
  - Returns %a0 register value in ut64
* Added 'c' command to r_core - to compare -- just dummy
  - Will use r_diff
  - if rdiff callback returns NULL, we must stop scanning
  - old r_diff_buffers_delta is now named buffers_radiff
  - Added test files in diff/t/{file1,file2}
* Added doc/plugins documentation file
* Fix ${EXT_SO} in bin/p and asm/p (dejavu?)
* Added dummy asm_gas r_asm plugin
* Various random syntax fixes
* Rename 'dbg.ptrace' to 'dbg.native'
* Added r_debug_io_bind () to sync dbg and bp io_bind
* r_debug_map_list is now in a nicer format
* Append ${EXT_EXE} in diff/t
* Add missing util/log.c and vapi/r_line.vapi

--HG--
rename : libr/debug/p/debug_ptrace.c => libr/debug/p/debug_native.c
rename : libr/debug/p/ptrace.mk => libr/debug/p/native.mk
2010-02-05 12:21:37 +01:00
pancake
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
eb0793c2b1 * Huge code cleanup and refactor for valaswig
- Some APIs has changed (r_hash)
  - Vapis have been reviewed
  - And more
2010-01-04 01:25:52 +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
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
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
Nibble
94445e1540 * Change the name of some types
- s/u64/ut64/
  - s/u32/ut32/
  - s/u16/ut16/
  - s/u8/ut8/
2009-07-08 13:49:55 +02:00
pancake
936db0db87 * Fix LIBDIR path issue for r_bin
- Properly load all LIBR_PLUGINS from rabin2 too
  - Maybe we will have to add a common stub for this
* Add r_bin_plugin_elf in the STATIC_PLUGINS list
* Add ii, iI, ie, is, iS, iz commands (accepts a * at the end)
  - Wrappers to run rabin2 over the opened file
* Add -l flag to radiff2 (line diffing)
  - Added -s flag to radiff2 (string distance)
  - Move linediff test program into the test.c
  - Use R_API for r_diff
  - Use double for buffers_distance
  - Fix -c flag (now we have modes and 'showcount' toggles)
2009-04-01 10:41:42 +00:00
Nibble
1048ed5ab0 * Added Levenshtein distance algorithm in r_diff
* Added corresponding test case
2009-03-31 16:52:58 +02: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