Commit Graph

11422 Commits

Author SHA1 Message Date
pancake
2138ca700c Fix #5019 - registers are now accessible by index 2016-05-31 14:11:09 +02:00
Karol Harasim
cdd4f70814 Add support for pch (2 byte C dump mode) (#5047) 2016-05-31 13:35:31 +02:00
Álvaro Felipe Melchor
fa15260d21 some refactoring in pe format code (#5039) 2016-05-31 12:16:57 +02:00
Karol Harasim
92018cc381 Add ah. command to show hints in current offset. Fix ah? too. (#5045) 2016-05-31 11:50:35 +02:00
oblique
be4b061eda r_str_ansi_crop: Reset color on new line (#5048)
Fixes #5036
2016-05-31 11:50:12 +02:00
@bezjaje
aa02c43af9 r2pm: added esilburner package (#5051) 2016-05-31 11:49:43 +02:00
pancake
eca8aaedc2 Add C# plugin r2pm package 2016-05-31 11:10:30 +02:00
pancake
27ae76a7dc Show licenses in rlang plug listing 2016-05-31 10:39:34 +02:00
pancake
176a735927 Add cmdf callback and license in RLang 2016-05-31 02:32:30 +02:00
Álvaro Felipe Melchor
8939958569 Fix #5040
oob read in init_dynamic_section elf format code
2016-05-30 21:51:18 +02:00
pancake
c64eeaa266 Initial implementation of asm.assembler to select different assembler plugin than the disasm 2016-05-30 18:53:32 +02:00
pancake
e458901033 Fix jmptbl regression 2016-05-30 15:30:55 +02:00
pancake
cd776862ef Fix some trailing spaces in pc 2016-05-30 13:19:03 +02:00
Karol Harasim
c34181af02 Disasm refactorings. (#5043) 2016-05-30 12:35:39 +02:00
oblique
f8836c19b5 Fix glitch in disasm (#5031) 2016-05-30 04:22:20 +02:00
Duncan Ogilvie
216de66e68 fixed jcc (#5034) 2016-05-30 04:21:02 +02:00
Duncan Ogilvie
021a3ea8b2 Update x86 (#5035) 2016-05-30 04:20:29 +02:00
Duncan Ogilvie
18ffea18cc added/fixed various cmovXX opcodes (#5033)
As per the Intel manual:

```
CMOVcc - Conditional Move:
| Opcode          | Instruction       | Op/En| 64-Bit Mode| Compat/Leg Mode| Description                            
| 0F 47 /r        | CMOVA r16, r/m16  | RM   | Valid      | Valid          | Move if above (CF=0 and ZF=0).         
| REX.W + 0F 43 /r| CMOVAE r64, r/m64 | RM   | Valid      | N.E.           | Move if above or equal (CF=0).         
| 0F 42 /r        | CMOVB r16, r/m16  | RM   | Valid      | Valid          | Move if below (CF=1).                  
| REX.W + 0F 46 /r| CMOVBE r64, r/m64 | RM   | Valid      | N.E.           | Move if below or equal (CF=1 or ZF=1). 
| 0F 42 /r        | CMOVC r16, r/m16  | RM   | Valid      | Valid          | Move if carry (CF=1).                  
| REX.W + 0F 44 /r| CMOVE r64, r/m64  | RM   | Valid      | N.E.           | Move if equal (ZF=1).                  
| 0F 4F /r        | CMOVG r16, r/m16  | RM   | Valid      | Valid          | Move if greater (ZF=0 and SF=OF).      
| REX.W + 0F 4D /r| CMOVGE r64, r/m64 | RM   | Valid      | N.E.           | Move if greater or equal (SF=OF).      
| 0F 4C /r        | CMOVL r16, r/m16  | RM   | Valid      | Valid          | Move if less (SF!= OF).                 
| REX.W + 0F 4E /r| CMOVLE r64, r/m64 | RM   | Valid      | N.E.           | Move if less or equal (ZF=1 or SF!= OF).
| 0F 46 /r        | CMOVNA r16, r/m16 | RM   | Valid      | Valid          | Move if not above (CF=1 or ZF=1).      
| REX.W + 0F 42 /r| CMOVNAE r64, r/m64| RM   | Valid      | N.E.           | Move if not above or equal (CF=1).     
| 0F 43 /r        | CMOVNB r16, r/m16 | RM   | Valid      | Valid          | Move if not below (CF=0).              
| REX.W + 0F 47 /r| CMOVNBE r64, r/m64| RM   | Valid      | N.E.           | Move if not below or equal (CF=0 and   
|                 |                   |      |            |                | ZF=0).                                 
| 0F 43 /r        | CMOVNC r16, r/m16 | RM   | Valid      | Valid          | Move if not carry (CF=0).              
| REX.W + 0F 45 /r| CMOVNE r64, r/m64 | RM   | Valid      | N.E.           | Move if not equal (ZF=0).              
| 0F 4E /r        | CMOVNG r16, r/m16 | RM   | Valid      | Valid          | Move if not greater (ZF=1 or SF!= OF).  
| REX.W + 0F 4C /r| CMOVNGE r64, r/m64| RM   | Valid      | N.E.           | Move if not greater or equal (SF!= OF). 
| 0F 4D /r        | CMOVNL r16, r/m16 | RM   | Valid      | Valid          | Move if not less (SF=OF).              
| REX.W + 0F 4F /r| CMOVNLE r64, r/m64| RM   | Valid      | N.E.           | Move if not less or equal (ZF=0 and    
|                 |                   |      |            |                | SF=OF).                                
| 0F 41 /r        | CMOVNO r16, r/m16 | RM   | Valid      | Valid          | Move if not overflow (OF=0).           
| REX.W + 0F 4B /r| CMOVNP r64, r/m64 | RM   | Valid      | N.E.           | Move if not parity (PF=0).             
| 0F 49 /r        | CMOVNS r16, r/m16 | RM   | Valid      | Valid          | Move if not sign (SF=0).               
| REX.W + 0F 45 /r| CMOVNZ r64, r/m64 | RM   | Valid      | N.E.           | Move if not zero (ZF=0).               
| 0F 40 /r        | CMOVO r16, r/m16  | RM   | Valid      | Valid          | Move if overflow (OF=1).               
| REX.W + 0F 4A /r| CMOVP r64, r/m64  | RM   | Valid      | N.E.           | Move if parity (PF=1).                 
| 0F 4A /r        | CMOVPE r16, r/m16 | RM   | Valid      | Valid          | Move if parity even (PF=1).            
| REX.W + 0F 4B /r| CMOVPO r64, r/m64 | RM   | Valid      | N.E.           | Move if parity odd (PF=0).             
| 0F 48 /r        | CMOVS r16, r/m16  | RM   | Valid      | Valid          | Move if sign (SF=1).                   
| REX.W + 0F 44 /r| CMOVZ r64, r/m64  | RM   | Valid      | N.E.           | Move if zero (ZF=1).
```

* fixed typo

* or -> nor
2016-05-30 04:20:19 +02:00
oblique
238cf897b8 Fix ptr comment colorization (#5032) 2016-05-30 04:20:04 +02:00
pancake
4de809061a Add MJMP optype, pxt command and enhance anal.jmptbl for x86-64 (wip) 2016-05-30 04:18:48 +02:00
pancake
71537eedf0 LEA instructions get hotkeys in visual disasm too 2016-05-30 02:12:17 +02:00
pancake
16d0396b8f Fix /A, add MJMP optype, and op.reg for UJMP 2016-05-30 00:38:35 +02:00
Álvaro Felipe Melchor
c1d2e0223e Fix #5037
oob write in anal_x86_cs.c
2016-05-29 21:51:41 +02:00
Ahmed Mohamed Abd El-MAwgood
0c2b3d7391 removing trailing spaces from t commands (#5028) 2016-05-29 11:37:59 -04:00
Sushant Dinesh
f5ca358aee Fixes x86 to ESIL lifting memory operands (#5029)
Closes #5027
Closes #4431
2016-05-29 12:11:04 +02:00
Chinmay Deshpande
1cffc55fe0 Adds autocompletion for afan (#5016)
* Adds autocompletion for afan

* Removes duplication
2016-05-29 10:38:17 +02:00
pancake
78a26275e1 Monitor opcodes are not traps in dalvik 2016-05-29 01:35:41 +02:00
oblique
dc8bf4d6e8 Add 'floc' in palette's keys (#5025) 2016-05-29 00:06:12 +02:00
oblique
f4e81720b6 Add behelit theme (#5026) 2016-05-28 23:04:30 +02:00
oblique
d692aa441e lookup_rgb now looks for the extended colors only
We do this because non-extended colors usually are used by users
to change the theme of their terminal, so they will be different from
the default ones.
2016-05-28 14:58:28 +02:00
oblique
e6381db6b4 Initialize 256 color table in the correct place
Because `color_table` was initialized only in `unrgb`, `rgb` was returning
values only from `approximate_rgb`. So if we call `rgb(0x5f, 0x87, 0xff)` it
will return `75` (i.e 5fafff) instead of `69`.
2016-05-28 14:58:28 +02:00
oblique
416edaea45 ANSI 256 colors have RGB values from 0 until 5 inclusive, not 0 until 6 2016-05-28 14:58:28 +02:00
Sven Steinbauer
c58689bae1 Fixes for mov op for nz assembler (#5020)
A number of fixes and updates to the `mov` command for the nz assembler
including:

* handling of `esp` register in more cases
* able to handle negative offsets for target register both byte and word
* able to handle negative offsets for target with immediate value as
        source, both byte and word
* refactor mov block of code to be more consistent (further work needed)
2016-05-27 18:11:01 +02:00
hummypkg
60a7e601cc add some missing MIPS pseudo instructions, fix others (#5022) 2016-05-27 16:12:27 +02:00
@bezjaje
dcac88091b Fixed typo in setting "gp" value in disasm (#5017) 2016-05-27 13:24:42 +02:00
pancake
62ca3a6d63 Fix #5021 - dbc argument parsing issue 2016-05-27 13:14:43 +02:00
Sushant
86b19bf7df Fixes esil mips signed compare 2016-05-27 15:56:20 +05:30
Sushant
75adfbdc6c Fixes esil signed comparisons when size != 64 2016-05-27 15:21:03 +05:30
Sushant Dinesh
b7a81e88b2 Fixes esil comparison instructions and of computation (#5015)
- esil comparison functions esil_(bigger/smaller/bigger_eq/smaller_eq/cmp) are
now consistent in setting vars for flag computation as well as pushing the
result of a signed comparison onto esil stack.
2016-05-26 18:38:40 +02:00
Ahmed Mohamed Abd El-MAwgood
f65e56364a Adding colors to r2 2048 (#4994) 2016-05-26 16:58:02 +02:00
Karol Harasim
be26c2d402 Increase DEBUG_ABBREV_CAP from 16 to 32. (#5014) 2016-05-26 16:57:29 +02:00
Sushant Dinesh
2adcea4a85 Esil internal set (#5012)
* Generalizes set/unset

- This commit makes set/unset more generic by allowing any value to be assigned
to a register (as opposed to just 0/1 before) without any side effects.
- $[0-9]* represents a value to be set, in decimal representation, without
having any side effects of changing esil vars old, cur and lastsz and hence
not affecting the flag computations. Example: Set rax to 100. ("$100,rax,=").
2016-05-26 16:56:46 +02:00
pancake
b85f5cca78 Bump for 0.10.4-git 2016-05-26 12:33:22 +02:00
pancake
2d3a69b7a0 Fix linux-arm build 2016-05-26 12:29:24 +02:00
NikolaiHampton
2c50dd0c59 Memory efficient implemenation of Levenshtein Distance for radiff2 (add -V)
Implemented the iterative two matrix row version from here: https://en.wikipedia.org/wiki/Levenshtein_distance
and here: http://www.codeproject.com/Articles/13525/Fast-memory-efficient-Levenshtein-algorithm

Memory usage was originally 200Gig for a couple of 100K files ~(sizeA*sizeB), now about ~(sizeB*2)...
2016-05-26 11:03:01 +02:00
@bezjaje
a38b176ba4 ESIL: poke_some bugfix (#5009)
* ESIL: poke_some bugfix

* + code style
2016-05-26 00:02:19 +02:00
pancake
f05c81b074 Update rapatch documentation 2016-05-25 23:37:41 +02:00
pancake
132b173b87 Refactoring $B and decompose $F into $FB $FE $FS and $FI + code cleanup 2016-05-25 23:34:06 +02:00
Sergei Trofimovich
36db36f85e libr/socket/run.c: fix use of uninitialized value (#5010)
Noticed by gcc:
 * QA Notice: Package triggers severe warnings which indicate that it
 *            may exhibit random runtime failures.
 * run.c:65:5: warning: ‘p’ is used uninitialized in this function [-Wuninitialized]

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2016-05-25 22:00:52 +02:00
Roi Martin
45c36da9c3 Save scr.highlight in project files (#5008) 2016-05-25 18:20:50 +02:00