Commit Graph

4970 Commits

Author SHA1 Message Date
Jules Maselbas
14731d6366 Add anal plugin for kvx architecture
KVX is VLIW architecture, kind of like a DSP, it can execute more than
one "instruction" per cycle. Each cycle a bundle of instruction is
executed which is comprised of up to 6 instructions. The general rules
for bundle are: only one BCU instruction (which comes first); only one
LSU instruction; and up to 4 ALU instructions (depending on the type).

In assembly the end of a bundle is marked by a `;;` in an empty line,
here in r2 (to make things more compact and readable) the end of bundle
is appended after the last instruction, but beware that this is not valid
kvx assembly.
2022-03-02 13:56:34 +01:00
Lazula
0cb960087d Make grep begin, end, and negate properties per-word 2022-03-01 15:51:53 +01:00
Sergi Àlvarez i Capilla
99a3887e6a Add rasm2 and rax2 wasi/wapm packages ##build
* wapm install pancake/r2
  $ wapm run r2 -
* wapm install pancake/rax2
  $ wapm run rax2 1+1
* wapm install pancake/rasm2
  $ wapm run rasm2 -a x86 -b 32 -d 90
2022-02-16 10:58:03 +01:00
Sergi Àlvarez i Capilla
4a11460c9d Build fixes for wasi/wapm/wasm and update sdb ##build 2022-02-16 10:58:03 +01:00
Angel Diaz
aa849b682b Fix io/r_ptrace types definitions for FreeBSD (radareorg#19687) 2022-02-14 16:53:33 +01:00
Sergi Àlvarez i Capilla
d69b3d11b6 Initial import of the XALZ bin plugin ##bin
* Add tests for the XALZ file format
2022-02-10 19:59:17 +01:00
Sergi Àlvarez i Capilla
08bf7bc8c7 New r_inflate_lz4 API to reuse LZ4 across all libs ##api 2022-02-10 19:59:17 +01:00
meme
7ebcd4162a Add atomic primitives for Windows ##util 2022-02-01 08:14:58 +01:00
meme
60286162ae Add safe static lock initialization ##util 2022-02-01 08:14:58 +01:00
Dennis Goodlett
249222cfe7 Simpler var counting API ##analysis 2022-01-31 01:46:54 +01:00
pancake
7e7fd5835a
Add 'pFB' command to use the new BPLIST parser ##print
* Kudos to https://github.com/libimobiledevice/libplist
* Licensed under LGPL
* Add pj_kraw() api
* Add bplist00 magic and add tests for /m and pFBj
2022-01-30 22:30:10 +01:00
pancake
5e92a476cb
Merge asm.msp430 into anal (#19639) 2022-01-28 20:38:29 +01:00
Sylvain Pelissier
0698f0b8f9
Remove asm.m68k and merge disasm into the anal (#19637) 2022-01-28 09:30:15 +01:00
Sylvain Pelissier
61b2667d77
Remove asm.6502_cs and merge disasm into the anal (#19632) 2022-01-26 16:37:19 +01:00
pancake
3b8feb0d7a
Dont SIGINT in RCons when used in a thready way ##cons 2022-01-25 17:41:05 +01:00
RHL120
785e500a7e
A better way to check if a project has been saved ##projects
* Add a dirty var to RFlag, RAnal and RConfig
* Add  prj.alwaysprompt
* Add R_DIRTY() and R_IS_DIRTY()
2022-01-25 10:39:15 +01:00
Lazula
6b45040a4b
Implement pdu (#19616) 2022-01-25 03:14:52 -06:00
pancake
52f2f8a2bb Add scr.color.ophex to colorize 'px' with opcode type ##print 2022-01-24 00:00:10 +01:00
pancake
3c3bc79ebd Honor flag colors in 'px' hexdump ##print 2022-01-24 00:00:10 +01:00
Lazula
45160a5854
Add r_core_help_match() to get help for a specific command ##api
* Add exact argument to help_match
2022-01-23 23:40:15 +01:00
pancake
e8fdd5926f Initial import of the evm.cs plugin ##arch 2022-01-21 23:10:40 +01:00
pancake
cf2ae64e88 Make RCons thread-friendly ##core 2022-01-21 17:04:56 +01:00
pancake
792c2afe95 Improvements and fixes for the threading APIs ##util 2022-01-21 17:04:56 +01:00
Dennis Goodlett
7db2a30b56
Update r_file_mkstemp to work with sandbox (#19601) 2022-01-19 23:35:13 +01:00
pancake
f2995c2949
Introduce r_strf and stop using sdb_fmt ##util 2022-01-18 18:35:31 +01:00
Lazula
fda9a52982 Improve EPRINT_CHAR() and add EPRINT_PTR() for arbitrary addresses 2022-01-16 14:18:23 -06:00
pancake
5281f27aa5
Bring back the 32bit builds for Cydia ##build 2022-01-14 19:41:26 +01:00
Sergi Àlvarez i Capilla
902ec02b2c Add missing include for codemeta 2022-01-14 17:53:17 +01:00
pancake
fba739a1ee
Add ablc, ab-, Fix and optimize in af- and aafs ##analysis
* Add ablc, ab-, Fix and optimize in af- and aafs ##analysis

* delete dangling basic blocks after 'aafs' when using 'af-*'
* add test for aafs and ablc
* queue reanalysis on write, and mark detectwrite tests as broken
* function reanalisis tests in a separate file
2022-01-12 12:07:26 +01:00
Sergi Àlvarez i Capilla
fdc1ba6d6d Rewrite r_list_uniq with a faster algorithm ##core
* Adds _inplace() variant to avoid creating a new list
* Speedups aafs, aflm, pd, aflt and aflj
2022-01-11 23:29:47 +01:00
pancake
6ae845c991
Move asm/wasm into anal, and add new opasm() callback ##abi
* ABI break for all anal plugins
2022-01-09 22:55:34 +01:00
pancake
fb0ec6ed00
Use stdint like if there was no yesterday ##refactor
* stdint is needed to build r2, so there's no need to keep using
  those weak basic types anymore, and we can just alias them
2022-01-09 19:48:16 +01:00
Sergi Àlvarez i Capilla
ab1e0de94c Remove asm.hexagon, anal one is enough ##refactor 2022-01-07 03:24:07 +01:00
Sergi Àlvarez i Capilla
8194bfc6c2 Implement rarun2 time=true attribute ##shell 2022-01-06 21:40:01 +01:00
Dennis Goodlett
2a117d5f4f
Add Rabin Karp algorythm to ##search 2021-12-30 10:30:30 +01:00
Dennis Goodlett
d76bb693f2 Add r_search_maps to ##search 2021-12-30 10:30:13 +01:00
Lazula
ea630ca19f Kill HAVE_EPRINTF, replace with ifndef eprintf 2021-12-25 09:16:49 +01:00
junchao-loongson
efd05bc7e9
Add support for the new loongarch architecture ##analysis
* Disasm, emulation, analysis and ELF support updated
2021-12-23 12:37:29 +01:00
Dennis Goodlett
f8f9599154
Move /e to new search API ##search
* Move global var to struct
* Add r_cons_is_breaked
* Use RConsBind
2021-12-23 00:36:51 +01:00
Lazula
0c46ebfed2 Add newlines and hex markers to EPRINT macros 2021-12-22 15:37:22 -06:00
Lazula
ad749a0b1a Fix static/R_API function definition formatting
* Remove spaces before parens
* Remove spaces after asterisks
2021-12-21 20:58:12 +01:00
Lazula
b95440f5d6 Add EPRINT macros for debug printing with variable name 2021-12-21 20:58:01 +01:00
pancake
d11d623267 Use I64x instead of llx format strings for mingw builds too ##windows 2021-12-21 00:31:10 +01:00
pancake
bdb9b52fcb Initial import of the v850.np plugin ##disasm 2021-12-20 23:29:50 +01:00
pancake
a3c4bc388b Add prj.sandbox to enable experimental sandboxed project loading ##projects 2021-12-20 23:20:50 +01:00
pancake
b531513e96
Implement fine grained sandbox control ##security 2021-12-20 14:58:51 +01:00
pancake
034cd660e4
Add asm.bytes.opcolor configuration option ##disasm 2021-12-19 17:04:39 +01:00
pancake
681323267d
Refactor, improve and move chip8 support out of libr/asm ##asm 2021-12-17 11:21:52 +01:00
pancake
d24bf5b654 More build fixes, googlefuzz integration, add r_asm_cpus() api via the wip 'al' command 2021-12-17 00:15:38 +01:00
pancake
9986b6e464
Remove asm.ebc and merge disasm into the anal ##refactor 2021-12-16 18:27:45 +01:00