pancake
de31667fc8
Add LC_AOT_METADATA parsing support for mach0 ##bin
2023-04-09 12:42:11 +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
c6a32fd1a0
Update tests
2023-04-05 18:50:09 +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
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
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
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
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
c1663224fd
Support big endian value search analysis (aav) ##anal
...
* Inspired by 2762beba68
2023-03-27 12:52:04 +02:00
pancake
b601497c3a
Hide meaningless AnalOp fields in ao/aoj
##anal
2023-03-23 12:06:23 +01:00
pancake
9608c125ec
Expose the value of arm's ADD in op.val ##arch
2023-03-23 10:46:56 +01:00
pancake
c654dc7a5c
Implement wao recj for arm64 ##write
2023-03-23 10:19:07 +01:00
pancake
39b7822a2b
Fix tests
2023-03-22 17:47:00 +01:00
pancake
e8ac805d4d
Fix memcpy bug in the new cache ##io
2023-03-22 03:59:36 +01:00
pancake
4e8b0986e2
ZeroPad addresses in iSq and iSSq ##bin
2023-03-20 09:04:26 +01:00
Yuvraj Saxena
9ad89fd980
Fix tb instruction for ARM assembler ##asm
...
Current code unconditionally drops last 2 bits without checking if those 2 bits are set or cleared,
if ignored these 2 bits are eventually lost and not encoded in machine instruction
and it's dangerous to assume destination supplied is valid to correct this I implemented a check.
Last 2 bits are discarded when final machine instruction is generated
and later in the decode phase this 14 bit immediate value (destination) is shifted left 2 bit positions,
and later sign extended to 64 bits that means we can actually encode a number with 16 bits but current code encodes only upto 14 bits. Thus, wasting 2 bits.
Also, Current code unconditionally parses last 5 bits from immediate 1, which is nothing but bit number to be tested in the register. Therefore, it must be within range 0-31 if 32 bit register is used, range must 0-63 if 64 bit register is used.
Also, in the case of 64 bit register only last 5 bits are encoded because it's later concatenated with MSB hence rendering a 6 bit number that can be used to denote bit positions between 0-63. To tackle this a check for this is implemented.
At last testcases are added to demonstrate these checks.
2023-03-19 13:08:25 +01:00
pancake
b340dea630
Fix some warnings on windows and unbreak few tests
2023-03-15 12:03:06 +01:00
pancake
6bbe2e22fa
Use R_LOG instead of eprintf (Usage in libr/util)
2023-03-14 20:42:02 +01:00
pancake
83603ac9b8
Unbreak 7 fixed tests
2023-03-14 20:42:02 +01:00
pancake
1de7776d2f
Add test for bin.cache on macho relocs
2023-03-14 10:36:58 +01:00
pancake
b8bd90585f
Fix spaces in cr16 tests
2023-03-13 17:42:32 +01:00
pancake
90601b14f7
Improve the pseudo-decompilation output for !x86 and inlined gotos ##print
2023-03-13 17:27:56 +01:00
pancake
f4539cc9e1
Dont try to resolve strings on call destinations ##disasm
2023-03-13 17:26:46 +01:00
pancake
26aa0212a0
Initial implementation of the io-write-cache command ##io
2023-03-13 14:46:53 +01:00
Lazula
86b5d8e4ab
Correctly align r_core_cmd_help_match output in inexact mode ##shell
2023-03-11 07:32:54 +01:00
Lazula
57812e2471
Drastically reduce eUsage counter ##shell
...
* Get rid of some eprintf
* Use RCoreHelpMessage
* Missing comma in cmd_cmp.c and vmenus.c
* cmd.c * cmd_anal.c * cmd_cmp.c * cmd_debug.c * cmd_eval.c
* cmd_flag.c * cmd_help.c * cmd_debug.c 2 * fixes * cmd_info.c
* cmd_log.c * cmd_meta.c * cmd_mount.c * cmd_open.c * cmd_print.c
* cconfig.c * cmd.c * cmd_anal.c * cmd_search.c * cmd_seek.c
* cmd_write.c * core_a2f.c * core_sixref.c * vmenus.c * yank.c
* Please sys/lint.sh
2023-03-09 16:07:09 +01:00
pancake
396861400d
Support function arguments without a name ##anal
...
* Default name is 'arg%d'
* Warnings moved to the right place
* Fix null assert related to this
2023-03-09 14:12:59 +01:00
pancake
be015171a3
Add some basic swift and objc function signatures ##types
2023-03-07 19:26:55 +01:00
pancake
9089b49b6d
Magic depth starts at 0 now ##search
2023-03-07 17:47:43 +01:00
Yuvraj Saxena
046486862a
Add more conditional branch instructions for the arm64 assembler ##asm
...
* Add testcase and aliases for bhs conditional branch instruction for the arm64 assembler
* bcs and b.cs are aliases for bhs instruction
2023-03-05 18:06:59 +01:00
pancake
f6bc514e00
Test fixes and identify more slow tests
2023-03-05 08:56:33 +01:00
pancake
a9e46e9d37
Move slow test, fix mz regression and unref in regitem
2023-03-05 01:51:55 +01:00
pancake
f1a8261067
Add ?Tj and get rid of all the eprintf("Usage in cmd.egg ##shell
2023-03-03 22:09:04 +01:00
pancake
7874971313
Honor dir.source in test
2023-03-02 23:43:57 +01:00
pancake
cbdc372e4a
Add CLLf command as an alias for 'list' and fix @@i ##dwarf
2023-03-03 00:03:38 +01:00
pancake
7c50a3587a
Fix #21340 - fix list of callrefs in afij ##anal
2023-03-02 19:04:35 +01:00
pancake
3b74c121b6
Implement conditional branch instruction for the arm64 assembler ##asm
2023-03-02 17:11:07 +01:00
pancake
b87dfa4585
Run the pending jobs in the qjs repl and expose r2pipe module ##lang
2023-03-02 13:10:11 +01:00
pancake
952325637e
Fix #21412 - Implement segment iterator ##shell
2023-03-02 12:19:57 +01:00
pancake
acadb6a3ee
Move the riscv.cs plugin ##arch
2023-03-01 21:54:58 +01:00
pancake
2b34da70fa
Implement ESM module loader for the QJS runtime ##lang
...
* Supports files generated with frida-compile
* Use R_LOG for qjs error messages
2023-02-28 19:33:20 +01:00
pancake
100700549a
Fix oobread in dwarf5 parser ##crash
2023-02-24 22:27:06 +01:00