Commit Graph

654 Commits

Author SHA1 Message Date
pancake
be02d4fc9d Initial work on the evaluable opcode analysis strings
- New command 'ae' to evaluate those expressions
- Use 'ao~code' to see the generated eval strings
- Rerefix udis86 16bit issue
2013-05-04 02:35:52 +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
b77cdf33d7 Fix loading of MACH0 object files and fix build 2013-04-22 01:34:25 +02:00
pancake
6ad7ed7925 Lot of bugfixes in r_asm, x86 assembler and ragg2 -x
- Thanks Ripe for reporting
- Handle $pc in r_asm assemble
- New ops for x86.nz: sar, shl, shr, shl, rcr, rcl, ror, rol
- Fix disassembler indentation for functions
- Fix memory align issue in r_sys_run()
2013-04-22 00:01:41 +02:00
pancake
8afdf330ae List and remove projects using '-p' and '-p -$prj' 2013-04-18 09:39:37 +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
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
e71bb8d701 Rename and fix scr.{stride,cols} as hex.{stride,cols} 2013-04-16 04:11:32 +02:00
pancake
0d993c8cbd Initial working code injection with r_debug_execute() 2013-04-16 04:01:39 +02:00
pancake
96d1a1141b Fix invalid flag name filtering issue and add rax2 -t (timestamp) 2013-04-16 01:48:03 +02:00
pancake
b612d2a6b1 Fix static build (+android) 2013-04-12 02:39:46 +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
7e4d92c6fb Fix some warnings 2013-04-02 12:45:16 +02:00
pancake
99040c9ad7 Initial import of r_cons_rgb API (ansi 256 color) 2013-04-01 04:42:14 +02:00
pancake
ff36a72088 Update sdb, not found warn in r_config_get
Fix core_config_init ciclic dependency issue
Add support for 0b... expression as well as ...b
Update to sdb 0.6
2013-03-27 00:17:32 +01:00
pancake
dacede5ae9 Initial port of io-mmap to w32 2013-03-12 13:24:48 +01:00
pancake
8f4d23a5ce Initial implementation of io.map plugin 2013-03-12 01:50:55 +01:00
pancake
3cf0dd1407 Fix the last bugs found during the training
Comments lost spaces when saved to the project
Do not show address offsets when using @@=
Do not fail forever with /m if magic is file not found
2013-03-08 01:03:37 +01:00
pancake
ba3ad8112a ELF parser more permissive, add 'fsr' and other fixes
Make ELF loader more permissive
Add 'fsr' to rename flagspaces
Fix parsing issue in 'yy'
Fix crash in r_num
2013-03-07 23:47:41 +01:00
pancake
5f4623ed46 Fix some bugs appeeared during the training course
Fix segfault in "rasm2 'xor e'"
Fix overflow in 'ad@esp' when long strings are analyzed
Fix null pointer check in r_num
2013-03-07 13:08:05 +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
5d67033220 Support == in conditionals, Add r2 -C to connect 2013-03-03 06:00:57 +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
4c244a818c Add 'Ch', handle c++ lang in rbin and obey cursor in V: 2013-03-01 09:57:30 +01:00
pancake
a7925a8a4f Add aach64 (ARMv8) support to the ELF parser 2013-02-26 15:35:24 +01:00
pancake
2264763336 Fix some bugs reported by clang-analyzer 2013-02-25 11:09:24 +01:00
pancake
fc6e799c26 Add pfD (disasm). Fix VI and Vi with+without cursor
Simplify r_print_string
Fix r_io write boundaries
2013-02-25 09:36:07 +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
e9c38878de Fix endian stuff in r_print 2013-02-22 21:05:08 +01:00
pancake
766563cc6e Big endian for arm.winedbg and addn randomart in rax2 -k
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
2013-02-13 01:20:42 +01:00
pancake
84270da643 Add randomart print mode (pk/pK commands and rahash2 -k)
Random code cleanup
Remove borders in webui/two
2013-02-12 02:42:34 +01:00
pancake
2fa48384ad Fix some bugs reported by clang-analyzer 2013-02-08 11:42:46 +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
febfb770bc Added http client shell, fixes in http server and random dev
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
2013-02-06 10:35:23 +01:00
pancake
db77c97df1 Add missing files 2013-02-01 10:44:05 +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
pancake
2bcee70f41 Fix r_num_irand(), add pI command, support http.port=0 as random 2013-01-25 03:47:09 +01:00
Sebastián Guerrero
98da9c80f5 Fix some bugs reported by scan-build 2013-01-25 02:03:57 +01:00
pancake
1c93e8a727 Better webui, fix segfault in ag, add agj for json graphs
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
2013-01-24 03:48:24 +01:00
pancake
150c43d33c Oops. w32 typo 2013-01-23 18:41:31 +01:00
pancake
9b1df62609 Fix mmap and other minor issues on w32 2013-01-23 18:38:08 +01:00
pancake
d82c53224f Fix w32 build 2013-01-23 14:50:50 +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
a4c8b96e20 Added 'fj' command, multiple @ per command and more
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
2013-01-16 12:17:14 +01:00
pancake
30cfe3f15c Initial working enyo console 2013-01-15 00:23:10 +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
8aa889b098 Fix one byte access in r_str_uri_encode 2013-01-04 17:58:02 +01:00
pancake
aed2fd9aa5 Apply zlul's enhacements for html.sh 2013-01-04 14:51:21 +01:00
pancake
3635f85336 Better http support and handle asm.offset in 'px'.
Implement dirlisting in http
get in /up/. Honor asm.offset in 'px'.
Fix r_file_root and crosspath vuln in http server
2013-01-04 10:16:41 +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
eaefe56897 Add backtrace support for iOS>=4 and OSX>=10.7
Round corners of ios app
2013-01-02 02:49:18 +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
736208b394 Fix w32 sandbox call (thanks xvilka for reporting) 2012-12-20 12:11:09 +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
baae1f6e6a Honor $. variables to get regs and fix Ps string filter bug 2012-12-14 10:51:25 +01:00
pancake
caaccaddc9 Fix some warnings 2012-12-13 18:32:26 +01:00
pancake
58371d6e2f Add rabin2 -N flag to set minimum string length
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
2012-12-09 01:39:27 +01:00
pancake
5ebe3d20b8 Add ?P command, fix overflow in anal/cc and ctypes build
Added ctypes/test.py example
2012-12-08 02:17:21 +01:00
pancake
2134da8d08 Fix http.sandbox, Fix segfault in rnum, update lungo 2012-12-03 04:28:05 +01:00
pancake
0b5d2ef737 Fix comparison commands ??, ?!, ?+ and ?- 2012-12-01 00:15:19 +01:00
pancake
7a0da18725 Add r_bin.rar plugin, per-section arch/bits, fix in S=
Add Sa to set/get per-section arch and bits configuration
Cache io->section and core->io->section to speed up the Sa
Update r_sys_arch*
Add dummy plugin in asm/rar
Fix lines of S=
2012-11-30 01:06:30 +01:00
pancake
07d27512ee Append fatmach0 index in extracted filename
Fix the segmentation address in ? command
Fixes for the r2bot
2012-11-29 04:07:59 +01:00
pancake
b1e30e731b Fixes for the r2irc.js bot and various consistency in core 2012-11-27 14:09:53 +01:00
pancake
3aeee274bf Workarounds for x86-16 and prepare bitmap 2012-11-20 18:42:23 +01:00
pancake
e495421782 Initial implementation of 'ad' (analyze data)
Force tid=pid when tid=-1 in r_debug_select()
Add support for 16bit mov in x86.nz assembler
2012-11-20 03:59:00 +01:00
pancake
8ea25c4a46 Use RNum in RAsm, fixes for segoff and better disasm
Reference of RNum in RAsm (use flags in 'wa/pa'!)
Use RNum in x86.nz plugin
Rename scr.segoff to asm.segoff
Fixes for segmented addressing resolution
Honor lineswidth in disasm
Remove rabin2 -p flag in help and manpage
Fix disasm.c loop for small blocksizes and invalid ops
2012-11-16 01:34:26 +01:00
pancake
7ee7f936db Fixes parsing bug in java class and and rbinelfFixes in java class and and rbinelf)) 2012-11-14 04:57:56 +01:00
pancake
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
674c732f53 Implement 'fb' command and enforce 'fr' rules 2012-11-13 03:25:07 +01:00
pancake
8e1dbb443a Better support for IO ports on asm.pseudo and analysis
* Analyze IO opcodes on x86
* Fix 0x0x in olly disasm
* Fix segfault in objc mangling
* Support for writing nibbles with 'wx'
* If optype is IO, use 'ports' flagspace
* Add support for flagspaces in RParse
* Use RList in RParse instead of list.h
* asm.pseudo handles for in/out x86 opcodes
* Random code cleanup
* Fix udis86 64bit disasm bug
2012-11-13 00:53:52 +01:00
pancake
08e93418f5 Some better support for classes in rabin2 2012-11-07 10:41:12 +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
5de2e221b2 Fix om for rbin-friendly files, add 'dss'
Implement dss command to skip steps
omr works with just a single argument too
Fix open maps for RBin files
Merge r_th into r_util
2012-10-25 15:21:47 +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
69a12884ed Simplify the build system
doc.sw has been moved to radare2-extras
2012-10-03 14:31:35 +02:00
pancake
5ad9ae97ed Fix some bugs (nullptr, memleak) reported by clang-analyzer 2012-09-26 10:01:43 +02:00
pancake
850045c329 Fix many bugs noticed during the training course
Fixed ragg2 -e segfault
Fix use of ragg2 -p
Fix memleaks and null derefs in rio and rsocket
Fix some build warnings
Fix the segfaults found in the ELF parser
Dwarf parsing is only done if bin.dwarf is true
2012-09-22 20:32:19 +02:00
pancake
884d35027d Fix segfault in ragg2 -e xor 2012-09-22 18:35:02 +02:00
pancake
5eda1f485e Fix bindings 2012-09-17 17:49:23 +02:00
pancake
17250ee357 Add api to set config keys as readonly
Handle apk:// from the r_io.zip plugin
Suffix android builds with git version
Fix r_sys_rmkdir
2012-09-07 10:07:41 +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
3861772e6d Initial implementation of r_io.zip plugin
Allows to: r2 zip://foo.apk//classes.dex
Honor LDFLAGS in r_bin
Fix filename issue in r_io_redirect
Add testing on-activate event in r2w2
2012-09-07 03:26:38 +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
2f48e2fee7 Fix build 2012-09-06 12:58:07 +02:00
pancake
6d66f627b3 Fix bug in r_file_mkstemp
Use /data/local/tmp as default TMPDIR for android
Fix segfault in http server shutdown
Fix http.browser for android
2012-09-06 12:47:32 +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
7b627d24a2 Fix mingw32 build 2012-09-01 01:06:24 +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
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
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
e365b90d5f Implement support for >- (pipe to editor)
Fix another race condition in the build system
Fix many null deref reported by clang-analyzer
Assume -w when running r2 with -d
2012-08-13 17:42:25 +02:00
pancake
28428438f6 Lot of build fixes for --as-needed and mingw32
Fix z80 assembler
Add r_sys_truncate() for portability
Fail build if tests compilation is wrong
2012-08-10 11:35:38 +02:00
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
90b1936910 Fix make purge and uninitialized memory in RBin 2012-08-06 17:34:01 +02:00
pancake
9362041562 Huge RBin refactoring and fix mach0 section perms 2012-08-04 23:48:06 +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
0f23b0211d Fix r_list.h insanity 2012-07-20 17:23:24 +02:00
pancake
c814a9f67a Initial implementation of dwarf debug_line parser
rabin2 -d a.out
2012-07-12 02:47:04 +02:00
pancake
7a4a3dbbfd Fix string parsing in rabin2 -z and more random fixes
- 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
2012-07-02 00:38:02 +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
690445700a * Add ^ and $ in cons grep expressions
* Minor work on source CL commands, needs review
2012-06-21 10:12:02 +02:00
pancake
3877483e88 * Fix possible use of uninitialized memory in r_num 2012-06-15 15:39:04 +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
5f2512814e * Fix error in visual disasm (thanks vext01 for reporting)
* Fix backtrace for osx-x86-32
* Use some getters in node-ffi
2012-06-13 00:51: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
fee1dfda07 * Fix some bugs reported by clang-analyzer 2012-05-31 02:41:45 +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
db1135b405 * Apply patches from ac1d3. Thanks!
- include directory in CFLAGS and waitfordeps.sh
  - fixed VERSION macro
2012-03-09 01:03:19 +01:00
pancake
9bc3812ae8 * Add r_bin/mz plugin (old EXE binaries)
* Fix parsing of cs:ip values in r_num_calc
2012-03-07 01:34:57 +01: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
91c35cc94e * Fix x86olly disassembler %d and 0x%08x
* Properly handle '*' in calc.c
2012-02-15 23:42:27 +01:00
pancake
f41d41e9eb * Some fixes for the code analysis (still wrong, but at least ^C)
* Fix r_num_calc and all tests cases should run fine now
2012-02-15 11:11:25 +01:00
pancake
d2b6828bab * Fix some warnings reported by the farm
* Do not prompt or clear screen when using V in batch mode
* Optimization in r_config_get_i
* Show expression in r_num_calc errors
* Fix parsing of $$+2 in r_num_calc
2012-02-15 00:17:31 +01:00
pancake
4efc2bfab7 * rudi_s: Add r_list_foreach_safe() which is safe when deleting elements 2012-02-14 18:10:52 +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
44b42708d6 * Use r_num_calc() for math.. slower but honors parenthesis
- needs code cleanup
2012-02-14 04:41:40 +01:00
pancake
65d1dddfd1 * apply rudi_s patch fixing multiple bugs
- Fix uninitialized variables and other GCC warnings
  - Remove unused variables, fix invalid heap ops
  - ?p print error if VA is not
  - Fix invalid write in r_io_cache_read().
* add support for 'mov reg, [addr]' in x86.nz[32]
2012-02-12 23:45:04 +01:00
pancake
590a069980 * Fix dr?pc
* Fix r_anal and r_magic vapis (thanks xvilka)
* Add some fortunes
* Fix test_sys
2012-02-05 23:47:16 +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
c33a057d41 * Fix segfault in OpenBSD when opening empty files 2011-07-04 02:17:00 +02:00
pancake
990d616e13 * Add 16 segment addressing mode
- 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
2012-02-05 01:14:09 +01:00
pancake
f6e36687ed ** Apply Simon Ruderich patch with few modifications
* libr/bin/bin.c: Temporary solution to fix malloc://
* libr/bin/t/test_create.c: Add missing return
* libr/bin/t/test_create.c: Fix gcc warning
* libr/core/cmd.c: Fix read from uninitialized memory
* libr/io/io.c: Fix uninitialized variable
* libr/print/print.c: Prevent invalid read
* libr/util/buf.c: Don't return free()d memory in r_buf_mmap()
2012-02-04 23:25:10 +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
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
8886b07375 * fast hack to fix the ff25 x86-64 opcode analysis
* better handling of choose index in hud
* Add ?ip to take input from ?I and select path to file
2012-02-01 02:56:35 +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
997a6dbd14 * Apply patch from @w_levin fixing lot of memory leaks - Thanks! 2011-12-16 16:33:06 +01:00
pancake
b8d4ff5552 * Fix segfault in OpenBSD when loading empty files 2011-07-03 21:00:36 +02: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
15abe21104 * Autodetect and honor CC environment in ragg2-cc
* Added dummy rsakey.c in libr/search
* Apply patch for big-gmp.c from @santitox (thanks!)
2011-11-30 18:05:46 +01:00
pancake
ec7f601e2c * Add -d -D and -w flags to ragg2
- 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
2011-11-30 10:27:01 +01:00
pancake
048e9ea8ce * Fix some warnings related to alloca(), %llx and O_BINARY for w32
* sync sdb
* Add some more eval var descriptions
2011-11-29 12:28:02 +01:00
pancake
ee665da38e * Fix load of object elf files (kernel modules too)
- thanks Sebastian Reichel for reporting!
* Use O_BINARY in open() on windows
  - Will this fix the disassembler problems on w32?
2011-11-29 04:25:18 +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
31a11600c5 * Theorically fix the r_magic dirty sanchez bug
* Fix RIO seek undo with io.va
* Warn if file size != region size in dml
2011-11-16 10:06:34 +01:00
pancake
2c339c0c0b * Fix build on w32
* Install vapis before building python bindings
* Fix two format string portability issues
2011-11-16 02:06:46 +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
7b093a3ed5 * Fix all dangerous bugs reported by llvm-analyzer 2011-11-14 22:46:23 +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
88c8b08f7a * Fix various memory leaks (thanks Ender for reporting!)
* Add e dir.magic variable
2011-11-11 17:14:09 +01:00
pancake
14f85bd76f * Import Glyn Kennington's patch for the build system
- Use absolute paths everywhere and simplify Makefiles
2011-11-03 11:49:50 +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
9884ce9db0 * Initial support for Android NDK build (fix build)
- Not yet runnable, but compiles against bionic
2011-09-25 06:57:13 +02:00
pancake
0eb0eabd19 * Do not dist w32 test bins
* rahash2 now depends on r_io
  - support for huge files is wip
* Handle offset in afl command
* Fix libs.mk syntax issue
2011-09-23 12:25:06 +02:00
pancake
829a2bb69f * Implement xchg opcode in x86.nz
* Honor 0x in r_str_case (to uppercase)
2011-09-22 12:26:44 +02:00
pancake
0217c146ef * Fix x86.nz -> push [esp+N]
* Use pw instead of px in debugger stack view
* Disable stackptr by default
* Add OSX-32bit debugger register map
  - Fix support for debugging 32bit bins in 64bit OSes
* Implement r_egg_run() -- just in time execution
* Fix r_egg string construction and argument passing
  - Still needs more work, but at least some hello worlds work
2011-09-21 19:51:09 +02:00
pancake
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
b00ccc9e18 * Fix build and a null pointer segfault in r_diff 2011-09-19 14:25:27 +02:00
pancake
279d4e6f5f * Fix make deinstall
* rarun2 and rasc2 now depend on r_util
* Add r_mem_protect() as a wrapper for mprotect/VirtualProtect
* Fix segfault in java class parser

--HG--
rename : binr/rarun2/main.c => binr/rarun2/rarun2.c
2011-09-19 13:54:57 +02:00
pancake
838e6b7466 * Fix java class parser for javac -g files
- Show debug information in sdb format
  - Fix null pointer segfault
  - Still work-in-progress for proper debug info
* Some work on r_egg
  - Fix windows and osx default syscall tables
* Export version number in vapi R2_VERSION
* Hide ccache error if not found in sys/install
2011-09-18 18:56:11 +02:00
pancake
096b7eb406 * Fix mingw32 build 2011-09-14 12:37:26 +02:00
pancake
2edfc3495e * Re-enable r2 -t - use threads to load big files 2011-09-14 04:31:22 +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
4d6c585672 * Add support for mach0-arm and mach0-x86_64 in r_bin_create
- 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
2011-09-09 01:09:36 +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
b50447489c * Fix segmentation fault in asm.lines=false
- Thanks @hteso for reporting!
* Various indentation fixes
2011-09-02 01:42:09 +02:00
pancake
763289b4aa * Fix Bx1d issue in rax2
- Applied patch by flux. Thanks!
2011-08-29 00:43:20 +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
df8fb6cc21 * Store last .text/.data address in RAsmCode->{code,data}_offset
* Lot of fixups in x86.nz for better 64bit support
  - More opcodes are now supported (mov [base+delta], etc..)
* Make r_egg hello world work with x86.nz.
  - fixed some bugs in the rarc2 language parser
  - egg/t/test aims to be rarc2 replacement
  - rarc2 lang code seems to compile fine now,
  - r_egg now depends on r_syscall
* Fix null pointer in RNum
2011-08-08 00:46:04 +02:00
pancake
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
26a070f5aa * Initial import of r_egg api
- Implements rarc2 as a library
  - Supports x86-32/64 and arm
  - WIP inline-egg like api
* Add radiff2 -x to dump two column output
2011-07-27 01:16:18 +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
edbcb1cfce * Add 'rwx' permissions information in MACH0 sections
- Lot of syntax indentation fixes
* Use r_name_filter in r_flags
  - Fix dangerous flagnames issue
2011-07-19 18:03:31 +02:00
pancake
0d4faf652e * Set library version number for plugins
- Registers for which version of core was compiled
* Use tar --format=posix when GNU tar
  - Fixes the dependency on BSD systems
* Fix in doc/fortunes
* Fix this class pointer in asm_java
* Re-Fix uglily the bin_elf strtab issue (needs more work)
* Fix Vala regression in r_asm.vapi
2011-07-19 00:12:36 +02:00
earada
98131d8768 * Fix FreeBSD build 2011-07-14 16:17:39 +02:00
pancake
188560bf4b * Fix build and lot of warnings for w64 2011-07-13 18:55:16 +02:00
earada
1f30cc1025 * Add vmenus-mounts option 2011-07-11 22:52:05 +02:00
pancake
6abcfb962b * Add from/to arguments to search_preludes()
* Mostly fix the ming-w32 build
* Avoid using alloca()
2011-07-06 11:48:16 +02:00
pancake
edc7da8f7c * More strcpy/sprintf/strcat exterminations 2011-07-06 09:40:23 +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
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
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
e80caee947 * Apply Edd Barrett patch fixing the zombie processes
bug in the r_sys_cmd_str_full() function
2011-06-30 17:41:48 +02:00
pancake
ea98fe1bd6 * Various gcc-4.6 warnings fixed 2011-06-30 00:17:12 +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
3fbbd865d5 * Fix build in OSX 2011-06-20 23:53:38 +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
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
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
535a2aa713 * r_asm_disassemble use _CONST_ut8* buffer now
* Split core/cmd.c into disasm.c and core/visual.c into vmenus.c
* Fix some warnings reported by valgrind
* Chop instructions disassembled by udis86
* Fix visual prompt display in debugger mode
* Added 'pdi' and 'pdf' commands
  - Used to print just instructions or lengths
  - Documented via 'pd?'
* Added initial work on a test suite for r2
  - Spot a crash!
2011-06-04 03:14:04 +02:00
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
pancake
e0f8869e1b * Various minor visual fixups
* Add r_file_temp
2011-05-22 02:45:59 +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
a6f48ded22 * Added CC! command to use cfg.editor to modify comment
- CC-* removes all comments
  - Many bugfixes in comment handling code
  - comments are now turqoise and have no ';'
* Added r_cons_column -- add support for columned text
  - Added r_cons_justify to align text to right
  - Added r_cons_memset as a helper
  - Vv menu displays options and list in left and disasm at right
  - Allow to rename functions
  - Added ':' prompt in Vv menu
* Initial implementation for s/ command (search+seek)
* Use core->num->value for 'p' command (number of bytes used)
* Implement /i to search ignoring case
* Help for e scr.fkey=?
* Added r_core_editor() helper
* Fix use-after-free in r_anal/meta
2011-05-21 14:27:46 +02:00
pancake
98af858f6a * Fix some warnings and build on linux 2011-05-20 21:04:16 +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
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
09577a9246 * Initial import of the r_bin_fs plugin
- 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
2011-05-12 09:52:40 +02:00
pancake
5b601d4c13 * Fix many possible malloc(0) bugs (Thanks Edd Barret for noticing!)
* Set cmd->nullcallback to NULL by default
2011-05-11 19:19:53 +02:00
pancake
e8a2d5b4cf * Fix '>' (pipe to file) functionality in OpenBSD
* 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
2011-04-04 18:33:27 +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
17189725d2 * Fix other use-after-free bugs related to r_list_unlink
- Use r_list_delete instead of r_list_unlink in various places
    - Some operations are now a bit faster
2011-04-29 13:55:27 +02:00
pancake
020dd97a8b * Fix many segfaults discovered in OpenBSD
* Fix segfaults caused by read buffer overflow in x86im
  - use a 16 byte delta buffer in function and basic block analysis
* Fix r_list_delete segfault caused by an use-after-free bug
  - Thanks Edd Barrett for notifying :)
* Clean up many warnings reported by OpenBSD's gcc
* Reduce analysis depth to 50
* Fix OpenBSD syscall definitions and fix generator python script
2011-04-03 02:43:15 +02:00
earada
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
d2401f1ea0 * Fix build against uClibc 2011-04-23 02:05:00 +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
72ef2c2a1f * Fix memory leak in r_util/mixed 2011-03-22 23:45:59 +01:00
pancake
c0ab6cedd4 * Fix some bugs in ht.c and ht64.c
* Initial working version of RMixed
  - Needs some memleaking fixes and impl missing methods
  - Simple test case works
2011-03-18 09:53:50 +01:00
pancake
a74b312765 * Initial import of RMixed datatype
- Crashy and crispy atm. needs love
* Little cleanup in RFlag. RBtree must be removed here
2011-03-18 09:35:02 +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
d868fec5ba * Fix build of io_haret plugin
* Implement backtrace for OSX
* Fix build util/file.c for Solaris
  - Added doc/solaris
2011-03-13 21:00:46 +01:00
earada
8189c43299 * New RList functions (r_list_del_n, r_list_revere, r_list_clone)
* Update vapis
2011-03-12 15:04:48 +01:00
earada
ae1d4908aa * Add r_list_push, r_list_pop and r_list_get_top to use r_list as a stack 2011-03-11 00:09:35 +01:00
pancake
7df412ae25 * Fix build on W32
* Added --without-magic flag
2011-03-10 11:36:16 +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
5495f187a8 * /e is the new /m
* /m is for magic search
* Added ?x ?X ?s ?i and ?e
2011-02-25 11:45:05 +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
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
Nibble
5c1d473b69 * Fix segfault in r_list_destroy()
* Fix Build
2011-02-18 10:58:17 +01:00