-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial import of the rapatch2 tool ##shell
- Loading branch information
Showing
11 changed files
with
117 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
BIN=rapatch2 | ||
|
||
BINDEPS=r_core r_search r_cons r_config | ||
BINDEPS+=r_bin r_debug r_anal r_reg r_bp r_io r_fs | ||
BINDEPS+=r_lang r_asm r_syscall r_main r_util r_esil | ||
BINDEPS+=r_magic r_socket r_flag r_egg r_crypto | ||
|
||
include ../rules.mk | ||
|
||
ifeq ($(OSTYPE),android) | ||
LDFLAGS+=${DL_LIBS} -lm | ||
endif | ||
|
||
include ../../libr/socket/deps.mk | ||
include ../../libr/main/deps.mk | ||
include ../../shlr/zip/deps.mk | ||
include ../../shlr/gdb/deps.mk | ||
include ../../shlr/bochs/deps.mk | ||
include ../../shlr/qnx/deps.mk | ||
include ../../shlr/ar/deps.mk | ||
|
||
LDFLAGS+=$(LINK) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
executable('rapatch2', 'rapatch2.c', | ||
include_directories: [platform_inc], | ||
dependencies: [ | ||
r_util_dep, | ||
r_main_dep, | ||
r_io_dep, | ||
r_search_dep, | ||
r_cons_dep, | ||
r_core_dep, | ||
r_bin_dep, | ||
r_anal_dep, | ||
r_asm_dep, | ||
r_crypto_dep, | ||
r_config_dep | ||
], | ||
install: true, | ||
install_rpath: rpath_exe, | ||
implicit_include_directories: false | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
/* radare - LGPL - Copyright 2024 - pancake */ | ||
|
||
#include <r_main.h> | ||
|
||
int main (int argc, const char *argv[]) { | ||
return r_main_rapatch2 (argc, argv); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
/* radare - LGPL - Copyright 2024 - pancake */ | ||
|
||
#define R_LOG_ORIGIN "rapatch2" | ||
|
||
#include <r_core.h> | ||
#include <r_main.h> | ||
|
||
static int show_help(int v) { | ||
printf ("Usage: rapatch2 [-R] [origfile] ([patchfile])\n"); | ||
if (v) { | ||
printf ( | ||
" -R reverse patch\n" | ||
); | ||
} | ||
return 1; | ||
} | ||
|
||
R_API int r_main_rapatch2(int argc, const char **argv) { | ||
RGetopt opt; | ||
int o; | ||
|
||
bool reverse = false; | ||
|
||
r_getopt_init (&opt, argc, argv, "hR"); | ||
while ((o = r_getopt_next (&opt)) != -1) { | ||
switch (o) { | ||
case 'h': | ||
return show_help (1); | ||
case 'R': | ||
reverse = true; | ||
break; | ||
default: | ||
return show_help (0); | ||
} | ||
} | ||
|
||
if (argc < 3 || opt.ind + 2 > argc) { | ||
return show_help (0); | ||
} | ||
const char *file = (opt.ind < argc)? argv[opt.ind]: NULL; | ||
const char *patchfile = (opt.ind + 1 < argc)? argv[opt.ind + 1]: NULL; | ||
|
||
if (R_STR_ISEMPTY (file) || R_STR_ISEMPTY (patchfile)) { | ||
R_LOG_ERROR ("Cannot open empty path"); | ||
return 1; | ||
} | ||
if (reverse) { | ||
R_LOG_TODO ("reverse patch not yet supported"); | ||
} | ||
const char *r2argv[5] = { | ||
"radare2", | ||
"-qwP", | ||
patchfile, | ||
file, | ||
NULL | ||
}; | ||
r_main_radare2 (5, r2argv); | ||
|
||
return 0; | ||
} |