Commit Graph

3790 Commits

Author SHA1 Message Date
Riccardo Schirone
54d5cc3ae0
Rewrite RSpaces to use RBTree and remove use of indices everywhere (#12904)
* Rewrite RSpaces to use RBTree and remove use of indixes everywhere
* Use RSpace in r_meta_space_unset_for
* Use r_str_ndup instead of strndup because windows does not support it
* Add some comments
2019-01-28 16:41:42 +01:00
pancake
9d94b4d4a1 Initial implementation of the visual zignatures in vbz ##sign 2019-01-26 08:29:08 -06:00
Maijin
f9d4ab6f65
Add Certificates in rabin2 ##enhancement (#12900) 2019-01-24 17:22:53 +01:00
radare
0456ea8751
Implement vbg - wip, but at least vbg does something ##visual 2019-01-24 18:50:37 +08:00
David CARLIER
3cff12a7c0 Add iF to show file hash and related refactoring ##bin 2019-01-24 17:34:00 +08:00
radare
18931ff3fb
Fix debugger regression in Android ##debugger 2019-01-24 05:22:56 +08:00
Maijin
334d0b3728
Aoj use pj ##refactor (#12882) 2019-01-23 21:28:19 +01:00
Itay Cohen
9409e39ed4 Add new command: pifc and pifcj ##print 2019-01-24 00:11:11 +08:00
Maijin
21cde44c7d Use pj for X509 and PKCS (#12877)
* Convert R_JSON to pj

* Ident

* iCj support

* Change return type

* Fix @deroad comments

* Fix last issue

* Fix empty output
2019-01-22 17:52:49 +01:00
Florian Märkl
b9a289354a Add extern "C" to r_rbtree.h ##util 2019-01-22 14:14:57 +01:00
pancake
08491c74ac Implement r_anal_ref_type_tostring() 2019-01-22 11:51:22 +01:00
Khairul Azhar Kasmiran
01d5dfe306 Fix rafind2 -S for UTF8 chars > U+00ff (#12866)
* Fix rafind2 -S for UTF8 chars > U+00ff

* Use '< 1' instead of '== 0'

* Remove unnecessary else

* Add a 0
2019-01-22 09:43:10 +01:00
Riccardo Schirone
3ef9a7cc95 Speed up RBinReloc retrieval ##optimization 2019-01-21 11:40:24 +01:00
Itay Cohen
472329c136 Add JSON support for /g ##anal 2019-01-21 01:25:59 +01:00
pancake
6c2d945272 Fix aht cjmp and optimize assert in asm.emu when no regprofile is set ##anal 2019-01-20 12:16:47 +01:00
Florian Märkl
fc1bab9136 Copy pal when creating a new task (#12835) 2019-01-19 01:29:30 +01:00
Florian Märkl
f80a47ab60 Move Palette to RConsContext to make RCoreTask less racy ##cons 2019-01-18 11:58:49 +01:00
Giovanni
5f931603de WebAssembly improvements in branch lines and namings ##wasm 2019-01-18 11:29:51 +01:00
radare
570c05a86b
Implement aht to change the opcode type via anal hints, fix ao ##anal 2019-01-17 00:26:39 +01:00
koffiedrinker
51ed856b67 Fix iR timestamp + consistent timestamp format output (pt*, iI~comp, iR) (#12770) 2019-01-16 21:47:44 +01:00
Riccardo Schirone
adab5e4302 Update SDB code and use ht_update_key API in RFlag (#12804) 2019-01-16 16:57:19 +01:00
radare
eea35e7c66
Move r_anal_op_hint() into r_anal_op via R_ANAL_OP_MASK_HINT ##anal 2019-01-16 16:22:45 +01:00
radare
f694a48280
Check if address is mapped in the hexdump and disasm via io.unalloc ##print 2019-01-16 16:06:03 +01:00
Riccardo Schirone
2462938a64 Fix ASAN crash when running afbr ##anal 2019-01-16 15:03:54 +01:00
Florian Märkl
8f87d8aa27 Fix leaks in macros (#12803) 2019-01-16 09:15:39 +01:00
Itay Cohen
b67ed47582 Fix afns and add JSON support ##anal 2019-01-15 12:09:32 +01:00
Riccardo Schirone
320a258977
Remove flag list in RFlags and just use hashtable (#12703)
* Do not directly use flags->flags, but use r_flags_foreach functions
* Remove list of flags because unnecessary
* Do not free flagitem when we just need to change the name(aka key)
* Use skiplist to iterate, so we get order for free
* Use RIOMap instead of RIOSection which is being killed
* Free flagitems when ht is freed

There's already the hashtable that can serve to iterate all flagitems.
2019-01-14 14:15:12 +01:00
pancake
c8339215c6 Implement yfx (yank from hexpair) command and r_core_yank_hexpair API ##core 2019-01-14 02:38:03 +01:00
pancake
69704eb404 Handle subcommands for visual browse from the shell ##visual 2019-01-14 01:35:17 +01:00
pancake
213e4c9ca8 Initial implementation of the visual ROP browser ##visual 2019-01-14 01:09:30 +01:00
pancake
46955f69d5 Add cfg.log.events=false by default ##config 2019-01-13 03:42:56 +01:00
pancake
62b52e4abe Implement T=& and handle more meta events ##sync 2019-01-13 03:42:56 +01:00
pancake
572539af9c Initial WIP implementation of sync using http and T ##sync 2019-01-13 03:42:56 +01:00
radare
ab3a7be704
Almost completely kill RIOSection from io and core (-218LOC) ##refactoring
* Use RBinSection, RDebugMap or RIOMap instead
* Remove omps command
* Fix segfault in ?E+
* Improve anal.eobjmp (bug spotted after almost killing iosections)
2019-01-13 03:07:51 +01:00
Khairul Azhar Kasmiran
2b28f6076e Move r_disasm.h defs into r_core.h 2019-01-12 23:34:37 +01:00
Khairul Azhar Kasmiran
735e33eaf6 Visual 'j' honors asm.flags.middle ##visual 2019-01-12 11:43:27 +01:00
Florian Märkl
73a7d63df4 Store Anal Classes list in own SDB Namespace ##classes 2019-01-11 10:03:18 +01:00
pancake
d83fa5c45d Add orangg avatar in ?E+ and implement r_str_list_join() ##visual 2019-01-11 09:59:17 +01:00
pancake
0087f46357 Initial implementation of visual gadgets ##visual
* Run any command at any position in the screen
* Crop the output of the command to avoid glitches
* Works in visual mode as well as in console
* Add support for visual gadgets in graph and panels views ##visual
* Implement pgm command to move gadgets around ##visual
2019-01-11 09:59:17 +01:00
pancake
d7ff7a97ea Add bbsum metric for zignatures ##sign 2019-01-10 18:38:44 +01:00
pancake
ae1b3feb3f Add vars in zignatures ##sign 2019-01-10 18:38:44 +01:00
Khairul Azhar Kasmiran
6694fd727c R_ANAL_REFLINE_TYPE_MIDDLE -> R_ANAL_REFLINE_TYPE_MIDDLE_BEFORE (#12733) 2019-01-10 16:57:58 +01:00
David CARLIER
de40266908 Add basic auth to the webserver ##sync 2019-01-10 10:51:51 +01:00
Francesco Tamagni
0b2c1ec450 Tweak bitwise macros to work on 64-bit integers and use that in dyldcache 2019-01-10 10:03:04 +01:00
radare
2f91d02634
Initial implementation of hex.align ##hexdump 2019-01-10 09:21:20 +01:00
Florian Märkl
50fc5967d5 Always print return type in r_anal_fcn_format_sig() 2019-01-10 01:59:07 +01:00
Florian Märkl
45665bae3a Add r_anal_fcn_format_sig ##anal 2019-01-10 01:59:07 +01:00
dav1901
37ea17d1a2 Minor code cleanups/fixes (#12714) 2019-01-09 22:06:12 +01:00
Riccardo Schirone
ba6d256bec Add r2pipe_ R_API functions to r_socket.h ##r2pipe 2019-01-09 22:05:44 +01:00
radare
32e494a696
Improve rap:// code, r2p_ is now r2pipe_ ##io (#12699) 2019-01-09 02:47:35 +01:00
radare
c98136300d
Fix #12667 - Fix heap overflow in RCons.grep ##cons 2019-01-07 16:08:54 +01:00
GustavoLCR
ffef4fb1be Fix #12623 - Make Grep Highlights Case Insensitive ##visual 2019-01-07 00:23:23 +01:00
pancake
bb5d1b52a0 Introduce scr.dumpcols to support tabs and minor cleanup ##visual 2019-01-05 11:51:46 +01:00
pancake
c40ddd3552 Several improvements in the Visual mode (help, tabs, ...) ##visual
- Remove the V@ command - not intuitive and a bit alien
- rotating print modes with tab was segfault because of UB
- Implement recursive interactive help
- Support ranged cursor selections (for pxd, pxb, pxq, ...)
- 'i' in pxb visual runs Vd1 to edit the bits under the cursor
- V' is no longer mixed with Vt
- Properly restore the print sub-modes in tabs
- Smart tab key hints (beter located and shorter)
2019-01-02 02:09:31 +01:00
radare
dc185e242a
Add scr.wideoff to make offsets and reg values depend on asm.bits ##visual 2018-12-31 03:06:05 +01:00
Vanellope
a0b710810f Refactoring ##panels (#12583) 2018-12-30 15:35:38 +01:00
pancake
0653e4d0aa Rename m68xx to m680x for consistency 2018-12-29 17:42:07 +01:00
pancake
7aae8a7441 Add support for m68xx disassembler + analysis from capstone ##disasm 2018-12-29 17:03:40 +01:00
radare
c9e87787f1
Initial support for 6502 with Capstone ##disasm 2018-12-29 16:22:08 +01:00
radare
2d236dbe56
Several bug fixes and improvements for the visual-tab ##visual (#12577) 2018-12-29 11:17:56 +01:00
Florian Märkl
fdbb87d70e Heavy refactoring and sdbify the classes storage+logic ##anal
* New commands: aCb, aCm, aCmn, aCll, aClj, aCv, aCm, aC-, aCm-
* Fix Segfaults and Leaks in RTTI classes recovery
* Accept .?AU as prefix for msvc class name demangling
* Classes recovery refactoring
* Skip own type descriptor in msvc classes recovery
* Cleanup msvc rtti address calculation
* Recover vtable, classes, base class, virtual methods from MSVC RTTI
* Add flags for vtables and methods
* Add r_str_sanitize_sdb_key()
2018-12-29 11:16:33 +01:00
radare
5234164ab2
Improve two dimensional panels with Tab and tabs with '<num> and '' ##visual
* Less panels and more sub-modes
2018-12-28 19:40:54 +01:00
radare
c45cf8790b
Initial implementation of emu.ssa ##esil 2018-12-28 14:11:39 +01:00
radare
22de1dba2c
Fix #12397 - Colorize grep words if scr.color.grep is set ##cons 2018-12-27 06:23:10 +01:00
Khairul Azhar Kasmiran
8cc62bef50 Fix #12516 - Fix asm.bbline glitch (#12556)
* Fix #12516 - fix asm.bbline glitch
* Use new R_ANAL_REFLINE_TYPE_MIDDLE_AFTER instead
* Allow for bblines before and after disasm line
2018-12-25 23:25:51 +01:00
Florian Märkl
2462653a23 Optimize ds_align_comment() ##disasm (#12560)
* Add r_str_len_utf8_ansi() ##util
* Use r_str_len_utf8_ansi() for line len in ##disasm
* Fix delete_last_comment()
2018-12-25 19:51:06 +01:00
Vanellope
ebcd2f6add Refactoring ##panels (#12554) 2018-12-24 13:06:47 +01:00
radare
e6874e1d88
Initial import of the PJ (PrintJSON) API 2018-12-21 09:18:25 +01:00
Francesco Tamagni
e3620985a5 Improve io map lookup performance in presence of many maps ##performance
- add the “skyline shadow” concept
- add `r_io_map_is_mapped` which binary-searches the skyline shadow to tell if a pointer belongs to any map
2018-12-20 15:30:06 +01:00
Vanellope
693d1872de Fix a resizing issue of Panels ##panels (#12524) 2018-12-20 12:44:31 +01:00
dav1901
303a57bb85 Minor code cleanups/fixes (#12519) 2018-12-20 11:50:29 +01:00
Riccardo Schirone
738bc9cb19 Fix warnings by using more r_str_ncpy
* Fix wrong logic in visual_search

When the string to be searched is wrapped in " ", you want to remove the
first and last quotes and look only for the internal string.

* Increase size to prevent string truncation (and fix compiler warning)
* Fix "destination unchanged after copying no bytes" warning
* Move msp430_register_names where it belongs to
* Fix Wstringop-truncation warning
2018-12-19 12:07:49 +01:00
radare
0ca4d00251
Implement support for nword in ahi ##anal (#12494)
- ahi0 == ahi
- any digit from 0 to 9 is valid
- test case:

	$ r2 -qcq - << EOF
	wx c7458843c6ff00
	pd 1
	ahi 10
	pd 1
	ahi-
	ahi1 10
	pd 1
	EOF

	mov dword [rbp - 0x78], 0xffc643
	mov dword [rbp - 120], 0xffc643
	mov dword [rbp - 0x78], 16762435

* Fix behaviour in ahi nword and assume nword is 0 by default
* Add VdI
2018-12-17 12:56:07 +01:00
radare
7060103292
Improve RBuffer api, start to refactor rbin to use more rbuf ##bin (#12495)
- Added a new rule in the DEVELOPERS.md file
2018-12-17 11:54:46 +01:00
radare
4b10376904
Add hex.ascii config variable ##print 2018-12-17 02:17:45 +01:00
iamahuman
9ed24b16a3 Fix Emscripten support 2018-12-15 18:32:24 +01:00
pancake
2f176bdc61 Better asm.hints and support repeating in dw ##visual 2018-12-15 12:30:15 +01:00
David CARLIER
bdc454215b Display all metas in current offset instead of just one ##analysis 2018-12-14 12:39:32 +01:00
radare
370d0fede6
Handle meta hints for dwords in visual disasm hotkeys ##disasm (#12472) 2018-12-13 02:35:35 +01:00
Vanellope
eb33d382f6 Snow is supported in Panels because it is winter ##panels (#12460) 2018-12-12 13:23:00 +01:00
pancake
8ff572b26f Improve pxa, use more colors. honor VdF (pf format) 2018-12-11 11:07:59 +01:00
pancake
22d05696de Add hex.style and grab flags, not just comments 2018-12-11 11:07:59 +01:00
radare
e9f5589a31
Implement hex.hdroff (disabled by default) ##print (#12443) 2018-12-10 19:37:25 +01:00
Vanellope
b6f2ebb20b Boolify caching param and fixed a bug of loading saved layout, plus added afvW and afvR in menu ##panels (#12401) 2018-12-04 16:09:54 +01:00
pancake
5df3872b9d Boolify r_cons_yesno() 2018-12-04 12:49:43 +01:00
radare
4db8e9189f
Implement pfq command (#12383) 2018-12-03 02:35:40 +01:00
Vanellope
b858757136 Use 'e' and 'n' keys in panels to edit command in current panel or open new ##panels 2018-12-03 00:37:49 +01:00
David CARLIER
cb42aef929 Support NetBSD explicit_memset ##port 2018-12-03 00:32:39 +01:00
Khairul Azhar Kasmiran
3e66e7682f Refline generation ignores comments (#12362)
* Refline generation ignores comments
* Add and use r_meta_enumerate_at() instead, and make Travis green properly
* Add and use r_meta_find_any_except() instead
2018-12-01 16:44:29 +01:00
bart1e
20a4168548 Detecting pure functions and add afip command ##anal 2018-11-29 17:00:26 +01:00
Florian Märkl
a906b41a46 Rename r_str_escape_utf8_to_json to ...for_json 2018-11-29 16:55:01 +01:00
pancake
bd4bfbc6f3 Add clock_nanosleep configure check 2018-11-28 17:08:09 +01:00
pancake
246fe4e10b Fix compile-time breakpoints for arm<6 2018-11-28 16:53:38 +01:00
Vanellope
c32083fae7 Fix panel’s z key 2018-11-28 09:29:04 +01:00
pancake
81583efa05 More goodies for breakpoints and kill r_sys_trap 2018-11-27 11:58:11 +01:00
pancake
842dadc41d Add mips software breakpoint in the macro 2018-11-27 10:19:07 +01:00
Vanellope
489d4dc99a JK is for quick scroll and refactor help messages ##panels 2018-11-26 23:23:43 +01:00
pancake
545efb319b Strictier CLOCK_MONOTONIC check and fix 2 warnings 2018-11-26 04:06:42 +01:00
pancake
272d01784e Add fcnInsteadOfAddr arg for proper xX in visualRefs from V, Vb and VV 2018-11-25 01:55:46 +01:00
pancake
bc322ac9cf Fix #12313 - Vbv is not VbF 2018-11-25 01:23:33 +01:00