Commit Graph

302 Commits

Author SHA1 Message Date
SkUaTeR
dc7914644e Meson improvements 2017-05-31 13:38:47 +02:00
pancake
20f7ac66cc Bring back drx on XNU, buggy but at least does something 2017-05-27 03:57:30 +02:00
SkUaTeR
9a1337512a meson.build fixes to build with MSVC 2017-05-14 23:06:00 +02:00
SkUaTeR
beb80cfc16 Fixes for MSVC 2017-05-09 23:53:20 +02:00
pancake
60f9667654 Remove support for bjam build system
- Delete all Jamroot files
2017-05-02 05:48:40 +02:00
pancake
fa671b9a16 Initial support for the Meson build system
- Integrated with current ACR
- Fix some stale fails got removed
2017-05-02 05:05:36 +02:00
alvarofe
9686de1404 Refactor r_reg_arena_push to remove dead code 2017-04-18 00:59:49 +02:00
pancake
a66cc10d46 Fix a huge list of null derefs from clang-analyzer 2017-04-17 22:02:04 +02:00
Ren Kimura
ce5758b739 Add reverse singlestep command 'dsb' (#7116) 2017-03-25 16:00:25 +01:00
davidpolverari
1fb422b532 Fix #6162 - Renames r_str_concat to r_str_append 2017-03-16 22:29:49 +01:00
Giovanni
43532031c4 Fixes for windows and some are also global (#6936) 2017-03-08 08:49:31 +01:00
pancake
93eb47ccac Update SDB fixing stack exhaustion in merge sort and enhance indentation scripts 2017-02-12 22:44:13 +01:00
pancake
70930f4496 Bring back the interest on sys/indent.sh 2017-02-10 02:05:58 +01:00
Elia Geretto
31e8d7cb68 Fix various memory leaks (#6272)
* Fix bits_ranges memory leak in anal.c
* Fix anal->reg memory leak and prevent use after free in plugin.c
* Fix reg->allregs memory leak in reg.c
* Fix dbg->plugins memory leak in debug.c
* Fix io->plugin_default memory leak in io.c
* Fix plugin_free not deallocating plugin in bin.c
* Adapt to style guidelines
* Fix memory leak in r_bin_object_free and resolve double free
* Fix o->kv memory leak in r_bin_object_set_items
* Fix memory leak pushing arena on reg init
* Fix io->plugin_default memory leak in io.c
* Adapt to style guidelines
* Fix pfile memory leak in radare2.c
* Add braces to if in bin.c
2016-12-01 09:09:59 +01:00
pancake
546332dd03 ha ha ha, shrink grows! 2016-11-14 16:08:05 +01:00
pancake
7a68fd2d82 Attempt to fix the register profile reloading issue 2016-11-14 15:59:50 +01:00
pancake
6abe6abe93 Shrink all arenas before reloading the new reg profile 2016-11-24 00:29:34 +01:00
SkUaTeR
4c2a01d4a7 Fix in profile to get correct reg.size (#6238) 2016-11-21 23:13:59 +01:00
pancake
d32e97ace8 Fix #6228 - Double 0x in dr= 2016-11-20 11:30:15 +01:00
Álvaro Felipe Melchor
645b273bb9 loosen up constraint in value.c 2016-11-16 20:49:20 +01:00
pancake
a7e281b524 Enhanced drpi and use gpr as default arena for flags 2016-11-15 16:20:10 +01:00
pancake
7fb8c24be3 Add drpi to show internal representation of drp and check for overflows 2016-11-15 14:40:16 +01:00
Álvaro Felipe Melchor
4915466256 Fix oob due to reg arena changes 2016-11-15 01:12:37 +01:00
SkUaTeR
20a9bbd14a Rreg fpu changes (#6191)
* test with rreg for values greater than 64
* check for redirected regs in debug reg sync
2016-11-14 23:58:29 +01:00
pancake
24e08bb23d Aim to fix the asm.emu regression after the memoization 2016-11-13 23:32:24 +01:00
pancake
77f1b4fbf5 Add @arena modifier to the 1st column in the reg profile 2016-11-12 23:19:03 +01:00
pancake
94d47c79bb Completely remove all references to list.h 2016-10-27 13:33:27 +02:00
Francesco Tamagni
f41f74c527 Fix #4497 - Recursive function emulation 2016-10-24 14:31:03 +02:00
pancake
05220c2fe0 Fix overflow in debug.reg_read 2016-10-09 23:52:24 +02:00
Sven Steinbauer
2996538700 Fix #5633 - Change x == NULL to correct syntax 2016-09-19 14:44:47 +02:00
pancake
3654e5f33b Fix regression in reg.type=flg 2016-08-14 19:12:52 +02:00
pancake
f60597b2ee Fix ar 1 to honor RReg.Type.flg 2016-08-14 02:23:47 +02:00
pancake
2f339144f4 Fix some latest covs 2016-08-05 13:25:20 +02:00
Maijin
7938640445 Move all /t/ from r2 to r2r 2016-07-27 19:19:30 +02:00
Maijin
c274afe748 Fix #3286 - Use stdbool.h 2016-07-12 22:15:19 +02:00
Jeffrey Crowell
7436b51095 add r_reg_32_to_64 for @condret
closes #5206
2016-06-25 00:03:44 -04:00
pancake
d3394d5a7a Fix latest 28 COVs 2016-06-02 03:19:31 +02:00
pancake
2138ca700c Fix #5019 - registers are now accessible by index 2016-05-31 14:11:09 +02:00
Sven Steinbauer
547f8bbc5c Infer fixes Round 2 (#4993) 2016-05-24 22:22:15 +02:00
pancake
c36b299073 Fix some null deref and rarun2 chroot escape vuln 2016-05-24 12:32:45 +02:00
Sushant Dinesh
cf456f4414 Fixes to ESIL (#4951)
- Reverted ADD and ADC to set flags based on internal variables
- Fixed calculation of carry and zero flags from internal vars
- Revert "ESIL: add floating point instructions (#4794)"
  This reverts commit 964d12b392. Since we
  decided that floating point operations will be implemented using separate
  ops, these unions are no longer needed. This commit introduced a regression
  in setting esil->old and esil->cur
- Style fixes
2016-05-23 16:39:54 +02:00
Damien Zammit
af0a865d9f WIP - Totally remove host endianness dependence
- Adds endian aware functions
- Removes references to host endian
- Uses binary detected endianness else tries LE and restricts by RAsmPlugin
- Fixes gdb debugger endianness when debugging BE qemu gdbserver

Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-05-04 23:42:17 +10:00
pancake
1f82c105fb Fix doublefree and regprofile for FreeBSD 2016-05-04 13:28:53 +02:00
NaveenBoggarapu
4c04b98b47 few memory leaks fixed 2016-04-13 21:55:48 +02:00
pancake
4476720aa8 Fix regprofile regression 2016-04-08 13:36:15 +02:00
Lukas Dresel
5a4fe03d41 Fix #4495 - rasm2 not loading all the plugins
- Fixed misplaced free(tmp) i broke
- Made plugin loading work the same in every tool.
- Removed last instances of hardcode 'LIBR_PLUGINS' string
2016-04-05 22:42:19 +02:00
pancake
740e43eadd Fix some segfault and consistencies 2016-04-04 01:59:30 +02:00
Mizari
477986be2c Removed possible null dereference and one clang-analyzer warning squashed 2016-04-01 10:34:28 +02:00
Mizari
d6daa9d591 Fixed function calls for r_reg_set_bytes(reg,-1...) 2016-03-24 12:47:00 +01:00
Mizari
59d614edf1 Added drw/arw command + r_reg_arena_set_bytes 2016-03-22 11:48:42 +01:00
pancake
805e3f26e8 Fixes for lldb/debugserver on x86-64 2016-02-03 12:09:58 +01:00
pancake
6c931a091f Automatic asm.bits depending on CPSR's Thumb bit 2016-01-11 03:08:24 +01:00
pancake
9bd4e213b2 Enhance cpsr in ARM and handle new bitsize syntax in reg profile 2016-01-11 02:35:57 +01:00
pancake
7bef915a8d Implement arC/drC to show comments in regprofiles 2016-01-09 03:14:18 +01:00
pancake
4e6be05f62 ARM's SP is r13 and add LR in r14 2015-12-31 14:10:11 +01:00
pancake
cfb03d3772 More indentation fixes 2015-12-09 00:27:31 +01:00
pancake
a4fc08b401 More auto-indentation enhancements 2015-12-08 23:55:23 +01:00
pancake
8eabe785fe Boolify RDebug API 2015-12-04 02:57:56 +01:00
pancake
85ba262c17 Fix #3761 - Fix drd and add aras command to swap arenas 2015-11-25 15:20:25 +01:00
pancake
cffa44b2f7 Add ara command and fix RReg.arena.push/pop implementation 2015-11-24 00:58:03 +01:00
pancake
ba73d31cf3 Fixes for android-arm64 2015-11-15 02:20:57 +01:00
pancake
5c99eb0c3f Uppercase register aliases 2015-10-31 01:59:01 +01:00
Álvaro Felipe Melchor
5543f73cb1 Fix some covs 2015-10-29 23:39:49 +01:00
Anton Kochkov
30e82852a3 Remove annoying message 2015-10-22 15:07:32 +03:00
pancake
b08add890a Fix the 80/96/128 fpu reg value issue 2015-10-22 13:38:30 +02:00
pancake
35f97e3862 Add register profile for AVR 2015-10-13 23:01:30 +02:00
pancake
5d0bdd4481 Enhacements to ease the iOS debugger development 2015-09-21 23:40:17 +02:00
pancake
fdbde81e78 Fix iOS build, and a pair of bugs 2015-09-15 04:05:43 +02:00
pancake
49975ccf95 Fix #3286 - Use stdbool.h 2015-09-14 02:08:31 +02:00
pancake
1bf2d47f00 Fix last COVs 2015-09-12 19:12:57 +02:00
pancake
4506a98cff Add arena.peek/poke, and fix emulation for asm.esil.anal 2015-09-10 01:42:56 +02:00
pancake
62755eeb0e Fix latest COVs 2015-08-25 12:40:21 +02:00
pancake
4dff5cca5e Some some COVs related to control flow and memory leaks 2015-08-24 01:58:36 +02:00
pancake
7a871d4cb5 Add drm command to get/set packed registers. Old drm is now drf 2015-08-23 04:43:31 +02:00
pancake
1c143a3e3b Better checks in packed register boundaries
- Support spaces after dr? <reg>
2015-08-23 04:08:01 +02:00
pancake
f776f5a515 Implement RReg API for long double and packed registers 2015-08-23 03:58:49 +02:00
Álvaro Felipe Melchor
b52cfe422e Fix #2759 2015-06-16 22:47:47 +02:00
pancake
c047506f21 Some cleanup for regset issues and update the regprofile 2015-05-21 02:31:01 +02:00
pancake
9392424e30 Fix #2397 and #2398 - honor syscall args in dcs on linux-x86-64 2015-04-18 10:35:57 +02:00
pancake
515b2e77bc Fix about 40 COVs related to memleaks and buffer overflows 2015-03-21 01:27:54 +01:00
pancake
c9bff12ae7 Fix #2167 - drs invalid free 2015-03-08 01:42:35 +01:00
pancake
bd4db7b966 Initialize swapped stack arena and implement 'aeis' ESIL stack emulation helper 2015-01-27 12:46:15 +01:00
Kamil Rytarowski
aadbd0f868 Fix GCC warnings: array subscript has type 'char'
Reported at NetBSD-current/amd64
GCC 4.8.4 (nb1 20141012)
2014-12-04 03:26:08 +00:00
pancake
b7e1dc4354 Fix #1698 - dr rflags=cpz is now supported 2014-11-18 17:22:43 +01:00
Julien Nabet
e20728ec15 cppcheck: fix 1 'else if' cond matches previous cond + test indice before using it 2014-11-16 18:13:06 +01:00
trndr
567bcd39f1 Add bigendian register byteswap 2014-11-04 02:17:35 +01:00
pancake
42232354a7 Add 'ai' - address info, Enhace 'ad' (support patterns and sequences)
- ai shows: exec,read,write,flag,func,stack,heap,reg
- Add r_reg_regset_get()
- Implement r2.cmdj in r2.js
2014-10-15 02:24:22 +02:00
LemonBoy
27e9d2e938 Do not allow duplicate registers in the profiles. Free the RRegItem properly. Fix the line count in the parser. Fix the w32 debug profile. 2014-09-14 22:45:09 +02:00
pancake
7029eab6af Enforce register arena, better fit size. Fix native mips reg profile size 2014-09-14 02:52:30 +02:00
pancake
1117fd8c4c Verify realloc in arena for early bug catching 2014-09-13 03:20:00 +02:00
pancake
63f00d0b0f Implement working ESIL backend for Brainfuck. Requires manual init 2014-09-13 02:24:50 +02:00
LemonBoy
61eaa5cafc Settle the pointer ownership issue once for all 2014-09-13 00:30:15 +02:00
pancake
dda441f9c3 Fix thelemon notes 2014-09-11 00:41:33 +02:00
pancake
d93563909d Fix latest coverity issues 2014-09-10 02:21:10 +02:00
LemonBoy
7833b0427d Rewrite register profile parser to make it cleaner and more robust
- Make all the reg profiles heap-allocated for consistency
- Fail gracefully when the profile has errors
- Minor fixups
2014-09-08 17:41:22 +02:00
Jonathan Neuschäfer
be7cba651d fix instability in r_reg_free_internal
This is a partial revert of 0814a6d4e ("Fix memleak in r_reg_free").
2014-08-26 03:45:14 +02:00
pancake
a8994d0f63 Fix crash in rreg deinit 2014-08-25 04:27:25 +02:00
pancake
0814a6d4e2 Fix memleak in r_reg_free 2014-08-25 01:18:35 +02:00
pancake
131aaa487f Fix more ESIL instructions for x86 2014-08-08 02:11:23 +02:00
pancake
7507868d47 Fix segfault in 'r2 -c 'dso;dso' -' 2014-07-18 18:48:11 +02:00
pancake
ea384ec166 Add regdiff test program and fix the api 2014-07-03 13:48:35 +02:00
pancake
b6850182b9 Fix RReg.arena.size issue caused by missing parenthesis in BITS2BYTES 2014-07-03 11:54:58 +02:00
pancake
ab05fbd9d3 Fix r_reg_next_diff (thanks defragger!) 2014-06-27 15:33:25 +02:00
pancake
e321c0e62c Add RReg bufdiffing apis to retrieve list of modified regs 2014-06-26 12:18:45 +02:00
pancake
a69f56ffe6 Fix all latest coverity issues except the rsa-find ones 2014-06-24 01:01:27 +02:00
pancake
7fafaf6c94 Fix parsing some corrupted RReg profiles, cache profile reloading, fix arena fit 2014-06-23 18:13:41 +02:00
pancake
2408ce9a42 Fix segfault in esil for arm-thumb and colorize 'ar?' 2014-06-19 04:52:28 +02:00
pancake
5c209802a7 More work on arm-thumb-capstone + esil 2014-06-19 04:03:11 +02:00
pancake
160c4568f7 More RPN ESIL (udis86, vm, conditionals, ..). Honor cfg.debug
- A debugger session can be turned into emulation with 'e cfg.debug=0'
- Fixed undo seek issues
- Fix "Unknown register 'rip'" issue
- debugger commands mixed with analysis ones. We must merge at some point
- More udis86 instructions translated to the new esil
2014-06-17 10:23:11 +02:00
pancake
148733b7a1 Add linux-arm64 reg profile, fix linux-arm systracing. Handle multiple syscall stoppers in 'dcs' 2014-06-14 02:02:58 +02:00
pancake
92170e2f68 Rename 'ar' into 'ax' again, 'ar' is now for RAnal->reg manipulation
Notes:
- This is just a copy of the code from 'dr' with some modifications.
- The register values are synced back everytime you step in the debugger.
- Those registers should be used when evaluating ESIL to emulate code.
2014-05-25 03:00:24 +02:00
Anton Kochkov
a208166f0d Fix CID 1134890 2014-05-03 11:09:10 +04:00
Anton Kochkov
e6576c499c Fix CID 1134889 2014-05-03 11:06:46 +04:00
fr33tux
3d801f90ff Remove r_list_destroy, replaced it by r_list_purge 2014-05-03 01:27:10 +02:00
Anton Kochkov
afedcc0074 Fix CID 1135011, 1195065, 1134730, 1134754, 1134907, 1134758 2014-04-27 01:06:13 +02:00
Anton Kochkov
6dfa4f9143 Fix CID 1134738 2014-04-26 04:27:12 +04:00
Anton Kochkov
61c66b1395 Fix CID 1134737 2014-04-26 04:24:47 +04:00
Anton Kochkov
0e93873959 Fix CID 1134722 2014-04-26 01:53:23 +04:00
Anton Kochkov
1375204e2f Fix CID #1152204 2014-04-23 02:18:52 +04:00
Judge_Dredd
1b444dfadb fixed? the breakpoint bug? 2014-04-14 15:39:35 +02:00
condret
9c154d003c fix #629 and add some warnings 2014-03-21 03:54:12 +01:00
pancake
571ba82ab6 Many bugfixes related to 'drx'. Still not working on linux 2014-01-11 23:48:55 +01:00
pancake
175643bedc Fix #584 - Fill hexblock on cursor range selection 2014-01-30 00:55:34 +01:00
pancake
891a1e5bb8 Implement 'drx' command in RDebug plugin backends 2014-01-28 04:08:10 +01:00
pancake
01a2b485e7 Implement 'drc' command with all the RRegCond magic
- Fix all debug register profiles
- Support for X86 and ARM
- Allow to check conditional instructions
2014-01-08 23:23:06 +01:00
pancake
3e3092ac09 Add RRegCond api 2014-01-07 04:29:56 +01:00
pancake
dba63fbd3c Add some Jam files and merge rsign into ranal 2013-12-31 05:30:39 +01:00
pancake
d814a5b01b Fix #264 - Add a command to display changed registers 2013-10-20 02:09:03 +02:00
pancake
81146b0f1d More arena fix 2013-09-13 01:04:06 +02:00
pancake
87a63e5a02 Another RRegArena bugfix 2013-08-29 17:12:13 +02:00
pancake
341da1d154 Various fixes in RRegArena and add 'dcs' command 2013-08-29 16:59:24 +02:00
pancake
04cfefb9d8 Fixes on dyldcache list and x86 branch analysis
Fix some branch analysis issues for x86
Add new simpler r_reg api r_reg_getv()
Store library offset in dyldcache xtract info
Accessible via rabin2 -A or r2 <file>
Looks like dyldcache is too slow and buggy for latest caches
Fix indentation in branch comments
2013-06-20 02:49:39 +02:00
pancake
bc0104563b Initial support for runtime versioned libraries
- This check will ensure you are running the latest r2 version.
2013-06-14 02:51:33 +02:00
pancake
16ddff4eb9 More work on ESIL, and implement r2 -Desil .. 2013-05-20 03:00:49 +02:00
pancake
3a0fdd6a24 Fix #55 and add Cj to list metadata in json format 2013-03-01 12:20:18 +01:00
pancake
2d0dd302be Add RCoreLog API ('l' command), '-' cmd is now '$'
Fix in disasm comments
Fix bugs in r_strpool api
Log API allows rss-like messaging
2012-12-23 13:52:57 +01:00
pancake
58371d6e2f Add rabin2 -N flag to set minimum string length
By default is 2, but PE which is 4
Sort rabin2 -h flags alphabetically
Add r_bin plugin-specific minimum string length
New r_list_newf() constructor which replaces the hacky R_LIST_NEW macro
2012-12-09 01:39:27 +01:00
pancake
69a12884ed Simplify the build system
doc.sw has been moved to radare2-extras
2012-10-03 14:31:35 +02:00
pancake
e5799fb7a2 Fix build on linux-mipsel64
- debugger backend now sets dbg.swstep
 - define linux-mips64 register profile
 - fix 32/64 annoyance in debugger
 - fix register read under some situations
2012-07-05 16:02:12 +00:00
pancake
aafff4a55a * Initial fix for regdiff colorizer
- dro is working again
* Dummy agt command (analyze graph to destination)
  - Still wip, requires some changes in r_anal api
* Handle ap? command
* Use core->dbg->bits in core_reg
* dbt - backtrace accepts an argument to redefine ebp
* Use r_core_seek_delta in visual (fix Vh = 0xFFFFF..)
2012-06-14 02:18:15 +02:00
pancake
05a0196690 * Fix osx-x86-32 debug register profile
* Some struct->typedef renaming
2012-03-07 10:43:02 +01:00
pancake
0c5a3834f4 * Fix build
* Apply 7 patches from Simon Ruderich
  - Fixed some really tiny bugs. Cool!
2012-02-01 11:49:46 +01:00
pancake
88c8b08f7a * Fix various memory leaks (thanks Ender for reporting!)
* Add e dir.magic variable
2011-11-11 17:14:09 +01:00
pancake
14f85bd76f * Import Glyn Kennington's patch for the build system
- Use absolute paths everywhere and simplify Makefiles
2011-11-03 11:49:50 +01:00
pancake
c7cced5c67 * Use null fot unsupported plugins
* Fix startup segfault in r_reg doublefree
2011-10-08 23:39:06 +02:00
pancake
ce1d0e9975 * Fix sys for gmake (*BSD)
* Increase buffers in rasc2
2011-07-02 23:15:40 +02:00
pancake
12af78ccee * Fix build, reduce warnings and add some checks 2011-08-30 19:12:49 +02:00
pancake
0a7eefc9f8 * Fix some memory leaks 2011-08-28 00:01:03 +02:00
pancake
aa236eb063 * Finally fix a segfault in the htflags implementation
- This was workarounded to work incorrectly
* Fix build on OSX of the dalvik plugin for r_asm
* Other minor random checks
2011-06-29 00:36:52 +02:00
pancake
535a2aa713 * r_asm_disassemble use _CONST_ut8* buffer now
* Split core/cmd.c into disasm.c and core/visual.c into vmenus.c
* Fix some warnings reported by valgrind
* Chop instructions disassembled by udis86
* Fix visual prompt display in debugger mode
* Added 'pdi' and 'pdf' commands
  - Used to print just instructions or lengths
  - Documented via 'pd?'
* Added initial work on a test suite for r2
  - Spot a crash!
2011-06-04 03:14:04 +02:00