Commit Graph

257 Commits

Author SHA1 Message Date
ZHANG ZHUO
1dde4782a7 handle escape string in arm assembel 2017-06-15 22:15:41 +02:00
Zohn_Z
76f0ce7c9f Several fixes for ragg2
* fixed some bugs in rcc_pushstr in egg_lang.c
* fix bugs when strings within ',' and strating with non-zero char
* fix some error fixes
* fix the segment fault when calling functions with arguments
* add support for directory in include
* make some little changes
* add support for include and alias
* add some debug eprintf
* fix wrong label bugs in "while" syntax and rename some label
* fix odd syntax in "while" and "if"
* rename the labels
* add support for if\-else
* make some little changes for pretty print
* take a snapshot before writing confusing mathop
* finish mathop
* delete some unnecessary code in if-else frame to bypass test
* reindent all the thing
2017-06-14 15:35:29 +02:00
SkUaTeR
dc7914644e Meson improvements 2017-05-31 13:38:47 +02:00
SkUaTeR
0596c1c08e Meson shlr libs 2017-05-30 18:38:19 +02:00
pancake
6758e3753d Remove configure-plugins dependency for the make meson 2017-05-26 02:43:53 +02:00
SkUaTeR
9a1337512a meson.build fixes to build with MSVC 2017-05-14 23:06:00 +02:00
pancake
b24281c9c5 More fixes for mingw 2017-05-10 15:32:34 +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
davidpolverari
1fb422b532 Fix #6162 - Renames r_str_concat to r_str_append 2017-03-16 22:29:49 +01:00
pancake
79ab75c78f More builds fixes for less plugins 2017-02-02 13:25:17 +01:00
pancake
11f2c4fe4f Add more movk/movz/movn for the arm64 assembler 2016-11-15 11:57:48 +01:00
pancake
7fc002dfd9 Remove unnecessary call to impaddr() and some reindents 2016-11-13 01:40:44 +01:00
pancake
d41b577106 Fix #5924 - r_flags -> r_flag 2016-10-27 01:07:58 +02:00
pancake
aed798e003 Add some breaks in egg and bin 2016-10-26 23:46:41 +02:00
Álvaro Felipe Melchor
7ba81f6886 More work into ragg2 2016-10-02 23:46:57 +02:00
Sven Steinbauer
2996538700 Fix #5633 - Change x == NULL to correct syntax 2016-09-19 14:44:47 +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
pancake
f96f00d62d Fix #5158 - Merge r_db into r_util 2016-06-17 12:19:16 +02:00
pancake
608b79d2b4 Finally fix the build on osx-ppc 2016-06-06 17:30:07 +02:00
Sven Steinbauer
547f8bbc5c Infer fixes Round 2 (#4993) 2016-05-24 22:22:15 +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
af78b8e37f More osx-ppc build fixes. Almost there 2016-04-28 14:33:51 +02:00
pancake
c9514302bf Fix some lifecycle memory leaks 2016-04-03 23:52:36 +02:00
pancake
cea9c6840c Initial mpc version of the ragg2 lang compiler 2016-03-11 11:24:11 +01:00
pancake
c9267523ac Fix memleaks in the ragg2 xor key thing 2016-03-06 23:38:09 +01:00
Pankaj Kataria
505756afcc Added default key for XOR encoding 2016-03-06 11:16:22 +01:00
DZ_ruyk
0e8b42787a Boring typo fixes
Can't -> Cannot (since most of error messages use second form)
2016-01-07 00:13:54 +01:00
Álvaro Felipe Melchor
5543f73cb1 Fix some covs 2015-10-29 23:39:49 +01:00
xambroz
d448260816 build cleanup focused on possibility to control the lib directories with the build parameters
needed mainly for RedHat/Fedora builds
2015-10-27 03:26:45 +01:00
pancake
fb622d66ed Handle iOS/WatchOS/Linux SVC imm in REgg 2015-09-19 19:13:22 +02:00
pancake
49975ccf95 Fix #3286 - Use stdbool.h 2015-09-14 02:08:31 +02:00
Jeffrey Crowell
603e13447c arm svc call should have 0 2015-09-01 23:09:20 -04:00
Jeffrey Crowell
3067f31b74 fix emit string for arm eggs
offset was off by 4
2015-09-01 23:00:24 -04:00
Jeffrey Crowell
a51a4110c2 r7 is the syscall register 2015-09-01 22:08:44 -04:00
pancake
74ce502bd5 Aim to solve #3219 ARM LDR analyzer issue 2015-09-02 01:40:12 +02:00
pancake
b321d7fd8c Fix local var and assemble of LDR instructions in ARM eggs 2015-09-02 00:58:39 +02:00
pancake
c8cb347a41 Fix string allocation issue for ARM eggs 2015-09-02 00:18:55 +02:00
pancake
58f12f31fc Use UDF16 as trap instruction for the ARM Eggs 2015-09-01 23:27:04 +02:00
pancake
a2b21a51ef Honor R_SYS_OS in asm.os eval var 2015-09-01 03:13:16 +02:00
Jonathan Neuschäfer
523aa3af5c add .version to all plugins 2015-07-12 19:05:33 +02:00
Álvaro Felipe Melchor
3536b9cb63 Fix #2741 2015-06-11 17:43:27 +02:00
Álvaro Felipe Melchor
4514f7aee3 Fix a invalid read of size 4 in rcc_context 2015-06-09 23:27:05 +02:00
Álvaro Felipe Melchor
3c22b5ccab Fix #2732 2015-06-09 23:27:05 +02:00
Álvaro Felipe Melchor
78d5a78609 Fix COVS 2015-06-04 21:27:41 +02:00
Quentin Santos
5e7f8e9fd8 Save raw binary changes to ragg2 buffer, fix #2336 2015-05-13 22:55:52 +02:00
Quentin Santos
e86769e428 Fix zero in egg buffer
Appending one too many character to the buffer effectively truncated it.
2015-05-13 22:55:51 +02:00
Quentin Santos
55305de3d4 Fix memory management in ragg2, resolves #2340 2015-05-09 10:41:38 +02:00
Anton Kochkov
7e79b198b1 Fix some more Coverity issues
Fix CID 1171365
Fix CID 1211169
Fix CID 1230038
Fix CID 1295063, 1295062, 1295061
Fix CID 1295070
Fix CID 1295068
Fix CID 12950067
2015-04-19 04:53:08 +03:00
Anton Kochkov
1479aeca8e Fix a few Coverity issues
Fix CID 1205204
Fix CID 1171365
Fix CID 1135001
Fix CID 1134921
Fix CID 1134848
Fix CID 1134840
Fix CID 1134824
Fix CID 1267983
Fix CID 1230038
2015-04-19 03:15:29 +03:00
pancake
2096e855ba Fix gs0 crash 2015-04-16 17:49:17 +02:00
jvoisin
07b9038e1a Refactor a bit r_egg_padding 2015-04-08 23:39:56 +02:00
pancake
ef6c71208d Fix tons of input crashes reported in #2220 2015-03-22 23:24:13 +01:00
pancake
515b2e77bc Fix about 40 COVs related to memleaks and buffer overflows 2015-03-21 01:27:54 +01:00
jvoisin
838c467724 Coverifix once again 2015-02-19 15:04:58 +01:00
jvoisin
b8cdd7c0f7 Even more coverifix 2015-02-11 21:51:13 +01:00
jvoisin
5ad3afb628 Coverifix 2015-02-11 17:55:25 +01:00
Jeffrey Crowell
bf943e8729 coverifix 2015-02-05 00:29:59 -05:00
jvoisin
95d9704498 More coverifix 2015-02-03 15:53:51 +01:00
JamesSullivan1
69c4a80e67 Fixed a pointer invalidation in r_egg_mkvar leading to an illegal free() 2015-02-02 01:41:37 +01:00
pancake
69b40d1afa Add ragg2 -n and -N and fix some bugs in r_buf and r_egg 2014-10-29 02:44:21 +01:00
pancake
92e85bf4c4 Fix linux-x86-64 shellcode (abspath) and make x/x work 2014-10-23 14:07:46 +02:00
pancake
7e1875e4ff Fix some warnings 2014-09-22 19:45:14 +02:00
pancake
dcbfaf5f88 Fix segfault in ragg2 -P -10 (thanks @maijin) (thanks @maijin) 2014-09-05 16:13:47 +02:00
pancake
30acdbf50c Refactor debruijn code and make it accessible from ragg2 -P 2014-09-05 16:03:40 +02:00
jvoisin
702ac741b9 More coverifix 2014-08-17 21:04:12 +02:00
pancake
b5b05837d1 Fix CID 1213703 2014-08-01 11:54:44 +02:00
pancake
7122cddc1f Fix #907 segfault 2014-05-09 17:49:16 +02:00
pancake
216c183b6e Remove tons of useless 'if (x) free (x)' 2014-05-09 17:40:28 +02:00
Anton Kochkov
09a8722efa Fix CID 1135016 2014-05-09 03:49:35 +04:00
Anton Kochkov
2add8d4429 Fix CID 1211169 2014-05-08 01:38:17 +04:00
Anton Kochkov
e4fbfe20d5 Fix CID 1211163 2014-05-08 01:38:17 +04:00
Anton Kochkov
eac804f345 Fix CID 1134931 2014-05-03 16:21:03 +04:00
Anton Kochkov
697e0ac485 Fix CID 1134930 2014-05-03 16:19:23 +04:00
Anton Kochkov
9c42749652 Fix CID 1134926 2014-05-03 16:10:32 +04:00
Anton Kochkov
baa6f0cbc2 Fix CID 1134888 2014-05-03 11:04:46 +04:00
Anton Kochkov
6d74150777 Fix CID 1134887 2014-05-03 11:03:24 +04:00
Anton Kochkov
b748df8de7 Fix CID 1134886 2014-05-03 11:01:36 +04:00
Anton Kochkov
f14f12e819 Fix CID 1134885 2014-05-03 11:00:15 +04:00
Anton Kochkov
65208ffb1f Fix CID 1134884 2014-05-03 10:58:56 +04:00
Anton Kochkov
0026a71fba Fix CID 1134883 2014-05-03 10:57:20 +04:00
Anton Kochkov
53d0c6ea55 Fix CID 1134882 2014-05-03 10:55:33 +04:00
Anton Kochkov
af05ccc31f Fix CID 1134881 2014-05-03 10:51:45 +04:00
Anton Kochkov
532fda4d08 Fix CID 1135016 2014-04-30 04:26:34 +04:00
Anton Kochkov
d5d32e333f Fix CID 1134490 2014-04-26 01:53:23 +04:00
Anton Kochkov
1e3adc38f8 Fix CID #1134961 2014-04-24 01:29:06 +04:00
pancake
ae20ea8132 Add ragg2-cc support for OSX-x86-64 2014-03-28 16:22:34 +01:00
pancake
51fb0a0581 Fix static typedef issues 2014-03-25 00:34:23 +01:00
pancake
57fcf95fbe Update sdb to fix close(-1) issue 2014-03-13 11:18:51 +01:00
pancake
bb7958342b Deprecate RPair API and ?k. Use SDB and integrate it with 'k' 2014-03-07 01:26:11 +01:00
pancake
9b9b04576f Purge all r_lib references 2014-02-20 22:16:23 +01:00
pancake
666ab166d1 Add 'cu' and 'arC', better 'cc' 2014-01-24 02:37:14 +01:00
pancake
f8824722b2 Fix double free 2014-01-16 00:41:47 +01:00
pancake
9f0d7e44d3 Fix some issues reported by coverity 2014-01-15 01:56:28 +01:00
pancake
38fc28f960 Added more Jamroot files 2014-01-03 00:13:46 +01:00
pancake
13ea5e467d More Jamroot files and move vm out 2013-12-31 15:57:52 +01:00
pancake
3b3bbbb916 Add more Jamroot files and move some plugs to r2-extras 2013-12-31 15:34:27 +01:00
pancake
9c1f5e73e1 Wip: Add more shellcodes for r_egg. 2013-12-22 00:42:15 +01:00
cquaid
bae7d3b970 Fix ragg2 emit_syscall and emit_string for x64. Also fixes parsedatachar()
Fix x64 emit_syscall()

Fix x64 emit_string() (sort of)

Properly adjust context in parsedatachar()

Adjust CTX
2013-12-05 14:52:54 -06:00
pancake
d025bd66f3 Fix #287 - ragg2 segfaults on uneven number of accolades 2013-10-24 00:51:26 +02:00
pancake
dece987ca3 Fix various bugs on 64bits (mach0 entry, assembler, ragg) 2013-09-14 02:42:02 +02:00
pancake
b59b8aa7e4 Add support for @naked in ragg2 2013-09-14 00:51:42 +02:00
pancake
d6de30eba4 More R_LIB_VERSION and initial r_asm_set_cpu() dummy api 2013-06-15 02:56:25 +02:00
pancake
3f1d3ba146 Better r_str_hash(), Fixes in CCa, Added ?h, Better rbin for BEOS bins
Identify Haiku binaries as 'beos' with noodle()
Fix CCa for non numeric offsets
Use sdb's r_str_hash() instead of old one (much less collisions)
Added ?h command to hash strings
CCa now appends instead of replacing comments
Do not mark as static if bin links to libs
2013-06-07 10:26:37 +02:00
pancake
3540924f40 Better paralelization of build system 2012-10-04 01:20:00 +02:00
pancake
69a12884ed Simplify the build system
doc.sw has been moved to radare2-extras
2012-10-03 14:31:35 +02:00
pancake
850045c329 Fix many bugs noticed during the training course
Fixed ragg2 -e segfault
Fix use of ragg2 -p
Fix memleaks and null derefs in rio and rsocket
Fix some build warnings
Fix the segfaults found in the ELF parser
Dwarf parsing is only done if bin.dwarf is true
2012-09-22 20:32:19 +02:00
pancake
884d35027d Fix segfault in ragg2 -e xor 2012-09-22 18:35:02 +02:00
pancake
be247348b5 Rename r_file_exist into r_file_exists 2012-09-06 08:59:13 +02:00
pancake
a8757a695f Fix android build and add r_core->anal_define api
Fix static build (libr.a)
Fix android build farm scripts
Build system is still hacky
2012-09-03 01:27:52 +02:00
pancake
10b4b5546c Fix resize command and more make race conditions 2012-08-14 01:25:50 +02:00
pancake
e365b90d5f Implement support for >- (pipe to editor)
Fix another race condition in the build system
Fix many null deref reported by clang-analyzer
Assume -w when running r2 with -d
2012-08-13 17:42:25 +02:00
pancake
526a8a66fe Fix function renaming and add some 8bit x86 ops
- 'afl' is now just listing functions
- Use 'afl*' to get also 'loc.' functions (BBs)
- Fix length in cb_hit for search
- Fix infinite build in libr/egg
- Fix 'afr' command to rename function
- Implement 8bit mov, (out,in)sb in x86.nz
- Fix ragg2 -d for one byte writes
- Fix vapi
2012-08-02 02:44:46 +02: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
3517420927 * Fix race condition building libr/debug
* Fix libr/egg and plugin's Makefiles
* Honor CPPFLAGS
2012-06-13 01:42:47 +02:00
pancake
fee1dfda07 * Fix some bugs reported by clang-analyzer 2012-05-31 02:41:45 +02:00
pancake
65d1dddfd1 * apply rudi_s patch fixing multiple bugs
- Fix uninitialized variables and other GCC warnings
  - Remove unused variables, fix invalid heap ops
  - ?p print error if VA is not
  - Fix invalid write in r_io_cache_read().
* add support for 'mov reg, [addr]' in x86.nz[32]
2012-02-12 23:45:04 +01:00
pancake
997a6dbd14 * Apply patch from @w_levin fixing lot of memory leaks - Thanks! 2011-12-16 16:33:06 +01:00
pancake
16cf2367b9 * Added unreferenced connect back shellcode for linux/mips
- kidnaped from http://www.exploit-db.com/exploits/18226/
2011-12-13 14:04:11 +01:00
pancake
f908b15fb5 * Fix android compilation
- Fix static build
  - Fix dupped symbols
* Fix all errors reported by clang-analyzer
  - Some null dereferences
  - Some uninitialized variable uses
* Fix all important warnings from the farm
  - Remove *all* uses of alloca
  - Fix many %llx format string portability issues
* Fix manpage typos reported by lintian (thanks sre)
2011-12-06 00:27:57 +01:00
pancake
8edef15e88 * Initial working import of the r_egg_xor encoder
- Fix r_egg and ragg2 accordingly
  - Based on @santitox patch. Thanks! :D
2011-12-01 03:28:12 +01:00
pancake
ec7f601e2c * Add -d -D and -w flags to ragg2
- patch dword/qword and hexpair bytes on finalize
* Initial import of the dummy Shoorisu Yagana shellcode encoder
  - just a wishlist.. do not expect it for this release
2011-11-30 10:27:01 +01:00
pancake
35d535095b * Install includes in windows dist
* Import linux-x86-32/64 and darwin-x86-32 sflib includedirs
* Simplify data installation for magic, egg, syscall and asm
* Set R2_INCDIR in r_userconf
* Make ragg2-cc much smarter
  - use ragg2 -v to get paths and version
  - accept new flags -a -b -k for arch, bits and kernel
  - supports crosscompilation

--HG--
rename : libr/magic/d/OpenBSD => libr/magic/d/default/OpenBSD
rename : libr/magic/d/archive => libr/magic/d/default/archive
rename : libr/magic/d/cafebabe => libr/magic/d/default/cafebabe
rename : libr/magic/d/cisco => libr/magic/d/default/cisco
rename : libr/magic/d/database => libr/magic/d/default/database
rename : libr/magic/d/editors => libr/magic/d/default/editors
rename : libr/magic/d/elf => libr/magic/d/default/elf
rename : libr/magic/d/filesystems => libr/magic/d/default/filesystems
rename : libr/magic/d/flash => libr/magic/d/default/flash
rename : libr/magic/d/freebsd => libr/magic/d/default/freebsd
rename : libr/magic/d/gimp => libr/magic/d/default/gimp
rename : libr/magic/d/images => libr/magic/d/default/images
rename : libr/magic/d/java => libr/magic/d/default/java
rename : libr/magic/d/jpeg => libr/magic/d/default/jpeg
rename : libr/magic/d/linux => libr/magic/d/default/linux
rename : libr/magic/d/mail.news => libr/magic/d/default/mail.news
rename : libr/magic/d/matroska => libr/magic/d/default/matroska
rename : libr/magic/d/mime => libr/magic/d/default/mime
rename : libr/magic/d/msdos => libr/magic/d/default/msdos
rename : libr/magic/d/netbsd => libr/magic/d/default/netbsd
rename : libr/magic/d/pdf => libr/magic/d/default/pdf
rename : libr/magic/d/perl => libr/magic/d/default/perl
rename : libr/magic/d/python => libr/magic/d/default/python
rename : libr/magic/d/riff => libr/magic/d/default/riff
rename : libr/magic/d/sniffer => libr/magic/d/default/sniffer
rename : libr/magic/d/sql => libr/magic/d/default/sql
rename : libr/magic/d/sun => libr/magic/d/default/sun
rename : libr/magic/d/uuencode => libr/magic/d/default/uuencode
2011-11-29 03:14:27 +01:00
pancake
83eed8c94a * Fix dup2 for w32
* Fix r_anal and r_socket vapis
* Split r_egg_run() into r_sys_run()
2011-11-16 00:44:18 +01:00
pancake
a0ed400b2c * Fix build (missing R_ANAL_BB_HAS_OPS somewhere)
- experimental change to save memory..
* Fix warning in R_MEM_ALIGN() macro
* Fix r_db vapi and add RPair vapi
* Add new r_egg vapi and python bindings
  - Add linux x86-32,64-arm shellcodes
  - Requires valabind update
2011-11-15 14:30:52 +01:00
pancake
cd35cf4508 * Added 'g' command to use r_egg api from RCore 2011-11-14 10:10:55 +01:00
pancake
cd96e35ec9 * Add ragg2 -e [encoder] to specify an encoder
- Added dummy 'xor' encoder. needs to be implemented
* Various fixes in libr/egg/p/*.mk -- requires make mrproper
* ragg2 -L list encoder and shellcode plugins

--HG--
rename : libr/egg/p/egg_x86_osx_binsh.c => libr/egg/p/egg_exec.c
rename : libr/egg/p/x86_osx_binsh.mk => libr/egg/p/exec.mk
2011-11-14 02:04:27 +01:00
pancake
33f045c3d6 * Add ragg2 -B to get user-defined hexpair bytes
* Use R_MEM_ALIGN() in r_egg_run() and rasc2
  - Fix execution of shellcode eggs
* r_egg plugins now support multiple architectures and operating systems
2011-11-14 01:17:13 +01:00
pancake
ac7f96bb0c * Add ragg2 -p to specify a padding
- Use the new r_egg_padding function
* Add support for continuations in rapatch2 '+' char
* Fix malloc(0) thanks to llvm's scan-build
* Fix build
2011-11-13 05:26:07 +01:00
pancake
94f905cfe0 * Do not build rasc2 anymore
* ragg2 now works better
  - Show bitsize in ragg2 -L
  - Added a sample plugin for x86-64 osx shellcode
    - command can be configured, suid can be enabled
* Minor fix in r_buf api

--HG--
rename : man/rasc2.1 => binr/rasc2/rasc2.1
2011-11-13 04:47:56 +01:00
pancake
e0fc376dab * Fix some t-*.sh scripts (rollback)
* Initial working version of shellcodes inside r_egg
  $ ragg2 -i x86.osx.binsh -b 64 -k osx -f mach064 -o a.out
  ragg2 -L : list all plugins
  ragg2 -i <shellcode-plugin> : select shellcode
  ragg2 -r : show raw bytes
  ragg2 -x : execute -- fails :(
* Use r_lib in r_egg
  - User defined shellcode plugins can now be loaded on runtime
* Fix append_bytes in r_egg api
* Implement r_egg option_{get|set}
* Use working shellcode for x86.osx.binsh example (64bit)
* Update pkgconfig templates
* Add -D flag to rasm2 (show hex and asm)

--HG--
rename : libr/egg/p/x86_osx_binsh.c => libr/egg/p/egg_x86_osx_binsh.c
2011-11-13 04:08:08 +01:00
pancake
9969f39564 * Initial work merging rasc2 inside r_egg
- Still unusable, but getting shape
2011-11-12 06:16:00 +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
81727c9c28 * Fix lea in x86.nz
* Some more fixes for r_egg
  - Use more tests cases
  - Warn when stackframe doesnt fits
* Make t.sh unit test tool nicer
  - Accept option flags to show asm, disasm, ..
* Add R2_PREFIX and R2_LIBDIR into r_util.vapi
2011-10-24 10:59:27 +02:00
pancake
1f7f9dc036 * Enhacements for rarun2
- add 'timeout' directive
  - directives can now be passed in arguments
  - support more than 3 args for launching
  - show default config file in help
* Added test suite for r_egg
  - Fix nested conditional and loops
  - Some situations can result in broken code
  - Code needs a huge cleanup
* Varioues fixes for x86.nz plugin to make r_egg happy
* Install python plugins into dist-packages only
  - site-packages is not the right place
* Add R2_LIBDIR and R2_PREFIX constants
* Honor LIBDIR in sdbpath for r_syscall
* Fix rabin2 -h for -C
2011-10-24 04:35:42 +02:00
pancake
0217c146ef * Fix x86.nz -> push [esp+N]
* Use pw instead of px in debugger stack view
* Disable stackptr by default
* Add OSX-32bit debugger register map
  - Fix support for debugging 32bit bins in 64bit OSes
* Implement r_egg_run() -- just in time execution
* Fix r_egg string construction and argument passing
  - Still needs more work, but at least some hello worlds work
2011-09-21 19:51:09 +02:00
pancake
fcf67d5cd2 * Fix dup anal issue
* Added sys/farm/README
2011-09-20 09:44:17 +02:00
pancake
1b440bf9d2 * Add ragg2 -I to prepend include path directories
* Enhacements in r_egg library
  - Add support for including files
    - bla.r@include($PATH);
  - Proper support for goto() keyword
  - Add support to get and set environment variables (need more work)
    - PATH@env(/bin);
  - Fix /* */ comment parsing code
2011-09-20 01:53:15 +02:00
pancake
0a14411bc1 * Added README documentation for libr/egg programming language
* Add -O flag to ragg2 as an alias for -o a.out or -o <file> (without extension)
* Add rabin2 -M (get main) for Java Class files
* Add emit_trace (code tracer) for r_egg. useful to debug
  - ragg2 -a trace hello.r
  - Add emit->jmp() function pointer and emit->retvar
  - many fixes in function calls and definitions
  - Added support for 'break;' 'break();' and 'goto();'
  - Added .ret variable as an alias for eax, rax or r0
2011-09-19 02:39:33 +02:00
pancake
838e6b7466 * Fix java class parser for javac -g files
- Show debug information in sdb format
  - Fix null pointer segfault
  - Still work-in-progress for proper debug info
* Some work on r_egg
  - Fix windows and osx default syscall tables
* Export version number in vapi R2_VERSION
* Hide ccache error if not found in sys/install
2011-09-18 18:56:11 +02:00
Nibble
0f8cc36a58 * Fix build
- Add r_db to DEPS in Makefiles
2011-09-04 11:49:32 +02:00
pancake
2c92c7d172 * Merge rapatch2 into rabin2 -p
* Honor bits in r_syscall_setup
  - Initial work on RPair in r_syscall
  - Not yet integrated, but design is mostly done
* Add r_str_split()
* Add python2 and python3 makefile rules in r2-bindings
2011-09-04 03:56:35 +02:00
pancake
f5228044f1 * exit 1 if egg assemble or compilation fails
* Simplify x86nz assembler jumps
  - Fix 'test reg, reg'
* Minor simplification of entropy.c
2011-08-14 14:11:15 +02:00
pancake
de5f4061ee * Add support for jl, jle, jg, jge, jne, je in x86.nz
- support for signed/unsigned values in r_egg
2011-08-13 17:23:24 +02:00
pancake
1424bf9701 * Initial support for 'jb' opcode in x86.nz
- hello.r now is broken because of this use
  - Ignore prefixed '$' in numeric values for r_egg
* Apply @capi_x's patch fixing a bug in 'wb' and rsc/msdn
2011-08-11 17:41:24 +02:00
pancake
b3cefac08b * Make while() and .var0-= statements work in r_egg lang
- Added support for 'add|sub [reg+delta],n' opcodes in x86.nz
* Add emit_init() function pointer to fix entrypoint issues
  - ebp has no valid value defined on entrypoints
2011-08-10 11:24:15 +02:00
pancake
168d38fc44 * Add rax2 -x to calculate string hash
* Use trim to avoid noisy chars in symbol names for egg/lang
* Properly handle osx/w32 os strings in r_egg
* Make string construction works in r_egg
* Initial work on while() constructs
2011-08-09 11:06:50 +02:00
pancake
06e98dadb1 * Add -k flag to ragg2 - select kernel
- ATM only support for linux and osx
  - Do not show asm when -f is passed
  - Added 3 test programs for osx/linux in ragg2
* Add support for 'lea' opcode in x86.nz
  - Support more 'mov [off], reg' opcodes
  - Lot of new test cases in test.nz
* Fix some segfaults and parsing bugs in egg/lang

--HG--
rename : binr/ragg2/exithello.r => binr/ragg2/t/exithello.r
2011-08-09 02:03:12 +02:00
pancake
1f48797bfb * Fix test reg, reg; mov reg, [reg] ; mov reg, [reg+off] in x86.nz
* First hello world working with ragg2 on linux-x86-32
  - Named exithello.r .. run cd binr/ragg2 ; make test
2011-08-09 00:10:12 +02:00