Commit Graph

405 Commits

Author SHA1 Message Date
Anton Kochkov
b4f1cd220f Show imports in disassembly 2014-04-03 00:59:13 +04:00
Adam Pridgen
6bc694f873 Added colorization to pdn and added a dead code warning if all the bytes in a method are not consumed during analysis. 2014-04-01 16:22:56 -05:00
pancake
9e08e07b7b Fix build, remove useless debug printfs 2014-03-31 16:39:16 +02:00
pancake
bc344eea1d Add r2048 game in V! command. Initial sdbization of fcn vars 2014-03-31 03:06:45 +02:00
condret
d6dae07979 Implement RAnalCycleFrame Stuff, New optypes and esil-adc/sbc 2014-03-25 02:36:54 +01:00
pancake
73a46d574c SDBize and refactor Anal-Hints, still unfinished 2014-03-11 02:47:10 +01:00
pancake
7c8daf1e70 Refactoring RBinMeta into RBinDbgInfo 2014-03-10 02:27:32 +01:00
Fedor Sakharov
7682a33646 Fix #689 2014-03-09 00:04:19 +04:00
pancake
f7bdfb2bbc Fix #575 - Thanks @montekki - plus other enhacements
- Use ↑ for utf8 backlines
- Support multiple RAnalMetas on every line in disasm.c
- Use sdb in disasm to retrieve RAnalMetas instead of api
2014-03-08 02:36:33 +01:00
pancake
ddd9bd811d Fix newline in multiline comments and use ! for backjumps 2014-03-06 23:42:01 +01:00
condret
bf61ecdeee Add cpu fail cycles, Add CCALL and improve GB 2014-02-26 01:15:34 +01:00
pancake
ec58f84572 Add asm.bytespace=true config variable 2014-02-25 01:35:23 +01:00
pancake
4180b24f56 Fix graph with trash data in it 2014-02-25 00:38:18 +01:00
pancake
bec7627f9a Fix zero byte invalid instructions issue in disasm 2014-02-24 10:55:15 +01:00
pancake
070bc97286 Fix #582 - Escape binary strings in output error message 2014-02-23 01:56:26 +01:00
pancake
25809a0887 Fix some warnings and indentations 2014-02-20 03:08:12 +01:00
pancake
932e9e41d2 Fix #502 - Fix hotkey numbering for the same function 2014-02-18 16:07:21 +01:00
Adam Pridgen
f2745f602d removed the NULL check for core->anal in disasm and fixed formatting in anal_java 2014-02-17 08:24:22 -06:00
Adam Pridgen
27674ad03e Fixed Java crashes and case statements for anal and print disasm by adding
a reset_counter (added to RAnalPlugin) or reset method address at the beginning
of each print disasm or analysis.  Also fixed a bug in reflines.c/disasm.c,
s.t. lines will be respected when printing disasm.
2014-02-15 09:42:14 -06:00
condret
fbd6269b0c Add cpu-cycles 2014-02-14 00:53:54 +01:00
pancake
8279f508db Implement /P and Optimize + Fix #412 ROP search 2014-01-27 01:12:16 +01:00
Adam Pridgen
e6fe3354d9 Fixing coverity issues for io_zip, hanging caused by infinite loop in disasm.c,
and io map collisions (which adds file.loadalign, file.loadmethod (append or fail),
and file.suppresswarnings.
2014-01-25 23:48:22 -06:00
Adam Pridgen
2e20adb68d Proposed fix to printing function disassembly with rewrite of the function handling reflines. 2014-01-24 02:40:02 +01:00
pancake
666ab166d1 Add 'cu' and 'arC', better 'cc' 2014-01-24 02:37:14 +01:00
pancake
0cce4f19fb Refactor to fix bindings 2014-01-23 04:34:59 +01:00
pancake
a4ffd58ad8 Fix bug in disasm.c 2014-01-23 03:47:20 +01:00
Adam Pridgen
51a27ab1cc Coverity Fixes 2014-01-22 16:58:23 -06:00
pancake
4f73ee605b Fix #558 - color=0 not working in xref comment 2014-01-21 12:10:32 +01:00
pancake
62d11ca574 More disasm fixes, remove old code 2014-01-20 01:42:16 +01:00
pancake
ae85c1c16b Fix data references and prefix after flag in disasm 2014-01-20 00:14:00 +01:00
pancake
4c8346fd8a Fix more coverity issues 2014-01-18 23:02:53 +01:00
pancake
e31d6492d8 Fix iOS entitlement and use the refactored disasm by default (let's test) 2014-01-18 02:17:01 +01:00
pancake
ec016d8cc5 Fix w32 build 2014-01-18 01:55:03 +01:00
deeso
b3badc7cf2 Refactored r_core_print_disasm so that it is more manageable
for edits. right now, its experimental and needs testing
it is currently disabled, but can be enabled by setting
USE_REFACTORED to 1 and USE_OLD to 0.
2014-01-17 03:59:45 -06:00
pancake
1066c7a4f6 Fix uninitialized string in disasm.c and do not use of strcasestr 2014-01-10 18:45:51 +01:00
pancake
01a2b485e7 Implement 'drc' command with all the RRegCond magic
- Fix all debug register profiles
- Support for X86 and ARM
- Allow to check conditional instructions
2014-01-08 23:23:06 +01:00
pancake
54dc8b7f17 Fix uninitialized buffer 2013-12-14 03:00:36 +01:00
pancake
bd6824baaf Fix arm64 disassembler and obey op->size 2013-12-11 03:06:51 +01:00
pancake
0df2759c18 Obey opcode size rules when disassembling instructions 2013-12-11 02:18:39 +01:00
pancake
c165361124 Add bin.bf for brainfuck and use static ESIL struct 2013-12-10 03:35:59 +01:00
BatchDrake
b04a9776a2 Refactorization of RAnalOp.esil to make it compatible with RStrBuf 2013-12-08 22:47:50 +01:00
pancake
b97eecc06f RStrBuf setters return boolean for success 2013-12-08 02:47:55 +01:00
pancake
2fb1da0fe3 More .size refactoring 2013-12-06 05:31:54 +01:00
pancake
322a8a7654 Fix build for latest refactoring 2013-12-06 05:18:57 +01:00
pancake
44a959fa78 Fix #423 - asm.tabs parser to bound words between brackets 2013-12-06 02:44:43 +01:00
pancake
2186875a55 Fix #411 - Fix asm.tabs and write test cases 2013-12-04 00:47:34 +01:00
pancake
32bfab2a50 Fix toro loop in disasm that broke visual reflines 2013-12-02 17:15:22 +01:00
pancake
6e310937cb Fix for asm.tabs 2013-12-02 17:03:46 +01:00
pancake
3bb57ebe87 More fixes for pd/pD 2013-12-02 05:43:29 +01:00
pancake
4e368ae2b3 Fixes for pd, pdn and pD, Fix Vppj issue 2013-12-02 03:53:29 +01:00
pancake
e98c0d4f19 Fix of scr.color in disasm.c 2013-11-26 10:49:39 +01:00
pancake
1bb99e41f2 Fix double-cursor issue in disasm with invalid instructions 2013-11-14 04:49:48 +01:00
pancake
510cd072be Fix #352 - Some x86 instructions translate to ":" in esil 2013-11-14 01:22:07 +01:00
pancake
e8c120ae89 Use asm.esil in 'pi' and 'pdi' 2013-11-13 01:59:16 +01:00
pancake
7a8b342f5c Add asm.esil boolean to show esil instead of opcodes 2013-11-13 01:51:15 +01:00
pancake
737ac0f81f Fix #346 - Segfault in disasm.c 2013-11-13 00:20:47 +01:00
pancake
1d0eeb9955 Use ';' comment prefix in branch keys comments in disasm 2013-11-10 02:04:22 +01:00
pancake
ec9b04e758 Fix #319 - Fix recursive loading the same script 2013-11-09 03:25:43 +01:00
pancake
603b595e53 Fix reflines overflow 2013-11-07 15:13:33 +01:00
pancake
a0d5af1875 Fix #310 - Wrong disassembly when seeking backwards
Handle ~/.config/radare2/radare2rc script
Add 'cls' command
Use '?' instead of 'K'
2013-11-07 02:07:10 +01:00
pancake
486b87a870 Re-enable disasm retries and add test 2013-11-06 02:10:53 +01:00
pancake
19165d308a Fix #309 - Wrong symbol in reflines if UTF8 2013-11-06 01:48:55 +01:00
pancake
438d502646 Fix #309 - Use utf8 vertical line in comments 2013-11-05 03:23:29 +01:00
Anton Kochkov
37a655a889 Fix #309 - wrong refline symbol on references lines 2013-11-04 18:58:18 +04:00
pancake
629c64c851 Fix 'dr=' columns width for 64bit registers 2013-10-31 01:53:17 +01:00
pancake
8cc4809c3a Refix for #288 and do not stop on invalid reflines 2013-10-27 02:20:36 +01:00
pancake
64b6750ee3 Fix #277 - Segfault in radiff2 - Thanks nibble! 2013-10-25 10:42:46 +02:00
pancake
84481c53ec Fix ARCompact disassembly 2013-10-24 23:11:56 +02:00
pancake
bec4f5b63a Fix radiff2, Ps segfaults and ARC syntax
- Fix some nullptr derefs on uninitialized graphdiff structs
- 'ar' is now r_cons compliant and rnum friendly (add arj)
- Fix some arc disasm syntax issues
- Fix segfault when saving analysis info in projects
- ARCompact analysis needs to be rewritten
2013-10-24 13:59:19 +02:00
pancake
a5b9d9126a Code analysis fixes, add 'sf' command and add visual seek feedback 2013-10-20 00:25:37 +02:00
pancake
6d4c0fcdaf Fix #273 - pxo segfaults, add 'bm' command and 'pd' honors ^C 2013-10-19 23:10:08 +02:00
pancake
a52b4eaf6d Handle type 'd' in disasm 2013-10-19 01:13:44 +02:00
pancake
6e54a0c7a7 Fix #255 - Too much function informations 2013-10-15 01:17:54 +02:00
pancake
3406d5eb52 Fix visual jmp keys reset and malloc:// write error 2013-10-14 01:12:09 +02:00
pancake
7867d8cdc1 Handle 'hlt' x86 instruction as trap in analysis 2013-10-10 00:59:12 +02:00
pancake
d100e603c9 Fix #157 - sandbox issue in webui
- add 'f' and ':' print formats
- fix nocolor disasm artifact
- add VW command to launch webui
- rename sN to sp (seek to previous hit)
2013-10-09 00:29:49 +02:00
pancake
9210656589 Fix visual glitch for one-op functions in disasm 2013-10-08 02:08:59 +02:00
pancake
f3d6ad2eec Fix colorization of dalvik opcodes 2013-09-30 12:56:00 +02:00
pancake
722659005d Better brainfuck and arm64 support. Fix some bugs
- Fix infinite loop bug in dietline using quoted commands
- Update brainfuck disassembler and analyzer
- Fix #232 - r2 error on corkami's standard.elf (missing strtab)
- Honor 'other' color palete
- Fix bug in disasm.c filtering flag replacements
- Removed '#' prefix for numeric arguments in aarch64 disasembler
- Fix infinite loop in '">"' command
2013-09-30 01:14:04 +02:00
pancake
f058b5e0ad Handle \n as well as ; for line separators in r_core_cmd 2013-09-11 23:41:40 +02:00
pancake
f61fa0565e More work for cparse, Show type links in disasm. Fix some warns 2013-09-04 02:01:42 +02:00
pancake
f4aa5ab6f3 Minor utf8 changes 2013-09-02 23:16:33 +02:00
Anton Kochkov
2d3297e26d UTF8 arrows initial support 2013-08-28 00:26:30 +04:00
pancake
9850c0a3c3 Fix some warns and enhace GIT_TAP in makefiles 2013-08-26 01:07:21 +02:00
pancake
c27838a59c Do not show ; -- after rets in disasm 2013-08-26 00:57:56 +02:00
pancake
beeb0cd7f8 Fix #183 - pif doesn't stop at function's end 2013-08-24 23:45:10 +02:00
pancake
9915108a47 Only show flags when differs from function name 2013-08-23 17:39:34 +02:00
pancake
c13284cd71 Minor refline hacky fixes in disasm 2013-08-11 15:38:42 +02:00
Eduardo de la Arada
18b0268443 Fix asm.pseudo 2013-07-26 12:19:17 +02:00
pancake
756bd5645e Fix #145 (trash in opcodes) 2013-07-23 17:58:13 +02:00
pancake
a597b0e414 Bring back code|data xrefs to life. Use 'ar' command
'ax' and 'ar' are in conflict. must resolve
Uses sdb to store code and references
Ugly code that needs a huge cleanup
Update to latest sdb
2013-07-19 03:35:45 +02:00
pancake
19314bc27f Better comments in disasm, fix io->size = 0 regression 2013-07-18 23:00:38 +02:00
pancake
670bb111d8 Add 'floc' and 'invalid' color palettes, Vdr renames locals
Vdr now support renaming local function labels
Do not colorize lines when scr.color=0
2013-07-17 23:06:06 +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
Anton Kochkov
e81d4e900d Fixed "cmp" opcode colorization 2013-07-17 03:30:11 +04:00
Anton Kochkov
2f7224f64d Added colorization for flows 2013-07-17 01:45:38 +04:00
Anton Kochkov
00c3c70f3b Implement functions flow lines colorization 2013-07-17 00:38:02 +04:00
pancake
e2537b9484 New command: 'pB', the px-like pb (xvilka idea) 2013-07-12 00:29:27 +02:00
Anton Kochkov
253b3f136d Fix for local labels 2013-07-11 02:55:16 +04:00
Anton Kochkov
c39e6aee82 Added local labels reference display 2013-07-07 01:59:41 +04:00
pancake
11e00e438e Fix Java class crash, better opcode colors and use $c/$r for screensize
Fix segfault in java class parser
Fixes in the opcode reg|num colors
$r renamed to $m (memref)
Use $c and $r for columns and rows instead of $h (height)
2013-07-04 14:08:58 +02:00
pancake
6fa47bb40f Only colorize ops when scr.color is set 2013-07-04 03:47:19 +02:00
pancake
b8f7138092 New palette in disasm, fixed 'fs*', better scr.colorops
Fix 'make w32'
Some more enhacements on the webui
New palette. im open to suggestions
Fixes in the scr.colorops parsing
Fix 'fs*' command
Analop now sets Type.ILL if invalid
2013-07-04 03:34:28 +02:00
pancake
2992f7c951 Add cfg.colorops and 'reg'+'num' palete elements in r_cons 2013-07-03 17:43:20 +02:00
pancake
b963192a31 Redefine local flags commands and minor fixes in disasm.c
Use Color_RESET after fcn, label and flags in disasm.c
RCore.anal_fcn_local_list() now takes RCore* as 'self'
Redesign commands to add/list/remove local flags (f.)
f.a@3: set local flag 'a' at offset 3
f.   : list locals in current function
f.*  : as above using radare commands output
f.** : list all locals from all functions
2013-06-30 02:45:33 +02:00
Anton Kochkov
0711e60667 local labels inside functions - initial support 2013-06-29 10:21:15 +04:00
pancake
438e90a069 Fix minor indent issue in disasm 2013-06-28 13:12:46 +02:00
pancake
72581dd93e Many enhacements for the lua bindings
Load module and cast core instance at startup
Requires latest valabind.
Add RCore::ncast api
Use pkg-config everywhere to fix lua plugin build
Fix install path for lua bindings
Export RCore instance to #!lua shell
Example:
  #!lua
  print(c.assembler.bits)
2013-06-25 02:45:12 +02:00
Anton Kochkov
3be06f30c0 Fixing function colorization 2013-06-21 22:13:43 +04:00
Anton Kochkov
b30a148be6 Colorize function names: step 2 2013-06-21 00:34:03 +04:00
pancake
04cfefb9d8 Fixes on dyldcache list and x86 branch analysis
Fix some branch analysis issues for x86
Add new simpler r_reg api r_reg_getv()
Store library offset in dyldcache xtract info
Accessible via rabin2 -A or r2 <file>
Looks like dyldcache is too slow and buggy for latest caches
Fix indentation in branch comments
2013-06-20 02:49:39 +02:00
Anton Kochkov
83b40a7b4e Added cjmp, fname and flow color categories 2013-06-17 09:42:46 +04:00
pancake
ef781cbadd New flag rasm2 -c CPU. pointer hints, fix analysis of x86-16 jmps
Add ahp (pointer hints)
Add rasm2 -c flag to select cpu (wip for arm)
rasm2 -e toggles instead of setting
Fix analysis of absolute jumps in x86-16
Push and pops are now magenta \o/
2013-06-17 03:26:48 +02:00
Anton Kochkov
5341081d1d Added binary arithmetics operations in color 'bin' 2013-06-16 23:18:29 +02:00
pancake
082fccc1b2 Change r_anal ABI to fix bindings +to_esil_string() 2013-06-09 03:25:32 +02:00
pancake
4d32b6b8e4 Initial import of r_bin_bios plugin 2013-06-09 02:11:17 +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
29066085de New 'afb <bits>' per-function asm.bits, Renamed 'afb' to 'afbb' 2013-05-24 02:53:15 +02:00
pancake
3ba48ac9ad More color theme fixes and categories (math, bin, other) 2013-05-23 12:37:40 +02:00
pancake
ecc45d8d53 More fixes in 'ec' and 'ecs' commands for color palette 2013-05-23 03:03:40 +02:00
pancake
e5cdab6d20 Fully configurable console palette for disassembly, hexdump and prompt
- Fix overflow in r_cons
2013-05-23 02:26:48 +02:00
pancake
a42ab6898d Extend the fix of #92 to handle func name refs on nonlinear addressings 2013-05-22 04:30:46 +02:00
pancake
9d65bfe70c Initial r_cons palette support. See 'ec' command 2013-05-22 04:22:49 +02:00
pancake
8c5a6d68ff Handle fcn in r_parse, unify filter() and add locdiff utility 2013-05-22 01:49:18 +02:00
pancake
e3129f246e Show flag comment in branch references (fixes #92) 2013-05-21 08:59:08 +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
4cf83c6a63 Detect more c++ bins, demangle symbols and fixes in udis86
Better detection of c++ bins
Handle symbol/import name mangling as code comments
Fix visual menu 'VT'
Fix udis86 call analysis
2013-04-16 03:24:47 +02:00
pancake
469db755bf Enhace 8085 disasm and add basic code analysis support 2013-04-10 02:04:50 +02:00
pancake
d5f3ddaaf0 Refix #72 2013-04-01 01:45:28 +02:00
pancake
7ff12dfeee Fix #72 : Honor per-section arch/bits in io+core 2013-03-31 04:34:46 +02:00
pancake
c829b88c3f Bump for the 0.9.4 release 2013-03-21 18:42:31 +01:00
pancake
67f0794b82 Fix disasm indent. Add 'mvn' and 'cmp r, n' opcodes 2013-03-13 17:57:40 +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
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
1f6174c6ae Better webui, 'pi' counts opcodes and remove /new and htmlgraph
pi honors number of instructions, not bytes
Remove htmlgraph and lungo webui
More work on the enyo webui
2013-01-25 03:22:09 +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
4ffa7952a2 Fix segfault in DEX parser, remove more r_print refs 2013-01-23 01:53:32 +01:00
pancake
2365918652 Fix slow ELF loading and add anal hints support to projects
Fix slow ELF loading when shstr section was huge
Added 'ahj' command to list anal hints in json
Add 'ah*' and use it from r_core_project
Fix 'i*' command
2013-01-22 18:08:33 +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
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
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
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
51b7147df6 Add asm.linesright to show lines before opcode instead of offset 2012-12-19 01:28:34 +01:00
pancake
0f6b4e34e1 Fix null pointer in disasm 2012-12-18 15:46:00 +01:00
pancake
a14f48918f Fix build and pdj on invalid opcodes 2012-12-07 16:00:36 +01:00
pancake
70b037e154 Show refs in disasm, better analysis for ARM and x86-16
Fix status line bug in visual debugger
2012-12-07 03:12:25 +01:00
pancake
83da070d44 Fix fcn lines in disasm, minor fix in meta
Initial work to fix linux32 debugger on linux64
2012-12-06 03:11:40 +01:00
pancake
475372ec2c Fix archbits in overlap mem, fixes for ad, pd and segmented addressing
Fix invalid wide string identification in 'ad' command
Temporal blocksize syntax ':' has changed to '!'
  - x @ 1024!33
Fix overlapped IO sections handling
Add support for segmented address in temporal seek
Fix disassemlby to print more lines than blocksize
2012-12-06 00:55:22 +01:00
pancake
84002a421f Better new WebUI, fix pdf,pD, implement http.timeout and more
Enhacements in the new webui
Fix r_socket_block_time()
Implement assembler for the 1bit arch RAR (wip)
Fix pdf, pdb and pD (print_disasm)
Implement http.timeout and http.sandbox
2012-12-03 04:01:55 +01:00
pancake
b6c5e7dc72 Honor meta item length in core disasm 2012-11-20 04:22:16 +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
56b442fb70 Fixes in RCore's disassembler 2012-11-13 04:38:26 +01:00
pancake
23bd67ce59 Fix 'invalid' instructions in disassembly (reported by xvilka) 2012-11-13 04:09:59 +01:00
pancake
25df4aef1c Fixed io ports flagspace usage and multiple asm filters
Handle negated flagspace in RParse
Support pseudo+decode+disasm
2012-11-13 02:00:00 +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
1a6d3155e5 Enhace r2wui and implement 'pdj' command (disasm to json) 2012-11-08 09:49:27 +01:00
pancake
21c4d1c5f5 Enhace ARM disassembly and code analysis 2012-11-05 06:01:55 +01:00
pancake
ece5d5b61d Analyze LEA re-references on x86-64 style code 2012-10-30 10:08:06 +01:00
pancake
5ae5849992 Implement support to associate comments to flags 2012-10-26 10:00:22 +02:00
pancake
94b001265a Fix mach0 ehdr header, new $S and $SS vars, Vdr
Show xrefs before comments
cmtright is false by default
Fix ehdr virtual section on mach0 files
Addr 'Vdr' command to rename functions in visual
Add $S and $SS variables (section offset, section size)
2012-10-26 01:33:57 +02:00
pancake
38628b4e17 Fix ELF loader and segfault in disasm->hexdump 2012-10-17 12:13:23 +02:00
pancake
7e9af106bb Implement RAnal.fcn_del_locs() to fix Vdu and af-
New commands: fx and fxd to show contents of flags
Fix pZ-pz help message and stuff
fF in visual is now nN
nN in visual has been deprecated
sfF also renamed to snN
sn renamed to so
e scr.fkey is now scr.nkey
Beautify the disasm loc functions
Toggle breakpoints with 'b' in visual
2012-09-28 02:20:52 +02:00
pancake
d00cc922fb Fix uninitialized variable use in arc disassembler
Fix invalid malloc in generic disasm
2012-09-23 18:10:37 +02:00
pancake
4909348b6e Fix disasm and autocomplete af* commands
Fix typos in help messages
Show 'b' where breakpoints are
2012-09-20 23:32:20 +02:00
pancake
2e83fa67b8 Fix python bindings: do not use homonim methods and fields 2012-09-19 14:08:44 +02:00
pancake
063ed1615a Add demo graph view for www, add pad command remove a8
Enhacements for the r2irc bot (code cleanup and config)
Fix r_bin.vapi and other nodejs related issues
2012-09-19 03:15:36 +02:00
pancake
cd30c0c0e4 Various little bugs fixed and pz/pZ renaming
Fix r_core_system pipes after scr.interaction
Fix 'ao N' (parse argument)
Fix segfault in p= N >blocksize
Split BBs in pdr with '--'
Add help for ps?
Do not show invalid rahash2 -a entropy at the end of p=e
pz is now psz
pZ is now pz
2012-08-29 17:24:30 +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
f75817ee6c Initial work on supporting payloaded opcodes
Basic classes support for dalvik (rabin2 -C, ic*)
2012-08-22 18:02:23 +02:00
Anton Kochkov
e43a1f921d Deep integration of complex types - build fixed 2012-07-22 12:41:53 +04: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
810d9a3dbc * Put rax2 buf in .bss instead of the stack
* Add support for wide string dump in r_bin
* Fix detection of data section in PE
* Show error if temporary seek flag does not exists
* Fix wrong disassmbly with 'pd' (invalid)
2012-05-30 03:23:53 +02:00
pancake
beac4bbc24 * More fixes in the code analysis loops
* Properly detect end of functions in visual
* Apply rudi_s patches for cache
* Show push flag information if available as a comment
* Clear screen after quiting Visual
* Remove unused function
2012-02-16 01:26:50 +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
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
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
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
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
07620cd50c * Fix AT&T X86 disassembler when facing invalid instructions
- This bug was reported by @hteso
* Apply @earada patch hiding cursor in visual mode
* Honor asm.size config variable
2011-12-02 01:58:34 +01:00
pancake
76b68079ee * Handle int3 on x86 as a trap instruction instead of SWI
* Make 'fd' work without arguments
* Added r_flag_get_at () to handle deltas
  - Show it in visual title
  - Used by 'fd'
* Colorize trap instructions in bright red
2011-11-22 01:42:16 +01:00
pancake
d7f2c850be * Add initial native support for fat binaries in r2
- Select arch/bits with r2 -a and -b (old -b is now -B)
  - Kinda hacky, but works for osx-x86/32/64
  - Export offset information of fat bins
* Show flags in search output
* Disable interactive console in rabin2
* Do not comment int3 opcodes
2011-11-22 00:59:20 +01:00
pancake
c16d61b370 * Add missing fs/types.h
* Fix many memory leaks in r_anal_{op,cond}
* Fix signature of r_fs_name()
2011-11-14 00:21:25 +01:00
pancake
0f271a8bac * Added api to get opcode descriptions
- r_asm now depends on r_db (uses r_pair aka sdb)
  - r_asm_describe()
  - install opcode descriptions
  - Use ?d to get description of opcode (uses asm.arch)
* Add 'fl' command to get length of flag
* Fix some warnings in anal.sparc plugin
* Add new assembler directives
  - .int8 (alias of .byte)
  - .int16 (alias of .short)
  - .int32 and .int64
* Fix memory leak in r_core_disasm()
* Add accessors for RAnalFcn.{refs,xrefs,vars,bbs}
  - Updated bindings
2011-11-12 01:52:31 +01:00
pancake
f94e93aa40 * invert offset colors in program counter address 2011-10-14 03:31:04 +02:00
pancake
ebb04f2e8f * Fix overflow in rasc2 (needs more work)
* Remove pragma pack(push) in x86im
* Remove analysis reference memory reads error messages
2011-07-03 01:51:20 +02:00
pancake
7319208c8f * More visual fixes for the comments in disassembly
- Added asm.cmtright=true eval config variable
* Add missing r_magic.deps
2011-09-12 03:26:32 +02:00
pancake
4a3d7bc1db * Show comments at right of disasm if they fit in screen
- Added r_cons_get_column () api
* Fix ';' in visual (0 prefix)
* Update pkg-config files
* Fix sys/vala.sh
  - Use ccache if possible
* Add r_magic.vapi
2011-09-12 03:01:07 +02:00
pancake
323441c122 * Initial import of r_magic
- Imported code from OpenBSD trunk
  - Remove the elf part (-1KLOC)
  - Some refactoring in order to be more r2-like
  - fixed warning messages
  - readdir one can be dangerous /cc @vect01
  - Remove libmagic dependency
* Rename asm.case into asm.ucase
2011-09-10 01:30:03 +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
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
12816468f6 * Refactoring of the TODO tasks
* Add dummy 'dca' command. needs to be implemented
* Reload all symbol information when io.va changes
* Only print jumpkey references in visual mode
* Reduce the autoblocksize in visual for disassembly
2011-09-03 03:10:01 +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
b4a63953c7 * invalid instructions in x86 (udis86) should be length=-1 2011-08-30 00:42:18 +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
6d5bef5976 * Use hg manifest in make dist
* Honor r_bin_use_arch arch and bits information for r_bin_create
* Implemented sC command to seek by comment matching
* Fix one byte Color_RESET in r_print
* Minor refactor in rasm newlisp example
2011-08-27 03:31:55 +02:00
pancake
efb113ce8b * Fix '// ?' pseudodecompiled issue
- Thanks l0gic for reporting!
2011-08-18 17:03:45 +02:00
pancake
7a79f92c82 * Fix pdi with no args
* Fix bug in dietline autocomplete
2011-07-07 02:04:42 +02:00
pancake
0528e66fda * Disable asm.dwarf until reimplemented
* Some more code cleanup in gdbwrap plugin code
2011-06-30 21:35:15 +02:00
pancake
ef375bf85d * Fix macro definitions
* Handle asm.flags in core_disasm
2011-06-26 21:24:22 +02:00
pancake
10fdf33d64 * Fix segfault in core/print_disasm 2011-06-23 01:01:27 +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
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