Add missing authors for the crypto plugins, update manpage ##hash
This commit is contained in:
parent
7150da3e56
commit
98de4be853
|
@ -1,8 +1,8 @@
|
|||
/* Copyright radare2 2014-2023 - Author: pancake, vane11ope */
|
||||
/* Copyright radare2 2014-2024 - Author: pancake, vane11ope */
|
||||
|
||||
#include <r_core.h>
|
||||
|
||||
/* few remaining static functions */
|
||||
// few remaining static functions
|
||||
static bool __init_panels_menu(RCore *core);
|
||||
static bool __init_panels(RCore *core, RPanels *panels);
|
||||
static void __init_menu_screen_settings_layout(void *_core, const char *parent);
|
||||
|
@ -120,8 +120,10 @@ static const char *menus_iocache[] = {
|
|||
};
|
||||
|
||||
static const char *menus_View[] = {
|
||||
"Console", "Hexdump", "Disassembly", "Disassemble Summary", "Decompiler", "Decompiler With Offsets", "Graph", "Tiny Graph",
|
||||
"Functions", "Function Calls", "Sections", "Segments", PANEL_TITLE_STRINGS_DATA, PANEL_TITLE_STRINGS_BIN, "Symbols", "Imports",
|
||||
"Console", "Hexdump", "Disassembly", "Disassemble Summary", "Decompiler", "Decompiler With Offsets",
|
||||
"Graph", "Tiny Graph",
|
||||
"Functions", "Function Calls", "Sections", "Segments", PANEL_TITLE_STRINGS_DATA, PANEL_TITLE_STRINGS_BIN,
|
||||
"Symbols", "Imports",
|
||||
"Info", "Database", "Breakpoints", "Comments", "Classes", "Entropy", "Entropy Fire", "Xrefs Here", "Methods",
|
||||
"Var READ address", "Var WRITE address", "Summary", "Relocs", "Headers", "File Hashes", PANEL_TITLE_ALL_DECOMPILER,
|
||||
NULL
|
||||
|
@ -143,7 +145,8 @@ static const char *menus_Emulate[] = {
|
|||
};
|
||||
|
||||
static const char *menus_Debug[] = {
|
||||
"Registers", "FPU Registers", "XMM Registers", "YMM Registers", "RegisterRefs", "RegisterCols", "DRX", "Breakpoints", "Watchpoints",
|
||||
"Registers", "FPU Registers", "XMM Registers", "YMM Registers", "RegisterRefs", "RegisterCols",
|
||||
"DRX", "Breakpoints", "Watchpoints",
|
||||
"Maps", "Modules", "Backtrace", "Locals", "Continue",
|
||||
"Stack", "Step", "Step Over", "Reload",
|
||||
NULL
|
||||
|
@ -314,8 +317,7 @@ static RPanel *__get_panel(RPanels *panels, int i) {
|
|||
|
||||
static void __update_edge_x(RCore *core, int x) {
|
||||
RPanels *panels = core->panels;
|
||||
int i, j;
|
||||
int tmp_x = 0;
|
||||
int i, j, tmp_x = 0;
|
||||
for (i = 0; i < panels->n_panels; i++) {
|
||||
RPanel *p0 = __get_panel (panels, i);
|
||||
if (p0 && (p0->view->pos.x - 2 <= panels->mouse_orig_x &&
|
||||
|
|
|
@ -100,6 +100,7 @@ static bool update(RCryptoJob *cj, const ut8 *buf, int len) {
|
|||
RCryptoPlugin r_crypto_plugin_aes_cbc = {
|
||||
.meta = {
|
||||
.name = "aes-cbc",
|
||||
.author = "pancake",
|
||||
},
|
||||
.set_key = aes_cbc_set_key,
|
||||
.get_key_size = aes_cbc_get_key_size,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* radare - LGPL - Copyright 2016-2022 - rakholiyajenish.07 */
|
||||
/* radare - LGPL - Copyright 2016-2024 - rakholiyajenish.07 */
|
||||
|
||||
#include <r_lib.h>
|
||||
#include <r_crypto.h>
|
||||
|
@ -40,7 +40,8 @@ static bool update(RCryptoJob *cj, const ut8 *buf, int len) {
|
|||
RCryptoPlugin r_crypto_plugin_base91 = {
|
||||
.meta = {
|
||||
.name = "base91",
|
||||
.author = "pancake",
|
||||
.author = "rakholiyajenish.07",
|
||||
.license = "MIT",
|
||||
},
|
||||
.implements = "base91",
|
||||
.type = R_CRYPTO_TYPE_ENCODER,
|
||||
|
|
|
@ -178,7 +178,7 @@ static void blowfish_crypt(struct blowfish_state *const state, const ut8 *inbuf,
|
|||
int index1, index2;
|
||||
|
||||
if (!state || !inbuf || !outbuf || buflen < 0 || buflen%8 != 0) {
|
||||
//let user deal with padding
|
||||
// let user deal with padding
|
||||
if (buflen % 8 != 0) {
|
||||
R_LOG_ERROR ("Invalid input length %d. Expected length is multiple of 8 bytes", buflen);
|
||||
}
|
||||
|
@ -310,10 +310,7 @@ static bool blowfish_set_key(RCryptoJob *cj, const ut8 *key, int keylen, int mod
|
|||
|
||||
static int blowfish_get_key_size(RCryptoJob *cj) {
|
||||
struct blowfish_state *st = get_st (cj);
|
||||
if (st) {
|
||||
return st->key_size;
|
||||
}
|
||||
return -1;
|
||||
return st? st->key_size: -1;
|
||||
}
|
||||
|
||||
static bool update(RCryptoJob *cj, const ut8 *buf, int len) {
|
||||
|
@ -343,6 +340,7 @@ RCryptoPlugin r_crypto_plugin_blowfish = {
|
|||
.meta = {
|
||||
.name = "blowfish",
|
||||
.license = "LGPL3",
|
||||
.author = "pancake"
|
||||
},
|
||||
.implements = "blowfish",
|
||||
.set_key = blowfish_set_key,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* radare - LGPL - Copyright 2009-2022 - pancake */
|
||||
/* radare - LGPL - Copyright 2009-2024 - pancake */
|
||||
|
||||
#include <r_lib.h>
|
||||
#include <r_crypto.h>
|
||||
|
@ -31,8 +31,7 @@ struct rc2_state {
|
|||
int key_size;
|
||||
};
|
||||
|
||||
// takes a 8-128 len ut8 key
|
||||
// expands it to a 64 len ut16 key
|
||||
// takes a 8-128 len ut8 key which expands to an 64 len ut16 key
|
||||
static bool rc2_expandKey(struct rc2_state *state, const ut8 *key, int key_len) {
|
||||
int i;
|
||||
|
||||
|
@ -103,7 +102,6 @@ static void rc2_crypt8(struct rc2_state *state, const ut8 *inbuf, ut8 *outbuf) {
|
|||
outbuf[7] = (ut8) (x76 >> 8);
|
||||
}
|
||||
|
||||
|
||||
static void rc2_dcrypt8(struct rc2_state *state, const ut8 *inbuf, ut8 *outbuf) {
|
||||
int i;
|
||||
ut16 x76, x54, x32, x10;
|
||||
|
@ -149,11 +147,10 @@ static void rc2_dcrypt8(struct rc2_state *state, const ut8 *inbuf, ut8 *outbuf)
|
|||
}
|
||||
|
||||
static void rc2_dcrypt(struct rc2_state *state, const ut8 *inbuf, ut8 *outbuf, int buflen) {
|
||||
int i;
|
||||
char data_block[BLOCK_SIZE + 1] = {0};
|
||||
int idx = 0;
|
||||
char dcrypted_block[BLOCK_SIZE + 1] = {0};
|
||||
char *ptr = (char *) outbuf;
|
||||
int i, idx = 0;
|
||||
|
||||
for (i = 0; i < buflen; i++) {
|
||||
data_block[idx] = inbuf[i];
|
||||
|
@ -184,7 +181,6 @@ static void rc2_crypt(struct rc2_state *state, const ut8 *inbuf, ut8 *outbuf, in
|
|||
idx = 0;
|
||||
}
|
||||
}
|
||||
|
||||
size_t mod = idx % BLOCK_SIZE;
|
||||
if (mod) {
|
||||
while (idx % BLOCK_SIZE) {
|
||||
|
@ -245,6 +241,8 @@ static bool fini(RCryptoJob *cj) {
|
|||
RCryptoPlugin r_crypto_plugin_rc2 = {
|
||||
.meta = {
|
||||
.name = "rc2",
|
||||
.author = "pancake",
|
||||
.license = "LGPL",
|
||||
},
|
||||
.set_key = rc2_set_key,
|
||||
.get_key_size = rc2_get_key_size,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* radare - LGPL - Copyright 2016-2022 - pancake */
|
||||
/* radare - LGPL - Copyright 2016-2024 - pancake */
|
||||
|
||||
#include <r_lib.h>
|
||||
#include <r_crypto.h>
|
||||
|
@ -18,11 +18,7 @@ static __inline void swap_bytes(ut8 *a, ut8 *b) {
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize an RC4 state buffer using the supplied key,
|
||||
* which can have arbitrary length.
|
||||
*/
|
||||
|
||||
// Initialize an RC4 state buffer using the supplied arbitrary length key,
|
||||
static bool rc4_init(struct rc4_state *const state, const ut8 *key, int keylen) {
|
||||
ut8 j;
|
||||
int i;
|
||||
|
@ -109,6 +105,8 @@ static bool fini(RCryptoJob *cj) {
|
|||
RCryptoPlugin r_crypto_plugin_rc4 = {
|
||||
.meta = {
|
||||
.name = "rc4",
|
||||
.license = "LGPL",
|
||||
.author = "pancake",
|
||||
},
|
||||
.implements = "rc4",
|
||||
.set_key = rc4_set_key,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* radare - LGPL - Copyright 2016-2022 - pancake */
|
||||
/* radare - LGPL - Copyright 2016-2024 - pancake */
|
||||
|
||||
#include <r_lib.h>
|
||||
#include <r_crypto.h>
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/* radare - LGPL - Copyright 2016-2024 - pancake */
|
||||
|
||||
#include <r_lib.h>
|
||||
#include <r_crypto.h>
|
||||
|
||||
|
@ -71,6 +73,8 @@ static bool fini(RCryptoJob *cj) {
|
|||
RCryptoPlugin r_crypto_plugin_ror = {
|
||||
.meta = {
|
||||
.name = NAME,
|
||||
.author = "pancake",
|
||||
.license = "LGPL",
|
||||
},
|
||||
.set_key = ror_set_key,
|
||||
.get_key_size = ror_get_key_size,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* radare - LGPL - Copyright 2017-2022 - pancake */
|
||||
/* radare - LGPL - Copyright 2017-2024 - pancake */
|
||||
|
||||
#include <r_lib.h>
|
||||
#include <r_crypto.h>
|
||||
|
@ -112,6 +112,8 @@ static bool end(RCryptoJob *cj, const ut8 *buf, int len) {
|
|||
RCryptoPlugin r_crypto_plugin_serpent = {
|
||||
.meta = {
|
||||
.name = "serpent-ecb",
|
||||
.license = "LGPL",
|
||||
.author = "pancake",
|
||||
},
|
||||
.set_key = serpent_set_key,
|
||||
.get_key_size = serpent_get_key_size,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* radare - LGPL - Copyright 2009-2017 - pancake */
|
||||
/* radare - LGPL - Copyright 2009-2024 - pancake */
|
||||
|
||||
#include <r_lib.h>
|
||||
#include <r_crypto.h>
|
||||
|
@ -54,6 +54,7 @@ static bool update(RCryptoJob *cj, const ut8 *buf, int len) {
|
|||
RCryptoPlugin r_crypto_plugin_xor = {
|
||||
.meta = {
|
||||
.name = "xor",
|
||||
.author = "pancake",
|
||||
.license = "MIT",
|
||||
},
|
||||
.implements = "xor",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.Dd June 7, 2023
|
||||
.Dd March 13, 2024
|
||||
.Dt R2PM 1
|
||||
.Sh NAME
|
||||
.Nm r2pm
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.Dd Mar 12, 2022
|
||||
.Dd Mar 12, 2024
|
||||
.Dt RAHASH2 1
|
||||
.Sh NAME
|
||||
.Nm rahash2
|
||||
|
@ -6,12 +6,12 @@
|
|||
.Sh SYNOPSIS
|
||||
.Nm rahash2
|
||||
.Op Fl BbdDehjrknvq
|
||||
.Op Fl a Ar algorithm
|
||||
.Op Fl a Ar algo
|
||||
.Op Fl b Ar size
|
||||
.Op Fl D Ar algo
|
||||
.Op Fl E Ar algo
|
||||
.Op Fl D Ar deco
|
||||
.Op Fl E Ar enco
|
||||
.Op Fl f Ar from
|
||||
.Op Fl i Ar iterations
|
||||
.Op Fl i Ar iters
|
||||
.Op Fl I Ar IV
|
||||
.Op Fl n Ar blocks
|
||||
.Op Fl s Ar string
|
||||
|
@ -39,11 +39,11 @@ Define the block size
|
|||
.It Fl c Ar hash
|
||||
Compare the computed hash with this one. Allowed only when a single hash is computed.
|
||||
.It Fl D Ar algo
|
||||
Decrypt instead of hash using the given algorithm (base64, base91, rc4, aes, xor, blowfish, rot, rol, ror, rc2, rc6, punycode)
|
||||
Decrypt or decode using the given algorithm (See: `rahash2 -L | grep -e ^e -e ^c`)
|
||||
.It Fl e
|
||||
Use little endian to display checksums
|
||||
.It Fl E Ar algo
|
||||
Encrypt instead of hash using the given algorithm (base64, base91, rc4, aes, xor, blowfish, rot, rol, ror, rc2, rc6, punycode)
|
||||
Encrypt or encode using the given algorithm (see `rahash2 -L | grep -e ^e -e ^c`)
|
||||
.It Fl i Ar iters
|
||||
Apply the hash Iters times to itself+seed
|
||||
.It Fl I Ar [^]s:string|hexstr
|
||||
|
@ -79,6 +79,16 @@ Show version information
|
|||
.It Fl h
|
||||
Show usage help message.
|
||||
.El
|
||||
.Sh EXAMPLES
|
||||
.Pp
|
||||
Compute the md5 of the infamous 'ls':
|
||||
.Pp
|
||||
$ rahash2 -qqa md5 /bin/ls
|
||||
.Pp
|
||||
Base64 encoded Hello World:
|
||||
.Pp
|
||||
$ rahash2 -E base64 -s hello
|
||||
.Pp
|
||||
.Sh DIAGNOSTICS
|
||||
.Ex -std
|
||||
.Pp
|
||||
|
|
|
@ -163,24 +163,24 @@ FILE=-
|
|||
CMDS=!rahash2 -L
|
||||
EXPECT=<<EOF
|
||||
c aes-ecb MIT pancake
|
||||
c aes-cbc LGPL
|
||||
c aes-cbc LGPL pancake
|
||||
c aes-wrap LGPL Sylvain Pelissier
|
||||
e base64 LGPL rakholiyajenish.07
|
||||
e base91 LGPL pancake
|
||||
c blowfish LGPL3
|
||||
e base91 MIT rakholiyajenish.07
|
||||
c blowfish LGPL3 pancake
|
||||
c cps2 LGPL pof,esanfelix
|
||||
c des-ecb LGPL deroad
|
||||
h entropy MIT pancake
|
||||
e punycode LGPL
|
||||
c rc2 LGPL
|
||||
c rc4 LGPL
|
||||
c rc2 LGPL pancake
|
||||
c rc4 LGPL pancake
|
||||
c rc6 LGPL pancake
|
||||
c rol LGPL pancake
|
||||
c ror LGPL
|
||||
c ror LGPL pancake
|
||||
c rot MIT pancake
|
||||
c serpent-ecb LGPL
|
||||
c serpent-ecb LGPL pancake
|
||||
c sm4-ecb LGPL3 Sylvain Pelissier
|
||||
c xor MIT
|
||||
c xor MIT pancake
|
||||
h md5
|
||||
h sha1
|
||||
h sha256
|
||||
|
|
Loading…
Reference in New Issue