Commit Graph

1435 Commits

Author SHA1 Message Date
condret
53c5e8618a Fix tests for i4004 2022-06-01 08:39:40 +02:00
condret
7984fae603 Move i4004 asm to anal ##anal 2022-06-01 07:55:29 +02:00
pancake
cc6d99b71b Update output for some v850 tests 2022-05-31 03:43:51 +02:00
pancake
3b0ae93165
Fix last covs from recent changes (v850 spaces/uaf, macho/io nullderefs) 2022-05-31 02:14:16 +02:00
pancake
ebaa1ca210 Check return codes on some write() calls 2022-05-30 17:16:56 +02:00
pancake
f72af0713e Fix meson build and update v850 tests 2022-05-30 16:26:36 +02:00
pancake
575ef7265a
Remove the v850.gnu plugin ##asm 2022-05-30 14:13:09 +02:00
pancake
1bb66144aa
Fix disp[ep] regression for v850.np ##disasm 2022-05-30 12:52:46 +02:00
pancake
96c7bba68c Fix nullderef in ae?? 2022-05-30 10:47:29 +02:00
pancake
b4f1739565
Don't ignore invalid subcommands of i ##shell 2022-05-28 01:26:10 +02:00
pancake
1333c1e702
Implement and document iz* and izz* ##shell 2022-05-27 02:30:02 +02:00
rhl120
54dfebc93f Set the prj.name to "" on exit 2022-05-26 20:24:40 +02:00
pancake
93d9860f41
Add test for 'q' return code bug and minor cleanup r2r ##tests 2022-05-26 12:41:49 +02:00
pancake
73721d1ca4 Support gmake in the testsuite (BSD runs) ##tests 2022-05-26 11:45:59 +02:00
pancake
cefa1a7a30
Handle pd1 and pi1 (imm without space) ##shell 2022-05-26 11:16:48 +02:00
pancake
85c77e26b3 wb -> wX, wb = write big endian bits in byte ##write 2022-05-23 01:33:42 +02:00
pancake
b43fa41f2d Improve ascii art output of pfb ##print 2022-05-22 23:21:58 +02:00
pancake
5e48458dae
Initial implementation of pfb, binary formatting ##print
* pfb 3b2b10b foo bar cow
* Integrate with bit editor via '='
* Handle '=' in visual esil debugger
* Add tests and ascii-art output
* Handle bitvalue boundaries up to 64bits
2022-05-22 22:53:41 +02:00
pancake
8c5ffa6fe2
Use RArchConfig in RPrint ##api
* Unify seggrn, segbas, bits and endian into a single referenced struct
2022-05-22 01:02:56 +02:00
pancake
a7903b2612 pdrj: change JSON output, group instructions by basic blocks ##json 2022-05-21 03:55:41 +02:00
pancake
af4c941825
Add ec bgprompt for a colorful shell and visual prompts ##cons
* ec bgprompt=red blue ; ec prompt=green yellow
2022-05-20 21:47:30 +02:00
pancake
38f9bd6f8b Fix x64 test and lock regression 2022-05-19 23:03:30 +02:00
pancake
4a57e81cb6 Fix another race condition in the macho parser ##bin 2022-05-19 08:15:14 +02:00
condret
75b39537fa Remove RAnalPlugin.jmpmid and use ANAL_ARCHINFO_ALIGN instead ##anal 2022-05-18 06:37:15 +02:00
condret
8292fff042 Move VAX disassembler to anal ##anal 2022-05-18 03:26:04 +02:00
rax2
2db5006135
Support cls, clz for 32 and 64 bit registers in the arm64 assembler ##asm
* adding tests (64, 32 registers)  for cls, clz  aarch64 instructions
* implement a function for cls, clz 32, 64 registers
2022-05-17 16:29:01 +02:00
condret
03afa631ff Kill anal.endsize ##anal 2022-05-16 20:57:45 +02:00
pancake
c5a40784e1
Save and restore the register values ##projects 2022-05-12 16:29:23 +02:00
pancake
1a9e3faefc Update s390 tests without the at&t option 2022-05-09 00:55:01 +02:00
pancake
224b377aa0 Fix webtest script 2022-05-08 10:44:53 +02:00
pancake
b02c652713
Select 'arm' fatmacho slice on -a arm.v35 ##bin
* Was trying to select the 'arm.v35' arch sub binary
* Plugins specify the arch before a dot if any
2022-05-08 04:11:17 +02:00
pancake
0693e54354 Move 8051 test into db/tools/rasm2 and fix null deref in asm ##asm 2022-05-07 22:27:58 +02:00
pancake
d3a112e91a
Rename anal.cpp.abi to anal.cxxabi, and add options for dbg.malloc ##shell 2022-05-06 10:30:11 +02:00
gogo2464
a39c0001d8
Add 8051 disassemble/reassemble checks ##tests 2022-05-05 17:54:42 +02:00
pancake
4be0d2b9a4 Confirm project deletion and honor scr.interactive on reopen ##project
* Add broken test for projects reopen
2022-05-05 11:44:13 +02:00
pancake
a314a7ebde Add P* and P! to dump script and run shell in project dir ##projects
* Also makes Pd `diff` the project instead of deleting it
2022-05-05 10:05:07 +02:00
pancake
2285551007 damn linux 2022-05-03 13:46:11 +02:00
pancake
f598b68e41 Better error handling in pushd/popd ##shell 2022-05-03 13:21:31 +02:00
pancake
e645f522a0 Make this pushd test a bit more portable 2022-05-03 13:17:14 +02:00
pancake
86e7fd1a14 Fix #19830 - implement pushd/popd commands ##shell 2022-05-03 11:53:52 +02:00
pancake
bc5cea046e Fix last covs 2022-05-03 09:11:28 +02:00
pancake
cf888f19fd Improve binary input handling in rasm2 with 0b and Bx ##tools
* Skip _ separator `0100_0101` so its good for the eyes
2022-05-02 23:33:13 +02:00
pancake
ad20568b70 Handle mul and udiv in the arm64 assembler
* Fix arm64 assembler regressions
* Improve rasm2 binary input detection
2022-05-02 22:26:38 +02:00
pancake
0491b69033 R2_ env vars are overriden by !!, so setting asm.{arch,bits} is enough 2022-05-02 19:51:59 +02:00
pancake
8cfd779be6 Make this rasm2 test portable 2022-05-02 17:31:44 +02:00
pancake
6fb79e65cf Fix endian issue in binary input for rasm2 and add tests ##assembler 2022-05-02 16:17:41 +02:00
pancake
677a116795 Typedef facility under t for pf support ##types 2022-05-02 01:47:25 +02:00
pancake
cbd43edef5
Move tricore from asm to anal ##arch 2022-05-02 00:38:20 +02:00
pancake
b405e54f3f Fix asm/arch/cpu initialization issues 2022-05-01 22:18:43 +02:00
pancake
0da98904c1 Fix null derefs in anal.avr plugin and improve defaults ##anal 2022-05-01 22:18:43 +02:00
pancake
cdd4748192 Move asm.s390* into anal.s390* and fix aod when not using asm plugins ##refactor 2022-05-01 22:18:43 +02:00
pancake
7be543919e Fix #6647 - check map bounds in the pebble bin loader ##bin 2022-04-26 10:53:39 +02:00
pancake
abf317753c Fix #19990 - Fix aoml for non-x86 targets and add tests ##analysis 2022-04-26 00:02:23 +02:00
pancake
59f9681da4
Fix #7094 - Add direction information in xrefs ##analysis
* This PR breaks the ABI, so it won't go in until 5.7
* Needs new tests and massage the broken ones
* Remove duplicated reftype.toString() method
* Make more tests run on non-x86
* Update and fix tests
2022-04-25 22:19:23 +02:00
Sylvain Pelissier
5718360c03 Improve /ca speed and add JSON output for crypto function 2022-04-25 14:19:54 +02:00
pancake
138906e27f
Use RLog in RCons ##api 2022-04-25 01:12:44 +02:00
pancake
560f7fb424 Introduce r_arch.h. Use RArchConfig in RAnal and improve RRef api ##api
* Fix unaligned issue in hex asan test
2022-04-24 23:11:26 +02:00
pancake
4823451497 Fix build and tests
* Fix one x86-64-specific test to pass everywhere
2022-04-22 05:46:34 +02:00
Lazula
0404d2d845
Fix #19966 - Reset seek in r_debug_execute() to real PC ##debug
* Add return value output arg to r_debug_execute()
* Always restore the full 4k at the stack
* Fix maybe-uninitialized warning
* Use raw RCore->offset instead of RCore.seek()
* Move seek handling into cmd_debug()
2022-04-21 18:08:21 +02:00
pancake
664e8800d6 Remove all the deprecated abi apis 2022-04-19 15:40:29 +02:00
Lazula
724d23a6c0
Refactor, fix, and test dd command (#19842)
* Test dd commands
* Improve dd help text
* Move dd command into a self-contained function
* Take correct arguments for ddr and ddw
* Add O_CREAT to dd+ flags for python-style automatic creation
* Add permission checks to ddr and ddw

Linux debug file descriptor info bugfixes (`linux_desc_list()`)

* Fix normal files being reported as sockets due to inaccurate S_IFSOCK check
* Fix file descriptor permission reporting
* Implement offset checking functionality
2022-04-19 07:43:54 -05:00
pancake
e7816e4d67 Improve RLog API and usage, document R2_LOG_ vars in r2 -hh ##core 2022-04-19 11:14:57 +02:00
pancake
9598fe5592
Use wx+ instead of wx;s+16 in pc* command ##print 2022-04-19 01:50:37 +02:00
Lazula
1c5cbeaf45 Update tests 2022-04-19 01:49:12 +02:00
Lazula
81afa3aa98 Improve dx help and add dxa test 2022-04-19 01:49:12 +02:00
Lazula
540a357b8e Add dxrs command and tests for dx/dxr/dxrs 2022-04-19 01:49:12 +02:00
pancake
349d292986 Fix cmd_graph test when running on non-x86-64 2022-04-18 23:47:18 +02:00
pancake
f3b0097822 Update tests with new argument/variable ordering 2022-04-18 23:47:18 +02:00
pancake
bfa549eb43 Add tests for argument ordering issue #19876 2022-04-18 23:47:18 +02:00
pancake
3b3b83637e Fix #19876 - Smarter local variable and argument sorting ##disasm
* Fix tests
2022-04-18 23:47:18 +02:00
pancake
f933c5e86c Show args before vars in afv summary also in pd ##disasm 2022-04-18 23:47:18 +02:00
RHL120
7435f87982
Add an error return to r_core_project_cat ##projects
* Minor changes to r_core_project_cat
* Use core->num->value in r_core_project_cat
* Add a test
* Fix project return value
* Fix Pc return value test

Co-authored-by: Lazula
2022-04-17 18:58:26 +02:00
Lazula
8bc9678023
Fix trailing space in om command when map->name is empty (#19965) 2022-04-17 18:11:33 +02:00
Lazula
f3162fda40 Refactor and rename __core_cmp_bits to cmp_bits 2022-04-16 17:19:12 +02:00
pancake
c234538b8c
Fix #16335 - tp not handling blocksize properly ##types (#19955) 2022-04-13 20:43:30 +02:00
pancake
d4a7c58bd0 Fixes for the Trim.args() for ?e ##shell 2022-04-13 10:14:15 +02:00
pancake
cb097fe79b Fix three tests failing on non-x86-64 hosts 2022-04-13 01:38:45 +02:00
Dennis Goodlett
a0a5428154
Update byte signature flag name ##signatures 2022-04-12 11:31:27 +02:00
pancake
31cd732a00
Honor escaping semicolons in macro definitions ##shell
* WIP (disabled by default) make RStr.trimArgs() work on ALL commands
* Honor escaping special chars in command calls
* Add test for echo and macro definitions
2022-04-11 16:54:26 +02:00
pancake
13c2f23dd7 Fix #19940 - infinite loop in x/i on invalid instructions ##crash
* Also affects pdi and pde
2022-04-11 13:47:47 +02:00
pancake
296d094f36 Add the cmp command to compare two (alias) files ##shell 2022-04-10 18:16:18 +02:00
Lazula
0c4af43def Trim extra spaces before second argument in ?== 2022-04-09 22:38:20 -05:00
pancake
c566ff2f7e
Implement @c: temporal seek operator ##shell 2022-04-09 14:06:38 +02:00
pancake
6d5628cd96
Add psa command to print any kind of string ##print 2022-04-08 20:36:10 +02:00
Sergi Àlvarez i Capilla
153bcdc29f Fix oobread in NE parser ##crash
* Reported by @hmsec via huntr.dev
* Reproducer: necrash
* BountyID: 52b57274-0e1a-4d61-ab29-1373b555fea0/
2022-04-08 20:29:01 +02:00
Fernando Domínguez
8317a34b7e
Fix glob matching in several cases ##shell 2022-04-02 20:34:56 +02:00
pancake
6ffe920cf9
Add missing 'direction' field in the output of aoj ##analysis 2022-04-02 13:42:46 +02:00
Lazula
2a4f12d43d
Partial #19887 - Refactor, document, and test cw command (#19889)
* Change cmpwatch functions to bool to better report status
* Ensure existing watchers are correctly overwritten
* Speed up other cw commands by leaving list iteration early
* Emit output in subcommands when no watchers matched the query
* Add cwq and cwj
* Add cw tests
* Change cmd_cmp_watcher() to return int instead of void
* Add r2book reference
* Require confirmation before deleting or reverting all watchers
* Change watcher cmd to malloc'd char*
2022-03-31 11:07:32 -05:00
Sergi Àlvarez i Capilla
9857ac6d4e Add tests for return value emulation 2022-03-30 17:56:35 +02:00
condret
d1ebd1588a Fix bug in z/, that creates misplaced functions ##zign 2022-03-29 14:34:41 +02:00
Lazula
c7dfa70ade Remove last vestiges of newshell 2022-03-29 08:07:18 +02:00
pancake
374b86e866 Fix seek history for the 's..' partial seeks ##shell 2022-03-27 14:24:02 +02:00
pancake
42d05b7bd1
Add support for parsing swift metadata from macho binaries ##bin
* __const section is formatted as dwords
* Fix swift5 symbol demangling on iOS / macOS
2022-03-27 11:13:07 +02:00
pancake
3760bfcd8d
Add tests for the code tokenizer and fix <<= assignments ##util 2022-03-26 10:35:13 +01:00
max-lv
7043983bd2 Fix PPC ESIL of addis instruction ##esil 2022-03-25 23:01:26 +01:00
pancake
0fd97c27a7
Assume all machos are made by clang ##bin 2022-03-25 13:43:49 +01:00
pancake
801dd326a0 Remove the hexagon from anal ##analysis
* Too large (2.2MB) and too slow to build, time explosion with -O2
* It's outdated and not maintained, better use r2ghidra one
* Move this code into extras (or the updated one)
* Still available via r2pm
2022-03-22 01:04:34 +01:00
pancake
69815e22e4
Fix #19838 - Show pins in the disassembly as comments ##disasm 2022-03-20 10:49:53 +01:00
aemmitt-ns
8138a5d977
Add R0 and F0 aliases, add register profile for MSP430
* fix arp tests
2022-03-18 15:03:09 +01:00
Sergi Àlvarez i Capilla
b0f1c3716f Update tests related to the missing R0 in the regprofile for x86-64 2022-03-16 17:10:14 +01:00
Sergi Àlvarez i Capilla
e8c00902b7 Fix dirty esil regression 2022-03-16 16:43:40 +01:00
pancake
3020803a39 Fix aecs and add test emulating hello world without libc ##esil 2022-03-16 15:33:03 +01:00
Sergi Àlvarez i Capilla
43a2ee3686 Improve the way asm.nbytes plays with asm.flags.inbytes ##disasm 2022-03-15 17:43:36 +01:00
pancake
16b3ff90b0
Fix #19489 - Implement assembler for jrcxz ##asm 2022-03-15 17:42:48 +01:00
Sergi Àlvarez i Capilla
cedcd24508 Update tests 2022-03-15 11:40:03 +01:00
Lazula
d507bda91c Remove R_EMPTY and R_EMPTY2 2022-03-13 11:26:10 +01:00
pancake
63d4172d94
Fix last covs, mainly memleaks and update one test 2022-03-11 13:14:46 +01:00
pancake
b2cb721bf0
Restrict local vars and args in a 8KB range, otherwise skip ##analysis (#19811)
* Update and verify tests accordingly, new output is better
* Optimize function emulation by reusing bbdata
2022-03-10 16:45:59 +01:00
aandersonl
947cae8599 Adds afva in all fcns flags (if any) ##analysis
* Analyze vars only if variable `anal.vars` is set adds some tests for variable/arguments analysis fix in anal/mips
* Fix get_config as boolean and use expressions for analyze all functions
2022-03-09 16:56:07 +01:00
Lazula
90ce9c795e
Fix dd command and update tests accordingly ##debug
* Add quotes around filename for dd command
* Account for string argument size in r_core_syscall()
* Fix command comments for dd
* Use a constant static stack size in r_core_syscall()
* Allow passing an address of the filename in memory for dd
* Change consumeBuffer() to print_buffer_hex()
* Improve dsue error message
* Update egg tests
* buf ownership is transferred to egg, dont free
2022-03-09 10:20:49 +01:00
pancake
a5489ebff3 Update tests accordingly 2022-03-07 17:18:53 +01:00
Lazula
897624cbcc Clean up files in tests 2022-03-04 09:48:42 +01:00
Lazula
30038c13f7 Remove usage of wc and awk from tests 2022-03-04 00:27:01 +01:00
Sergi Àlvarez i Capilla
7269a3f5d4 Fix issue in asm.tabs.once causing iaito to trim instructions ##disasm 2022-03-03 13:15:02 +01:00
Lazula
55bfe93735 Fix problems in l command 2022-03-03 09:31:08 +01:00
Jules Maselbas
413951f5f1 kvx: Update test/db/cmd/cmd_k for new architecture KVX 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
Lazula
bc877cbef6 Kill dsjson, use PJ for java json, fix java prototypes j 2022-03-01 15:50:39 +01:00
Lazula
64edc476ff Add test for wtff 2022-03-01 07:26:00 +01:00
pancake
4df6a64945 Update to the latest capstone, fixing arm64 issue 2022-02-28 10:27:56 +01:00
pancake
9779982241 Find strings on maddr'd binaries with izz ##bin
* Test with and without the -m
2022-02-27 19:56:31 +01:00
pancake
19bb45f78f Honor ArchInfo.opalign in pia ##disasm 2022-02-26 00:57:05 +01:00
pancake
7cb30eaf0d Fix #19610 - Honor minopsz in pia ##disasm 2022-02-26 00:57:05 +01:00
pancake
61c2a5b9ba Fix wide32 string detection that caused to miss other ascii strings ##bin
* Update tests with more good strings and less false positives
* Ticket: https://github.com/radareorg/radare2/issues/19727
* Reproducer: rev.exe
2022-02-25 23:06:23 +01:00
pancake
4fa23038b3
Fix #19729 - Make pswj consistent with psw output ##print 2022-02-21 15:00:04 +01:00
pancake
6691d80989 Fix #19739 - Fix oobread in pv* and fix bug in pvj ##print 2022-02-21 14:15:50 +01:00
Dennis Goodlett
b6b56e700a Handle jump tables in agfm ##anal 2022-02-20 14:10:26 +01:00
Dennis Goodlett
f36e518cde
Add agfma to get assembly in mermaid graphs ##anal 2022-02-20 09:59:42 +01:00
Dennis Goodlett
eccee9beb7
Add agfm command to print cfg graphs using mermaid syntax ##analysis 2022-02-18 12:31:32 +01:00
pancake
33ce7e78a2 Add initial support for katakana ##charset
* Support multibyte charsets
2022-02-16 10:58:45 +01:00
Florian M
5a7ffe4c0a Add ELF reloc patching for R_386_32 and R_386_PC32 ##bin 2022-02-14 03:16:49 +01:00
Anton Kochkov
62d6d226ff Fix cmn, teq and tst in arm32 assembler ##asm 2022-02-14 02:00:05 +01:00
Sergi Àlvarez i Capilla
46236dc4bf Add test for the w+ command 2022-02-13 23:57:24 +01:00
Sergi Àlvarez i Capilla
4145077fb9 Fix ihex:// io parser somehow not working ##io 2022-02-13 23:57:13 +01:00
nemarci
47b2acb349
Fix pop [rsp] esil for x86 ##esil
* Fix order of operations in the ESIL code of pop with memory operand
* Added test for "pop [rsp]" emulation
2022-02-12 20:49:34 +01:00
pancake
8ddc8844bd
Fix pxj-X, and add tests ##print 2022-02-11 02:29:16 +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
pancake
ec55fb405c Disable ESIL macros and add reproducer test ##esil 2022-02-01 19:59:56 +01:00
Sylvain Pelissier
b62714cb25
Improve EVM analysis and update tests ##esil 2022-02-01 17:01:59 +01:00
lasek0
a12795d180 Workaround to handle seg:off on x86_16 due to a capstone bug ##disasm
* Add tests showing the computed absolute address or label
2022-01-31 01:46:39 +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
Sergi Àlvarez i Capilla
9db069f2b4 Fix #19628 - wx+ as an alias for wxs ##core 2022-01-28 17:05:50 +01:00
Sergi Àlvarez i Capilla
3a57152f01 Address some more coverities and update m68k tests 2022-01-28 16:05:06 +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
Sylvain Pelissier
098733d015
Correct EVM instruction size and add tests (#19631) 2022-01-26 08:08:29 +01:00
gogo2464
e3e48fef18
Add iso8859_1 ##charset 2022-01-26 08:08:02 +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
4f62b5121e Add test for the flag colors 2022-01-23 22:47:04 +01:00
pancake
63a3dd5c04 Fix pxa@e:hex.compact=true and add tests ##print 2022-01-23 22:47:04 +01:00
pancake
242bf08b62 Improve the way color flags are handled ##print 2022-01-23 22:47:04 +01:00
pancake
fd6f3732f2 Handle spaces in the 'r-' and 'r+' resize commands
* 'r-3' == 'r- 3' == 'r -3'
* 'r+3' == 'r+ 3' == 'r +3'
2022-01-23 20:20:33 +01:00
Lazula
15d3543974 Add missing RUN to last x86_16 test and mark broken 2022-01-23 18:14:24 +01:00
pancake
deb1d30502 Fix #15473 - Align meta dwords in the middle of instructions ##disasm 2022-01-22 00:19:40 +01:00
lasek0
40a70b5174 Add test for lds,les (need more for other cases)
* Add test for call seg:off to analysed and named function
2022-01-20 12:30:28 +01:00
Sylvain Pelissier
89cc589b94 Add EVM test 2022-01-19 17:53:12 +01:00
Dennis Goodlett
f8f93681bd Fix resize tests 2022-01-19 00:19:26 +01:00
Sergi Àlvarez i Capilla
0eab6e9fad Add ws1, ws2 and ws4 commands for variable size pascal strings ##write 2022-01-14 18:37:14 +01:00
Francesco Tamagni
bae21844d0
Parse relocs from Mach-O chained binds if no opcodes ##bin 2022-01-13 16:33:17 +01:00
Sergi Àlvarez i Capilla
d83aebe94f Rename config var anal.detectwrites -> anal.onchange 2022-01-12 12:21:12 +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
Francesco Tamagni
169c643a7a Add support for rebasing ARM64E_USERLAND24 chained format ##bin 2022-01-11 12:51:32 +01:00
Sergi Àlvarez i Capilla
3fb7de3e2d Improve pcc output and add a test ##print 2022-01-11 02:59:30 +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
2fe573880c Bring back the old afls behaviour and update tests 2022-01-07 18:10:50 +01:00
Sergi Àlvarez i Capilla
5f2a9dfa34 Fix 'afls' and add tests ##analysis 2022-01-07 12:12:46 +01:00
Sergi Àlvarez i Capilla
97f3f7cb6a Fix isqq. command ##bin 2022-01-07 01:44:58 +01:00
Sergi Àlvarez i Capilla
75f813a4a9 Update tests and help about asm.leahints -> asm.hint.lea 2022-01-07 00:56:27 +01:00
Sergi Àlvarez i Capilla
06457a9044 Add quickjs benchmark script 2022-01-06 22:54:55 +01:00
Sergi Àlvarez i Capilla
7cfd3678f9 Initial implementation of the dummy benchmark ##tests 2022-01-06 21:52:36 +01:00
Dennis Goodlett
2a117d5f4f
Add Rabin Karp algorythm to ##search 2021-12-30 10:30:30 +01:00
Sergi Àlvarez i Capilla
8030c906a0 Fix reference order and use the API in sixref (2x faster) ##analysis 2021-12-23 20:00:04 +01:00
Sergi Àlvarez i Capilla
1eaee48370 Initial implementation of the 'aafs' command ##analysis
* Find function entrypoints and creates a single basic block function
* Useful for fast initial analysis instead of aaa (30min vs 5s)
* Handy to get xrefs context in function boundaries
2021-12-23 18:58:38 +01:00
Sergi Àlvarez i Capilla
b01d2140dc Optimize and fix heap overflow in asm.tabs using RStrBuf ##crash 2021-12-23 18:08:14 +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
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
Sergi Àlvarez i Capilla
545aefe971 Improve reg detection in asm highlighting + add test ##disasm 2021-12-21 20:08:11 +01:00
pancake
7373893cb2 Fix tests 2021-12-21 13:06:13 +01:00
pancake
d613664fd0 Fix reg/flag detection in disasm colorization ##disasm 2021-12-21 12:08:10 +01:00
Dennis Goodlett
9921f8c1d5
Add JSON output to zb commands ##signatures 2021-12-12 11:46:58 +01:00
Dennis Goodlett
25fa4328db
Cleanup public API for ##search (#19477)
* Remove unsed API
* Remove r_search_update_i
* Implementation of r_search_update_i was just returning r_search_update.
* Remove unused r_search_xrefs_update
* Remove r_search_magic_update from public API
* Move update functions out of public API
* Remove unused r_search_bmh API
* Rename search update functions
* Add R_IPI to internal functions
2021-12-12 11:46:46 +01:00
pancake
e65e385e53 Add test for the objc crash 2021-12-10 00:45:23 +01:00
pancake
49f40816d3 Fix indent issues, pass out buffer size and fix disasm return value 2021-12-09 09:51:29 +01:00
gogo
2f950f5ebe add registers sreg, adcl and adch
replace spaces by tabs and add registers rampz and eind

remove comments from avr analysis plugin

add some registers to the register list

add more registers

add more registers

ajust register sizes

list all remininders full registers

analyze the binary

check for environment variable to fix tests

Use r_str_get() instead of manual string null checks in AVR plugin

move sreg instruction in numerical order

split the .assemble function with new files assemble.c and assemble.h

reassemble new instructions with operand spl and sreg

can reassemble old hex input as well as new input with register names. Register sph added.

use r_strbuf apis

Add file disassemble.c to meson

Fix is_register_found is ONLY set to true when current_register is != NULL

Fix size logic on return value.

Modify tests

fix review
2021-12-09 09:51:29 +01:00
Francesco Tamagni
5450345e9b
Support Mach-O DYLD_CHAINED_PTR_64_OFFSET format ##bin 2021-12-09 01:18:02 +01:00
pancake
24430ebdf6
Fix #18967 - Fix emulation for the mov-pc thumb instruction ##esil 2021-12-06 02:20:38 +01:00
pancake
08f66e3daa Fix #19464 - incorrect assembly for adrp on arm64 ##asm 2021-12-05 16:29:11 +01:00
pancake
3da46ed758 Fix #19463 - io write error reporting regression ##io 2021-12-05 12:41:29 +01:00
pancake
862fe33631
Handle more ELF relocs for ARM binaries ##bin
* Handle more ELF relocs for ARM binaries ##bin

Inspired by cd6bde4aeb
2021-12-05 04:58:12 +01:00
pancake
12c44332a2
Check for subcommands of iz to improve output on invalid input (#19467)
* Minor count fix and r_diff include moved into r_util
2021-12-05 04:43:31 +01:00
pancake
1964777a05
Fix the CI (#19462) 2021-12-03 01:38:51 +01:00
pancake
dafa685c24
Fix invalid pointer read issue in dwarf parser ##crash (#19459)
* Exploited by tests_65179, tests_65180 and tests_64901
* Fix out of bounds issue causing memory corruption in unit test
2021-12-02 12:20:30 +01:00
Richard Liu
1f123e41e4 Fix infinite loop in r_str_replace ##util
* Add check for empty `key`, since `r_str_replace` does not check for
  empty `key` and will loop indefinitely.
* Add test case for this (occurs with highlight grep)
2021-11-30 11:08:47 +01:00
pancake
8e2e9c73e4
Fix so-1 in runofthemill (#19445) 2021-11-28 01:50:29 +01:00
pancake
6c186b5029 Honor rabin2 -p to change io->va 2021-11-22 11:25:56 +01:00
aviciano
5a0bc927e7
Fix #16178 - Rename the r_anal_fcn* apis to r_anal_function* 2021-11-21 20:18:46 +01:00
pancake
ec0b1e60f6
Fix broken project test (#19425) 2021-11-19 01:01:46 +01:00
Lazula
2255bf8b5d Many indentation style fixes
* Change several 8-space indents to tabs
* Apply tab indent style when breaking long lines
* Move operators from EOL to start of next line
* Fix ternary formatting
2021-11-18 10:43:52 +01:00
Dennis Goodlett
cef64fbbb0
Add binary search alg to pvector ##util (#19414) 2021-11-16 23:56:21 +01:00