Luc Tielen
91d67d6894
Refactor loading of elf libs ##bin
2023-04-20 16:51:33 +02:00
Luc Tielen
19dc41dc7a
Refactor elf loading of relocs ##bin
2023-04-20 14:47:45 +02:00
pancake
34e659dbac
Remove unused variable
2023-04-20 12:13:52 +02:00
pancake
5e4a86f564
Fix ininite loop in the ext2 grub code (DDoS) ##crash
2023-04-19 19:40:49 +02:00
pancake
fa21d2b32e
Fix 8 byte oobread on pkcs7 parser ##crash
2023-04-19 17:25:28 +02:00
Luc Tielen
093d583000
Refactor even more loading of elf sections ##bin
2023-04-19 07:22:22 +02:00
Luc Tielen
923df4761c
Refactor elf loading of sections ##bin
2023-04-19 07:22:22 +02:00
pancake
872e02dff9
Branch prediction optimizations (3/3) ##performance
2023-04-18 17:48:13 +02:00
pancake
433917e551
Branch prediction optimizations (2/3) ##performance
2023-04-18 16:10:44 +02:00
pancake
b44f8d3f3c
Branch prediction optimizations (1/3) ##performance
2023-04-18 16:10:16 +02:00
pancake
c8e62e19ba
Add greepy color theme (green + pink + white) glitch-style ##cons
2023-04-18 15:52:15 +02:00
pancake
825cb98ebe
Tiny check fixes in RCoreCmd()
2023-04-18 15:11:48 +02:00
pancake
5527376f36
Use RCore.cmdCall() and just replace pointers for -A
2023-04-18 10:20:58 +02:00
Luc Tielen
7ee8fb77a2
Refactor mach0 loading of relocs ##bin
2023-04-17 18:36:18 +02:00
pancake
86d77e2a54
Silent warning on empty dwarf blocks ##bin
2023-04-17 16:38:37 +02:00
pancake
35c7ab6f50
Unused var had a meaning in the xnu kernelcache parser ##bin
2023-04-17 13:42:00 +02:00
pancake
b56efb0ad3
Fix UAF in the dwarf parser ##crash
2023-04-17 13:41:28 +02:00
Ildar Sadykov
2874ef7125
Implement r_str_tok_r without breaking abi
...
* reduce the strtok usage
2023-04-17 00:52:31 +02:00
pancake
91f8fef027
Add build optimization and precondition check levels in -v ##shell
2023-04-14 17:59:32 +02:00
pancake
5135fe4600
Fix 1 byte oobread in the wasm disassembler ##arch
2023-04-14 15:48:45 +02:00
pancake
bb5adcdd20
Reuse RStr.version() from r2's '?V'/'-v' ##shell
2023-04-14 13:32:52 +02:00
pancake
0e6a470b25
Show '(asan)' in r2 -v when runnin sanitized builds ##shell
2023-04-14 13:32:52 +02:00
pancake
f585a3aa06
Fix non-null-terminated string in dwarf ##crash
2023-04-14 12:15:01 +02:00
pancake
db1d06da6b
Migrate s390.cs and fix the abidiff suppression rules ##arch
2023-04-14 11:26:23 +02:00
pancake
721f818364
Fix null deref in the dyldcache ##crash
2023-04-14 11:02:03 +02:00
pancake
9e64f8c14c
Fix oobread in swift field parser ##crash
2023-04-14 10:54:31 +02:00
pancake
10415ea004
100ms faster large tables listings
2023-04-13 20:22:37 +02:00
pancake
a2465476be
Fix 4 byte oobread in objc analysis on 32bit binaries ##crash
2023-04-13 19:50:56 +02:00
pancake
96282db512
Fix oobread in dwarf parser ##crash
2023-04-13 19:39:07 +02:00
Luc Tielen
3f153abffe
Refactor loading of mach0 sections ##bin
2023-04-13 18:20:09 +02:00
pancake
6741634429
Fix double free in debug traces
2023-04-13 16:42:13 +02:00
Luc Tielen
e943a97b26
Conditionally parse mach0 start symbols ##bin
2023-04-13 15:45:57 +02:00
Luc Tielen
81f596a4d9
Fix bug wrongly casting dyld/kernelcache to mach0 ##bin
2023-04-13 15:45:57 +02:00
Luc Tielen
1920cca725
Remove code, port dyld + kernel cache to new API ##bin
2023-04-13 15:45:57 +02:00
pancake
ce37e3e4b1
Fix UAF in the p9 parser ##bin
2023-04-13 14:44:10 +02:00
pancake
6ff7ee9dda
Fix status register in the regprofile for darwin-arm64 ##debug
2023-04-13 11:52:36 +02:00
pancake
185eb5afe2
Fix oobread crash in the visual bit pixel editor ##crash
2023-04-13 11:50:01 +02:00
pancake
0b97bd37aa
Another dwarf null deref ##crash
2023-04-13 11:05:05 +02:00
pancake
05ca1adf56
Code cleanup in visual.c
2023-04-13 10:56:19 +02:00
pancake
60f8492f2b
Rename R_CONST to R_TAG and add unit tests for them ##api
2023-04-12 22:37:12 +02:00
pancake
eaea585b0d
Fix asm.pseudo for arm64's stur instruction ##disasm
2023-04-12 21:41:27 +02:00
pancake
d31d72491b
Migrate the ppc.gnu plugin ##arch
2023-04-12 21:05:09 +02:00
pancake
8978d445a3
Implement 128bit regstore esil emulation ##esil
...
* Add test case for the arm64 q0 register
2023-04-12 20:53:24 +02:00
pancake
9618cf91e4
Dont display the cpu flags if the arch doesn't support them ##debug
...
* This is done in visual thru the drcq command
* RISCV is one of those archs. Tested in real hardware
2023-04-12 19:51:42 +02:00
pancake
75ab029976
Implement 'uname -a' flag ##shell
2023-04-12 19:31:32 +02:00
pancake
29fad286b2
Adjust bpcount and use typedefs instead of structs in bps ##debug
2023-04-12 00:32:22 +00:00
pancake
9a43f62e53
Define RISCV breakpoint instructions ##debug
2023-04-12 00:27:43 +00:00
pancake
3456d0d16e
Fix oobread in the xcoff64 parser ##crash
2023-04-12 18:07:13 +02:00
pancake
90dc5c64f7
Fix an 1byte oobread in the pyc plugin ##crash
2023-04-12 18:01:43 +02:00
Luc Tielen
06b6f85581
Migrate m68k_gnu plugin ##arch
2023-04-12 17:53:32 +02:00
pancake
fb4a0bdfdc
Improve the riscv analysis ##arch
...
* Fix inconsistencies between disasm and opinfo
* Fixes emulation of calls and jumps
* Fix type confussion x=(addi 0, y/lea y/ mov y)
* Fix "li" as mov not as load
* Fix esil emulation for riscv's jr/li/mv ##arch
2023-04-12 17:52:59 +02:00
Luc Tielen
3e812278b5
Refactor loading of mach0 symbols ##bin
...
* Use RVector instead of handmade
* Replace sdb with ht for performance in mach0 parser
* Mark flacky test as broken
2023-04-12 16:51:30 +02:00
Luc Tielen
47d88743bd
Migrate S390 GNU plugin ##arch
2023-04-12 15:59:51 +02:00
pancake
e5a10638f7
Fix warnings on xattr io plugin on linux
2023-04-12 12:47:33 +02:00
pancake
277e0aa606
Fix #21559 - k&r syntax is deprecated for c2x compat reasons
2023-04-12 11:56:24 +02:00
pancake
21414a0dc8
Fix REG_SP redefinition on rv64 builds
2023-04-12 11:24:58 +02:00
pancake
77b091d618
Avoid large allocation in the elf parser ##crash
2023-04-12 11:06:21 +02:00
pancake
c2801306f3
Check for null pointers in uleb and dwarf ##crash
2023-04-12 11:06:21 +02:00
AlexanderKucherov
d5e8678c10
Fix #21576 - Function stack frame size in case of FP register in a Thumb's PUSH ##anal
2023-04-11 23:29:31 +02:00
Luc Tielen
494c21467b
Refactor loading of mach0 libraries ##bin
...
* Use less allocations in mach0 parser
Co-authored-by: Luc Tielen <ltielen@nowsecure.com>
Co-authored-by: pancake <pancake@nowsecure.com>
2023-04-11 23:19:04 +02:00
pancake
caf010de2a
Fix SocketNotificationRetrieveEvents already defined issue ##build
2023-04-11 16:59:34 +02:00
Luc Tielen
38d0257b74
Implement review remarks for mach0 import parsing ##bin
2023-04-11 16:05:53 +02:00
Luc Tielen
89d29a7b52
Refactor mach0 loading of imports ##bin
2023-04-11 16:05:53 +02:00
Luc Tielen
b0c267e827
Refactor string comparisons in macho parser ##bin
2023-04-11 16:05:53 +02:00
pancake
6b1d05e31b
Add -v, -vj and the 'r2.' command as a short for js oneliners ##shell
2023-04-11 15:10:20 +02:00
pancake
bf965bdd85
Implement zip0:// uri handler ##io
...
* Open the first file inside a zip
* Add test for zip0://
2023-04-11 14:30:03 +02:00
pancake
e89a521642
Only run 'diq' in visual when cfg.debug ##visual
...
* diq stands for debug process info, useless for esil
2023-04-11 14:30:03 +02:00
pancake
0fddb6c0d7
Implement pseudo for riscv's 'auipc' instruction ##disasm
2023-04-11 14:30:03 +02:00
pancake
9f90b76155
Large null:// allocation causing negative pointer issues on iobank ##io
...
* Crash reproducer 9e248945-73a7-4cd7-906b-1544a0a3cc36
2023-04-11 14:02:01 +02:00
pancake
c6ff4a7338
Fix oobread in omu command ##crash
2023-04-11 13:47:25 +02:00
pancake
70587b75da
Fix large allocation bug in the elf version parser ##crash
2023-04-11 13:01:43 +02:00
pancake
9a74377d69
Fix null derefs in the dwarf parser ##crash
2023-04-11 13:01:43 +02:00
pancake
9501a38638
Dont use strtok in the riscv plugin ##arch
2023-04-10 23:38:44 +02:00
pancake
109a8ddd0a
Fix '\xff' strings issue in bsd-rv64/arm64 ##disasm
2023-04-10 13:28:07 +02:00
pancake
767dc394f8
Improve code quality of the dmh
command
...
* Avoid strtok, strcmp ("\0") and other abominations
2023-04-10 12:54:51 +02:00
pancake
07df4144eb
Native debugger for OpenBSD and NetBSD on arm64 ##debug
2023-04-10 09:19:30 +02:00
pancake
4968d69f18
Migrate the hppa.gnu ##arch
2023-04-09 23:20:32 +02:00
pancake
b5cd2f3731
Improve RTable trailing spaces ##print
2023-04-09 18:07:50 +02:00
pancake
5bf6f11c9c
Add experimental zign.mangled to not use demmangled symbol names ##signatures
2023-04-09 18:07:50 +02:00
pancake
93b2886ade
Use "" command syntax for the z* output ##signatures
2023-04-09 18:07:50 +02:00
pancake
7f4992b588
Add demangled column in the symbol listing ##bin
2023-04-09 18:07:50 +02:00
pancake
f740d7b72e
Fix trailing spaces in table ##print
2023-04-09 18:07:50 +02:00
pancake
de31667fc8
Add LC_AOT_METADATA parsing support for mach0 ##bin
2023-04-09 12:42:11 +02:00
pancake
d7b083c068
Implement 'piE' command, like 'pie' but for bytes instead of ops ##print
2023-04-09 12:03:57 +02:00
pancake
590d6412fe
Dont emulate null instruction types, causing invalid analysis ##esil
2023-04-09 11:41:36 +02:00
pancake
e40490c5f2
Fix #21564 - 128bit support via [16] and RReg for arm64 ##esil
2023-04-09 11:41:36 +02:00
pancake
ce02212bfe
Migrate the sparc.gnu plugin ##arch
2023-04-09 01:48:18 +02:00
pancake
f4821f733a
Partial fix as an example for #21559
2023-04-09 01:03:52 +02:00
pancake
0cf6e7a5cc
Fix RReg.setValue on 128bit registers ##reg
...
* Still limited to 64bit values
2023-04-07 20:18:48 +02:00
pancake
c6a32fd1a0
Update tests
2023-04-05 18:50:09 +02:00
pancake
40f1ebe64c
Add support for ""ec in theme files ##cons
2023-04-05 17:32:18 +02:00
pancake
123bcd7e83
Improve color support in graphviz, still wip ##graph
2023-04-05 17:24:21 +02:00
pancake
1370752021
Improved instruction mask using the new aobm and anal.mask ##anal
2023-04-05 14:31:19 +02:00
pancake
25de52db5f
Initial implementation of the 'cgfa' command ##diff
...
* List all similar functions
2023-04-05 14:30:39 +02:00
pancake
259cf507f4
Add ?ee and ?ei command for stderr echos ##shell
2023-04-05 13:40:57 +02:00
pancake
91d5c5c98f
Add crosscompiled arm64 debian builds ##ci
2023-04-05 12:48:11 +02:00
pancake
b6d777275c
Better typescript entrypoint support and fake r2pipe ##lang
2023-04-05 11:29:22 +02:00
pancake
38d4b86693
Support running typescript files without r2's Gmain ##lang
2023-04-05 02:07:26 +02:00
pancake
46229e33ea
frida-compile bundles can contain anything, we only interpret/load the .js ones ##lang
2023-04-05 01:59:38 +02:00
pancake
00205c687d
Reuse recusion in c++ demangling with lower bounds ##bin
2023-04-05 01:52:01 +02:00
pancake
d8420d4dca
Improve brainfuck VM using ESIL and arch restrictions ##arch
...
* Instruction size must be 0xff instead of 32, to handle long jumps
* Registers are 32bit, so internal stack must use 32bit words
* Fix loop logic using simplified conditionals
2023-04-01 11:38:31 +02:00
Luc Tielen
58cc69f0dd
Migrate the brainfuck ##arch
2023-04-01 11:38:31 +02:00
pancake
2119dc6510
Fixes the bfbug losing arch setup after o malloc
##core
2023-04-01 00:11:51 +02:00
Luc Tielen
2292f29ae5
Remove unneeded line in meson build after plugin migration ##arch
2023-03-31 15:31:34 +02:00
Luc Tielen
98c025ff79
Migrate h8300 plugin ##arch
2023-03-31 14:53:40 +02:00
pancake
ac9452accf
Always use the return value of RTable.query() ##shell
2023-03-31 14:46:43 +02:00
pancake
8b741db5db
Dont list symbols when using is,:help
##shell
2023-03-31 14:46:43 +02:00
pancake
b7767dcc80
Fix UAF in RStr.replaceIcase() spotted by coverity ##util
2023-03-31 13:53:10 +02:00
pancake
a8143d8fb2
Migrate the pyc plugin ##arch
2023-03-30 16:14:41 +02:00
Luc Tielen
1e2c75cf65
Migrate msp430 plugin ##arch
2023-03-30 15:56:37 +02:00
pancake
79ed7b39b6
Fix some oobread bugs in the ELF parser ##bin
2023-03-30 14:19:08 +02:00
Zhipeng Xue
887cda026b
Fix potential uninitialized value
2023-03-30 11:39:33 +02:00
pancake
471109294b
Support JK scrolling (+-5 lines) in modals ##panels
2023-03-29 22:46:19 +02:00
pancake
5e5bbab90f
Fix oobread in the msvc demangler ##crash
2023-03-29 21:55:48 +02:00
pancake
1c8d35b36f
Fix archinfo for v810 ##arch
2023-03-29 20:15:10 +02:00
pancake
2175715b0a
Add wip archinfo and wip regs and make mcs96 an arch plugin ##arch
2023-03-29 20:15:10 +02:00
pancake
df330b9107
Implement parsing optimization for dwarf5 ##dwarf
2023-03-29 18:09:52 +02:00
pancake
8a378cca41
Store column information in the addr2line database ##dwarf
2023-03-29 12:23:05 +02:00
pancake
2eb635193c
Add cmd.step config var to run a command after every debugger step ##debug
2023-03-29 11:36:35 +02:00
pancake
5b41faf4b1
Implement 'aoem' command to show memory refs via emulation ##esil
2023-03-29 11:36:35 +02:00
pancake
ec23985697
Filter zignature names before validation ##signatures
2023-03-29 11:21:01 +02:00
pancake
f5749b7732
Minor help improvements for afv and less eprintfs
2023-03-29 06:18:49 +02:00
pancake
8e15ae2b35
Fix two minor memory leaks
2023-03-28 23:05:32 +02:00
pancake
bed9f722b3
Fix uninitialized oobread in the elf parser
2023-03-28 22:57:33 +02:00
pancake
e2421ca83f
Fix UAF in radiff2 when using R_LOG apis after freeing RCore
2023-03-28 22:57:33 +02:00
pancake
05af4fc3bf
Make sys/sanitize be aware of the memory sanitize check ##build
...
* -fsanitize=address is only available on Linux/CLang
* Avoid infinite recursive loop when core-log is not initialized
2023-03-28 22:57:33 +02:00
Luc Tielen
43db095af7
Migrate ebc plugin ##arch
2023-03-28 20:32:59 +02:00
Luc Tielen
561032abe5
Migrate lh5801 plugin + add missing regprofile ##arch
2023-03-28 20:13:18 +02:00
pancake
a215f295a8
Migrate the pdp11 plugin ##arch
2023-03-28 15:42:28 +02:00
Luc Tielen
be83c2cee9
Migrate arc ##arch
2023-03-28 15:24:42 +02:00
pancake
648f28f7e2
Fix uninitialized memory bug in RCons
2023-03-28 11:29:58 +02:00
pancake
70a78f0943
Initial steps to support column details in dbginfo ##bin
2023-03-28 06:58:15 +02:00
pancake
1e0243be4b
Optimize dwarf parser reducing getsection for strp ##bin
...
* Down loading times from 20 minutes to 20s
2023-03-28 06:58:15 +02:00
pancake
bcc7a40a4e
Remove global in the DWARF parser ##bin
2023-03-27 20:58:19 +02:00
Luc Tielen
80197aa2ac
Support wcu command for new io cache ##io
2023-03-27 15:26:01 +02:00
Luc Tielen
bc96eae13c
Implement wcf command for new io cache ##io
2023-03-27 15:26:01 +02:00
pancake
635c434337
Add rasm2 -N to mimmic the r2 -N flag ##shell
2023-03-27 15:21:13 +02:00
pancake
459e071510
Use r2 -NN from r2r and extend the env for rasm2/rabin2 ##shell
2023-03-27 15:21:13 +02:00
pancake
d7e70604ba
More ELF cleanups on the symbol allocation logic ##bin
2023-03-27 15:20:42 +02:00
pancake
8c73bc6d89
Use more R_LOG instead of eprintfs in some commands ##shell
2023-03-27 14:52:32 +02:00
pancake
195a40edc3
Add search.badpage to customize badpage scan ##search
2023-03-27 13:32:54 +02:00
pancake
dd08b5ccf3
Fix null deref in dte ##shell
2023-03-27 13:28:25 +02:00
pancake
c1663224fd
Support big endian value search analysis (aav) ##anal
...
* Inspired by 2762beba68
2023-03-27 12:52:04 +02:00
tsunekoh
2d0a4eab55
Make main function detection for 64bit PE Arm64
2023-03-25 18:14:20 +01:00
pancake
73795bd161
Minor cleanup in the ELF parser ##bin
2023-03-24 17:00:04 +01:00
Luc Tielen
22d8cbf482
Fix segmentation fault when listing cache entries before init ##io
2023-03-24 13:39:47 +01:00
Luc Tielen
7378b2e543
Fix usage of cache in pde command ##io
2023-03-23 21:03:51 +01:00
Luc Tielen
92727d8008
Prevent multiple initializations of cache ##io
2023-03-23 21:03:51 +01:00
Luc Tielen
19792b9058
Fix cloning of cache ##io
2023-03-23 21:03:51 +01:00
Luc Tielen
0560990e10
Retain order of writes to cache during clone ##io
2023-03-23 21:03:51 +01:00