mirror of
https://github.com/radareorg/radare2.git
synced 2024-10-07 18:43:45 +00:00
Fix Windows build and a bunch of scary warnings
This commit is contained in:
parent
980b8136aa
commit
702afebc66
@ -16,7 +16,6 @@ include ${STATIC_BIN_PLUGINS}
|
||||
include ${STATIC_BIN_XTR_PLUGINS}
|
||||
include $(SHLR)/java/deps.mk
|
||||
include $(SHLR)/ar/deps.mk
|
||||
include $(SHLR)/lz4/deps.mk
|
||||
|
||||
STATIC_OBJS=$(addprefix $(LTOP)/bin/p/, $(STATIC_OBJ))
|
||||
OBJS=bin.o dbginfo.o bin_write.o demangle.o dwarf.o filter.o
|
||||
|
@ -42,8 +42,7 @@ struct minidump_memory_info *r_bin_mdmp_get_mem_info(struct r_bin_mdmp_obj *obj,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ut32 r_bin_mdmp_get_srwx(struct r_bin_mdmp_obj *obj, ut64 vaddr)
|
||||
{
|
||||
ut32 r_bin_mdmp_get_srwx(struct r_bin_mdmp_obj *obj, ut64 vaddr) {
|
||||
struct minidump_memory_info *mem_info;
|
||||
|
||||
if (!(mem_info = r_bin_mdmp_get_mem_info(obj, vaddr))) {
|
||||
@ -691,24 +690,29 @@ static bool r_bin_mdmp_patch_pe_headers(RBuffer *pe_buf) {
|
||||
|
||||
static int check_pe32_bytes(const ut8 *buf, ut64 length) {
|
||||
unsigned int idx;
|
||||
if (!buf) return false;
|
||||
if (length <= 0x3d)
|
||||
if (!buf || length <= 0x3d) {
|
||||
return false;
|
||||
}
|
||||
idx = (buf[0x3c] | (buf[0x3d]<<8));
|
||||
if (length > idx+0x18+2)
|
||||
if (!memcmp (buf, "MZ", 2) && !memcmp (buf+idx, "PE", 2) && !memcmp (buf+idx+0x18, "\x0b\x01", 2))
|
||||
if (length > idx + 0x18 + 2) {
|
||||
if (!memcmp (buf, "MZ", 2) && !memcmp (buf+idx, "PE", 2) && !memcmp (buf+idx+0x18, "\x0b\x01", 2)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static int check_pe64_bytes(const ut8 *buf, ut64 length) {
|
||||
int idx, ret = false;
|
||||
if (!buf || length <= 0x3d)
|
||||
if (!buf || length <= 0x3d) {
|
||||
return false;
|
||||
}
|
||||
idx = buf[0x3c] | (buf[0x3d]<<8);
|
||||
if (length >= idx+0x20)
|
||||
if (!memcmp (buf, "MZ", 2) && !memcmp (buf+idx, "PE", 2) && !memcmp (buf+idx+0x18, "\x0b\x02", 2))
|
||||
if (length >= idx + 0x20) {
|
||||
if (!memcmp (buf, "MZ", 2) && !memcmp (buf+idx, "PE", 2) && !memcmp (buf+idx+0x18, "\x0b\x02", 2)) {
|
||||
ret = true;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -727,7 +731,7 @@ static bool r_bin_mdmp_init_pe_bins(struct r_bin_mdmp_obj *obj) {
|
||||
if (!(paddr = r_bin_mdmp_get_paddr (obj, module->base_of_image))) {
|
||||
continue;
|
||||
}
|
||||
ut32 left = 0;
|
||||
int left = 0;
|
||||
const ut8 *b = r_buf_get_at (obj->b, paddr, &left);
|
||||
buf = r_buf_new_with_bytes (b, R_MIN (left, module->size_of_image));
|
||||
dup = false;
|
||||
@ -738,7 +742,9 @@ static bool r_bin_mdmp_init_pe_bins(struct r_bin_mdmp_obj *obj) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (dup) continue;
|
||||
if (dup) {
|
||||
continue;
|
||||
}
|
||||
if (!(pe32_bin = R_NEW0 (struct Pe32_r_bin_mdmp_pe_bin))) {
|
||||
continue;
|
||||
}
|
||||
@ -755,7 +761,9 @@ static bool r_bin_mdmp_init_pe_bins(struct r_bin_mdmp_obj *obj) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (dup) continue;
|
||||
if (dup) {
|
||||
continue;
|
||||
}
|
||||
if (!(pe64_bin = R_NEW0 (struct Pe64_r_bin_mdmp_pe_bin))) {
|
||||
continue;
|
||||
}
|
||||
@ -768,7 +776,6 @@ static bool r_bin_mdmp_init_pe_bins(struct r_bin_mdmp_obj *obj) {
|
||||
}
|
||||
r_buf_free (buf);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -795,9 +802,10 @@ static int r_bin_mdmp_init(struct r_bin_mdmp_obj *obj) {
|
||||
|
||||
struct r_bin_mdmp_obj *r_bin_mdmp_new_buf(struct r_buf_t *buf) {
|
||||
bool fail = false;
|
||||
struct r_bin_mdmp_obj *obj;
|
||||
|
||||
obj = R_NEW0 (struct r_bin_mdmp_obj);
|
||||
struct r_bin_mdmp_obj *obj = R_NEW0 (struct r_bin_mdmp_obj);
|
||||
if (!obj) {
|
||||
return NULL;
|
||||
}
|
||||
obj->kv = sdb_new0 ();
|
||||
obj->b = r_buf_new ();
|
||||
obj->size = (ut32)buf->length;
|
||||
|
@ -8,40 +8,40 @@
|
||||
|
||||
#include "mdmp_windefs.h"
|
||||
|
||||
#define MEM_COMMIT 0x01000
|
||||
#define MEM_FREE 0x10000
|
||||
#define MEM_RESERVE 0x02000
|
||||
#define MDMP_MEM_COMMIT 0x01000
|
||||
#define MDMP_MEM_FREE 0x10000
|
||||
#define MDMP_MEM_RESERVE 0x02000
|
||||
|
||||
#define MEM_IMAGE 0x1000000
|
||||
#define MEM_MAPPED 0x0040000
|
||||
#define MEM_PRIVATE 0x0020000
|
||||
#define MDMP_MEM_IMAGE 0x1000000
|
||||
#define MDMP_MEM_MAPPED 0x0040000
|
||||
#define MDMP_MEM_PRIVATE 0x0020000
|
||||
|
||||
#define PROCESSOR_ARCHITECTURE_INTEL 0x0000
|
||||
#define PROCESSOR_ARCHITECTURE_ARM 0x0005
|
||||
#define PROCESSOR_ARCHITECTURE_IA64 0x0006
|
||||
#define PROCESSOR_ARCHITECTURE_AMD64 0x0009
|
||||
#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
|
||||
#define MDMP_PROCESSOR_ARCHITECTURE_INTEL 0x0000
|
||||
#define MDMP_PROCESSOR_ARCHITECTURE_ARM 0x0005
|
||||
#define MDMP_PROCESSOR_ARCHITECTURE_IA64 0x0006
|
||||
#define MDMP_PROCESSOR_ARCHITECTURE_AMD64 0x0009
|
||||
#define MDMP_PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
|
||||
|
||||
#define VER_NT_WORKSTATION 0x0000001
|
||||
#define VER_NT_DOMAIN_CONTROLLER 0x0000002
|
||||
#define VER_NT_SERVER 0x0000003
|
||||
#define MDMP_VER_NT_WORKSTATION 0x0000001
|
||||
#define MDMP_VER_NT_DOMAIN_CONTROLLER 0x0000002
|
||||
#define MDMP_VER_NT_SERVER 0x0000003
|
||||
|
||||
#define VER_PLATFORM_WIN32s 0x0000
|
||||
#define VER_PLATFORM_WIN32_WINDOWS 0x0001
|
||||
#define VER_PLATFORM_WIN32_NT 0x0002
|
||||
#define MDMP_VER_PLATFORM_WIN32s 0x0000
|
||||
#define MDMP_VER_PLATFORM_WIN32_WINDOWS 0x0001
|
||||
#define MDMP_VER_PLATFORM_WIN32_NT 0x0002
|
||||
|
||||
#define VER_SUITE_SMALLBUSINESS 0x00000001
|
||||
#define VER_SUITE_ENTERPRISE 0x00000002
|
||||
#define VER_SUITE_BACKOFFICE 0x00000004
|
||||
#define VER_SUITE_TERMINAL 0x00000010
|
||||
#define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020
|
||||
#define VER_SUITE_EMBEDDEDNT 0x00000040
|
||||
#define VER_SUITE_DATACENTER 0x00000080
|
||||
#define VER_SUITE_SINGLEUSERTS 0x00000100
|
||||
#define VER_SUITE_PERSONAL 0x00000200
|
||||
#define VER_SUITE_BLADE 0x00000400
|
||||
#define VER_SUITE_STORAGE_SERVER 0x00002000
|
||||
#define VER_SUITE_COMPUTE_SERVER 0x00004000
|
||||
#define MDMP_VER_SUITE_SMALLBUSINESS 0x00000001
|
||||
#define MDMP_VER_SUITE_ENTERPRISE 0x00000002
|
||||
#define MDMP_VER_SUITE_BACKOFFICE 0x00000004
|
||||
#define MDMP_VER_SUITE_TERMINAL 0x00000010
|
||||
#define MDMP_VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020
|
||||
#define MDMP_VER_SUITE_EMBEDDEDNT 0x00000040
|
||||
#define MDMP_VER_SUITE_DATACENTER 0x00000080
|
||||
#define MDMP_VER_SUITE_SINGLEUSERTS 0x00000100
|
||||
#define MDMP_VER_SUITE_PERSONAL 0x00000200
|
||||
#define MDMP_VER_SUITE_BLADE 0x00000400
|
||||
#define MDMP_VER_SUITE_STORAGE_SERVER 0x00002000
|
||||
#define MDMP_VER_SUITE_COMPUTE_SERVER 0x00004000
|
||||
|
||||
#define MDMP_MAGIC "\x4D\x44\x4D\x50\x93\xA7"
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include <r_util.h>
|
||||
#include <r_lib.h>
|
||||
#include <r_bin.h>
|
||||
|
||||
#include "pe_specs.h"
|
||||
|
||||
#ifndef _INCLUDE_R_BIN_PE_H_
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* radare - LGPL - Copyright 2008 nibble<.ds@gmail.com> */
|
||||
/* radare - LGPL - Copyright 2008 nibble */
|
||||
|
||||
#undef PE_
|
||||
#undef ILT_MASK1
|
||||
@ -160,100 +160,100 @@ typedef struct {
|
||||
|
||||
//language
|
||||
|
||||
#define LANG_NEUTRAL 0x00
|
||||
#define LANG_INVARIANT 0x7f
|
||||
#define LANG_AFRIKAANS 0x36
|
||||
#define LANG_ALBANIAN 0x1c
|
||||
#define LANG_ARABIC 0x01
|
||||
#define LANG_ARMENIAN 0x2b
|
||||
#define LANG_ASSAMESE 0x4d
|
||||
#define LANG_AZERI 0x2c
|
||||
#define LANG_BASQUE 0x2d
|
||||
#define LANG_BELARUSIAN 0x23
|
||||
#define LANG_BENGALI 0x45
|
||||
#define LANG_BULGARIAN 0x02
|
||||
#define LANG_CATALAN 0x03
|
||||
#define LANG_CHINESE 0x04
|
||||
#define LANG_CROATIAN 0x1a
|
||||
#define LANG_CZECH 0x05
|
||||
#define LANG_DANISH 0x06
|
||||
#define LANG_DIVEHI 0x65
|
||||
#define LANG_DUTCH 0x13
|
||||
#define LANG_ENGLISH 0x09
|
||||
#define LANG_ESTONIAN 0x25
|
||||
#define LANG_FAEROESE 0x38
|
||||
#define LANG_FARSI 0x29
|
||||
#define LANG_FINNISH 0x0b
|
||||
#define LANG_FRENCH 0x0c
|
||||
#define LANG_GALICIAN 0x56
|
||||
#define LANG_GEORGIAN 0x37
|
||||
#define LANG_GERMAN 0x07
|
||||
#define LANG_GREEK 0x08
|
||||
#define LANG_GUJARATI 0x47
|
||||
#define LANG_HEBREW 0x0d
|
||||
#define LANG_HINDI 0x39
|
||||
#define LANG_HUNGARIAN 0x0e
|
||||
#define LANG_ICELANDIC 0x0f
|
||||
#define LANG_INDONESIAN 0x21
|
||||
#define LANG_ITALIAN 0x10
|
||||
#define LANG_JAPANESE 0x11
|
||||
#define LANG_KANNADA 0x4b
|
||||
#define LANG_KASHMIRI 0x60
|
||||
#define LANG_KAZAK 0x3f
|
||||
#define LANG_KONKANI 0x57
|
||||
#define LANG_KOREAN 0x12
|
||||
#define LANG_KYRGYZ 0x40
|
||||
#define LANG_LATVIAN 0x26
|
||||
#define LANG_LITHUANIAN 0x27
|
||||
#define LANG_MACEDONIAN 0x2f
|
||||
#define LANG_MALAY 0x3e
|
||||
#define LANG_MALAYALAM 0x4c
|
||||
#define LANG_MANIPURI 0x58
|
||||
#define LANG_MARATHI 0x4e
|
||||
#define LANG_MONGOLIAN 0x50
|
||||
#define LANG_NEPALI 0x61
|
||||
#define LANG_NORWEGIAN 0x14
|
||||
#define LANG_ORIYA 0x48
|
||||
#define LANG_POLISH 0x15
|
||||
#define LANG_PORTUGUESE 0x16
|
||||
#define LANG_PUNJABI 0x46
|
||||
#define LANG_ROMANIAN 0x18
|
||||
#define LANG_RUSSIAN 0x19
|
||||
#define LANG_SANSKRIT 0x4f
|
||||
#define LANG_SERBIAN 0x1a
|
||||
#define LANG_SINDHI 0x59
|
||||
#define LANG_SLOVAK 0x1b
|
||||
#define LANG_SLOVENIAN 0x24
|
||||
#define LANG_SPANISH 0x0a
|
||||
#define LANG_SWAHILI 0x41
|
||||
#define LANG_SWEDISH 0x1d
|
||||
#define LANG_SYRIAC 0x5a
|
||||
#define LANG_TAMIL 0x49
|
||||
#define LANG_TATAR 0x44
|
||||
#define LANG_TELUGU 0x4a
|
||||
#define LANG_THAI 0x1e
|
||||
#define LANG_TURKISH 0x1f
|
||||
#define LANG_UKRAINIAN 0x22
|
||||
#define LANG_URDU 0x20
|
||||
#define LANG_UZBEK 0x43
|
||||
#define LANG_VIETNAMESE 0x2a
|
||||
#define LANG_GAELIC 0x3c
|
||||
#define LANG_MALTESE 0x3a
|
||||
#define LANG_MAORI 0x28
|
||||
#define LANG_RHAETO_ROMANCE 0x17
|
||||
#define LANG_SAAMI 0x3b
|
||||
#define LANG_SORBIAN 0x2e
|
||||
#define LANG_SUTU 0x30
|
||||
#define LANG_TSONGA 0x31
|
||||
#define LANG_TSWANA 0x32
|
||||
#define LANG_VENDA 0x33
|
||||
#define LANG_XHOSA 0x34
|
||||
#define LANG_ZULU 0x35
|
||||
#define LANG_ESPERANTO 0x8f
|
||||
#define LANG_WALON 0x90
|
||||
#define LANG_CORNISH 0x91
|
||||
#define LANG_WELSH 0x92
|
||||
#define LANG_BRETON 0x93
|
||||
#define PE_LANG_NEUTRAL 0x00
|
||||
#define PE_LANG_INVARIANT 0x7f
|
||||
#define PE_LANG_AFRIKAANS 0x36
|
||||
#define PE_LANG_ALBANIAN 0x1c
|
||||
#define PE_LANG_ARABIC 0x01
|
||||
#define PE_LANG_ARMENIAN 0x2b
|
||||
#define PE_LANG_ASSAMESE 0x4d
|
||||
#define PE_LANG_AZERI 0x2c
|
||||
#define PE_LANG_BASQUE 0x2d
|
||||
#define PE_LANG_BELARUSIAN 0x23
|
||||
#define PE_LANG_BENGALI 0x45
|
||||
#define PE_LANG_BULGARIAN 0x02
|
||||
#define PE_LANG_CATALAN 0x03
|
||||
#define PE_LANG_CHINESE 0x04
|
||||
#define PE_LANG_CROATIAN 0x1a
|
||||
#define PE_LANG_CZECH 0x05
|
||||
#define PE_LANG_DANISH 0x06
|
||||
#define PE_LANG_DIVEHI 0x65
|
||||
#define PE_LANG_DUTCH 0x13
|
||||
#define PE_LANG_ENGLISH 0x09
|
||||
#define PE_LANG_ESTONIAN 0x25
|
||||
#define PE_LANG_FAEROESE 0x38
|
||||
#define PE_LANG_FARSI 0x29
|
||||
#define PE_LANG_FINNISH 0x0b
|
||||
#define PE_LANG_FRENCH 0x0c
|
||||
#define PE_LANG_GALICIAN 0x56
|
||||
#define PE_LANG_GEORGIAN 0x37
|
||||
#define PE_LANG_GERMAN 0x07
|
||||
#define PE_LANG_GREEK 0x08
|
||||
#define PE_LANG_GUJARATI 0x47
|
||||
#define PE_LANG_HEBREW 0x0d
|
||||
#define PE_LANG_HINDI 0x39
|
||||
#define PE_LANG_HUNGARIAN 0x0e
|
||||
#define PE_LANG_ICELANDIC 0x0f
|
||||
#define PE_LANG_INDONESIAN 0x21
|
||||
#define PE_LANG_ITALIAN 0x10
|
||||
#define PE_LANG_JAPANESE 0x11
|
||||
#define PE_LANG_KANNADA 0x4b
|
||||
#define PE_LANG_KASHMIRI 0x60
|
||||
#define PE_LANG_KAZAK 0x3f
|
||||
#define PE_LANG_KONKANI 0x57
|
||||
#define PE_LANG_KOREAN 0x12
|
||||
#define PE_LANG_KYRGYZ 0x40
|
||||
#define PE_LANG_LATVIAN 0x26
|
||||
#define PE_LANG_LITHUANIAN 0x27
|
||||
#define PE_LANG_MACEDONIAN 0x2f
|
||||
#define PE_LANG_MALAY 0x3e
|
||||
#define PE_LANG_MALAYALAM 0x4c
|
||||
#define PE_LANG_MANIPURI 0x58
|
||||
#define PE_LANG_MARATHI 0x4e
|
||||
#define PE_LANG_MONGOLIAN 0x50
|
||||
#define PE_LANG_NEPALI 0x61
|
||||
#define PE_LANG_NORWEGIAN 0x14
|
||||
#define PE_LANG_ORIYA 0x48
|
||||
#define PE_LANG_POLISH 0x15
|
||||
#define PE_LANG_PORTUGUESE 0x16
|
||||
#define PE_LANG_PUNJABI 0x46
|
||||
#define PE_LANG_ROMANIAN 0x18
|
||||
#define PE_LANG_RUSSIAN 0x19
|
||||
#define PE_LANG_SANSKRIT 0x4f
|
||||
#define PE_LANG_SERBIAN 0x1a
|
||||
#define PE_LANG_SINDHI 0x59
|
||||
#define PE_LANG_SLOVAK 0x1b
|
||||
#define PE_LANG_SLOVENIAN 0x24
|
||||
#define PE_LANG_SPANISH 0x0a
|
||||
#define PE_LANG_SWAHILI 0x41
|
||||
#define PE_LANG_SWEDISH 0x1d
|
||||
#define PE_LANG_SYRIAC 0x5a
|
||||
#define PE_LANG_TAMIL 0x49
|
||||
#define PE_LANG_TATAR 0x44
|
||||
#define PE_LANG_TELUGU 0x4a
|
||||
#define PE_LANG_THAI 0x1e
|
||||
#define PE_LANG_TURKISH 0x1f
|
||||
#define PE_LANG_UKRAINIAN 0x22
|
||||
#define PE_LANG_URDU 0x20
|
||||
#define PE_LANG_UZBEK 0x43
|
||||
#define PE_LANG_VIETNAMESE 0x2a
|
||||
#define PE_LANG_GAELIC 0x3c
|
||||
#define PE_LANG_MALTESE 0x3a
|
||||
#define PE_LANG_MAORI 0x28
|
||||
#define PE_LANG_RHAETO_ROMANCE 0x17
|
||||
#define PE_LANG_SAAMI 0x3b
|
||||
#define PE_LANG_SORBIAN 0x2e
|
||||
#define PE_LANG_SUTU 0x30
|
||||
#define PE_LANG_TSONGA 0x31
|
||||
#define PE_LANG_TSWANA 0x32
|
||||
#define PE_LANG_VENDA 0x33
|
||||
#define PE_LANG_XHOSA 0x34
|
||||
#define PE_LANG_ZULU 0x35
|
||||
#define PE_LANG_ESPERANTO 0x8f
|
||||
#define PE_LANG_WALON 0x90
|
||||
#define PE_LANG_CORNISH 0x91
|
||||
#define PE_LANG_WELSH 0x92
|
||||
#define PE_LANG_BRETON 0x93
|
||||
|
||||
typedef struct {
|
||||
ut32 VirtualAddress;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* radare2 - LGPL - Copyright 2016 - Davis, Alex Kornitzer */
|
||||
/* radare2 - LGPL - Copyright 2016-2017 - Davis, Alex Kornitzer */
|
||||
|
||||
#include <r_types.h>
|
||||
#include <r_util.h>
|
||||
@ -18,21 +18,16 @@ static void r_bbin_mem_free(void *data) {
|
||||
free (mem);
|
||||
}
|
||||
|
||||
|
||||
static ut64 baddr(RBinFile *bf) {
|
||||
return 0LL;
|
||||
}
|
||||
|
||||
static Sdb *get_sdb(RBinFile *bf) {
|
||||
struct r_bin_mdmp_obj *obj;
|
||||
|
||||
if (!(bf)) return NULL;
|
||||
|
||||
obj = (struct r_bin_mdmp_obj *)bf->o->bin_obj;
|
||||
|
||||
if (obj && (obj->kv)) return obj->kv;
|
||||
|
||||
return NULL;
|
||||
if (!bf || !bf->o) {
|
||||
return NULL;
|
||||
}
|
||||
struct r_bin_mdmp_obj *obj = (struct r_bin_mdmp_obj *)bf->o->bin_obj;
|
||||
return (obj && obj->kv) ? obj->kv: NULL;
|
||||
}
|
||||
|
||||
static int destroy(RBinFile *bf) {
|
||||
@ -91,24 +86,23 @@ static RBinInfo *info(RBinFile *bf) {
|
||||
sdb_set (bf->sdb, "mdmp.flags", sdb_fmt (0, "0x%08x", obj->hdr->flags), 0);
|
||||
sdb_num_set (bf->sdb, "mdmp.streams", obj->hdr->number_of_streams, 0);
|
||||
|
||||
if (obj->streams.system_info)
|
||||
{
|
||||
if (obj->streams.system_info) {
|
||||
switch (obj->streams.system_info->processor_architecture) {
|
||||
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||
case MDMP_PROCESSOR_ARCHITECTURE_INTEL:
|
||||
ret->machine = strdup ("i386");
|
||||
ret->arch = strdup ("x86");
|
||||
ret->bits = 32;
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_ARM:
|
||||
case MDMP_PROCESSOR_ARCHITECTURE_ARM:
|
||||
ret->machine = strdup ("ARM");
|
||||
ret->big_endian = false;
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_IA64:
|
||||
case MDMP_PROCESSOR_ARCHITECTURE_IA64:
|
||||
ret->machine = strdup ("IA64");
|
||||
ret->arch = strdup ("IA64");
|
||||
ret->bits = 64;
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_AMD64:
|
||||
case MDMP_PROCESSOR_ARCHITECTURE_AMD64:
|
||||
ret->machine = strdup ("AMD64");
|
||||
ret->arch = strdup ("x86");
|
||||
ret->bits = 64;
|
||||
@ -118,19 +112,19 @@ static RBinInfo *info(RBinFile *bf) {
|
||||
}
|
||||
|
||||
switch (obj->streams.system_info->product_type) {
|
||||
case VER_NT_WORKSTATION:
|
||||
case MDMP_VER_NT_WORKSTATION:
|
||||
ret->os = r_str_newf ("Windows NT Workstation %d.%d.%d",
|
||||
obj->streams.system_info->major_version,
|
||||
obj->streams.system_info->minor_version,
|
||||
obj->streams.system_info->build_number);
|
||||
break;
|
||||
case VER_NT_DOMAIN_CONTROLLER:
|
||||
case MDMP_VER_NT_DOMAIN_CONTROLLER:
|
||||
ret->os = r_str_newf ("Windows NT Server Domain Controller %d.%d.%d",
|
||||
obj->streams.system_info->major_version,
|
||||
obj->streams.system_info->minor_version,
|
||||
obj->streams.system_info->build_number);
|
||||
break;
|
||||
case VER_NT_SERVER:
|
||||
case MDMP_VER_NT_SERVER:
|
||||
ret->os = r_str_newf ("Windows NT Server %d.%d.%d",
|
||||
obj->streams.system_info->major_version,
|
||||
obj->streams.system_info->minor_version,
|
||||
@ -154,6 +148,9 @@ static RList* libs(RBinFile *bf) {
|
||||
RList *ret = NULL;
|
||||
RListIter *it;
|
||||
|
||||
if (!bf || !bf->o || !bf->o->bin_obj) {
|
||||
return NULL;
|
||||
}
|
||||
if (!(ret = r_list_newf (free))) {
|
||||
return NULL;
|
||||
}
|
||||
@ -182,7 +179,6 @@ static RList* libs(RBinFile *bf) {
|
||||
}
|
||||
free (libs);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,8 @@
|
||||
#include <r_bin.h>
|
||||
#include <r_io.h>
|
||||
#include <r_cons.h>
|
||||
#include "../../../shlr/lz4/lz4.h"
|
||||
// #include "../../../shlr/lz4/lz4.h"
|
||||
#include "../../../shlr/lz4/lz4.c"
|
||||
|
||||
#define NSO_OFF(x) r_offsetof (NSOHeader, x)
|
||||
|
||||
|
@ -62,9 +62,8 @@ static RList * extractall(RBin *bin) {
|
||||
return result;
|
||||
}
|
||||
|
||||
static inline void fill_metadata_info_from_hdr(RBinXtrMetadata *meta,
|
||||
struct MACH0_ (mach_header) *hdr) {
|
||||
meta->arch = MACH0_(get_cputype_from_hdr) (hdr);
|
||||
static inline void fill_metadata_info_from_hdr(RBinXtrMetadata *meta, struct MACH0_ (mach_header) *hdr) {
|
||||
meta->arch = strdup (MACH0_(get_cputype_from_hdr) (hdr));
|
||||
meta->bits = MACH0_(get_bits_from_hdr) (hdr);
|
||||
meta->machine = MACH0_(get_cpusubtype_from_hdr) (hdr);
|
||||
meta->type = MACH0_(get_filetype_from_hdr) (hdr);
|
||||
|
@ -1,4 +1,5 @@
|
||||
OBJ_NSO=bin_nso.o
|
||||
#include $(SHLR)/lz4/deps.mk
|
||||
|
||||
STATIC_OBJ+=${OBJ_NSO}
|
||||
TARGET_NSO=bin_nso.${EXT_SO}
|
||||
|
@ -259,7 +259,7 @@ static int rap__listener(RIODesc *fd) {
|
||||
static char *rap__system(RIO *io, RIODesc *fd, const char *command) {
|
||||
int ret, reslen = 0, cmdlen = 0;
|
||||
RSocket *s = RIORAP_FD (fd);
|
||||
unsigned int i, j = 0;
|
||||
unsigned int i;
|
||||
char *ptr, *res, *str;
|
||||
ut8 buf[RMT_MAX];
|
||||
|
||||
@ -340,9 +340,8 @@ static char *rap__system(RIO *io, RIODesc *fd, const char *command) {
|
||||
ptr[i] = 0;
|
||||
if (io->cb_printf) {
|
||||
io->cb_printf ("%s", ptr);
|
||||
j = i;
|
||||
} else {
|
||||
j = write (1, ptr, i);
|
||||
(void)write (1, ptr, i);
|
||||
}
|
||||
free (ptr);
|
||||
}
|
||||
@ -352,7 +351,6 @@ static char *rap__system(RIO *io, RIODesc *fd, const char *command) {
|
||||
ret -= r_socket_read (s, (ut8*)buf, RMT_MAX);
|
||||
}
|
||||
#endif
|
||||
//int delta = i - j;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,8 @@ SHLR?=$(shell pwd)
|
||||
AR?=ar
|
||||
RANLIB?=ranlib
|
||||
MODS=sdb zip udis86 java tcc
|
||||
MODS+=gdb qnx ar lz4
|
||||
MODS+=gdb qnx ar
|
||||
# lz4
|
||||
ifneq ($(CC),cccl)
|
||||
ifeq (1,$(WITH_GPL))
|
||||
MODS+=grub
|
||||
|
@ -8293,7 +8293,7 @@ R_API char *r_bin_java_resolve_b64_encode(RBinJavaObj *BIN_OBJ, ut16 idx) {
|
||||
out = malloc (34);
|
||||
memset (out, 0, 34);
|
||||
if (str) {
|
||||
snprintf (str, 34, "0x%llx", r_bin_java_raw_to_long (item->info.cp_long.bytes.raw, 0));
|
||||
snprintf (str, 34, "0x%"PFMT64x, r_bin_java_raw_to_long (item->info.cp_long.bytes.raw, 0));
|
||||
r_base64_encode (out, (const ut8 *) str, strlen (str));
|
||||
free (str);
|
||||
str = out;
|
||||
|
@ -1,3 +1,4 @@
|
||||
include ../../libr/config.mk
|
||||
# ################################################################
|
||||
# LZ4 library - Makefile
|
||||
# Copyright (C) Yann Collet 2011-2016
|
||||
@ -77,18 +78,21 @@ default: lib-release
|
||||
lib-release: DEBUGFLAGS :=
|
||||
lib-release: lib
|
||||
|
||||
lib: liblz4.a liblz4
|
||||
EXT_AR?=a
|
||||
|
||||
lib: liblz4.$(EXT_AR)
|
||||
# liblz4
|
||||
|
||||
all: lib
|
||||
|
||||
all32: CFLAGS+=-m32
|
||||
all32: all
|
||||
|
||||
liblz4.a: $(SRCFILES)
|
||||
liblz4.$(EXT_AR): $(SRCFILES)
|
||||
ifeq ($(BUILD_STATIC),yes) # can be disabled on command line
|
||||
@echo compiling static library
|
||||
@$(CC) $(CPPFLAGS) $(CFLAGS) -c $^
|
||||
@$(AR) rcs $@ *.o
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) -c $^
|
||||
$(AR) rcs $@ *.o
|
||||
endif
|
||||
|
||||
$(LIBLZ4): $(SRCFILES)
|
||||
@ -107,7 +111,7 @@ liblz4: $(LIBLZ4)
|
||||
|
||||
clean:
|
||||
@$(RM) core *.o liblz4.pc dll/liblz4.dll dll/liblz4.lib
|
||||
@$(RM) *.a *.$(SHARED_EXT) *.$(SHARED_EXT_MAJOR) *.$(SHARED_EXT_VER)
|
||||
@$(RM) *.$(EXT_AR) *.$(SHARED_EXT) *.$(SHARED_EXT_MAJOR) *.$(SHARED_EXT_VER)
|
||||
@echo Cleaning library completed
|
||||
|
||||
|
||||
@ -156,7 +160,7 @@ install: lib liblz4.pc
|
||||
@$(INSTALL_DATA) liblz4.pc $(DESTDIR)$(PKGCONFIGDIR)/
|
||||
@echo Installing libraries
|
||||
ifeq ($(BUILD_STATIC),yes)
|
||||
@$(INSTALL_DATA) liblz4.a $(DESTDIR)$(LIBDIR)/liblz4.a
|
||||
@$(INSTALL_DATA) liblz4.$(EXT_AR) $(DESTDIR)$(LIBDIR)/liblz4.$(EXT_AR)
|
||||
@$(INSTALL_DATA) lz4frame_static.h $(DESTDIR)$(INCLUDEDIR)/lz4frame_static.h
|
||||
endif
|
||||
@$(INSTALL_PROGRAM) liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(LIBDIR)
|
||||
@ -173,7 +177,7 @@ uninstall:
|
||||
@$(RM) $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT)
|
||||
@$(RM) $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT_MAJOR)
|
||||
@$(RM) $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT_VER)
|
||||
@$(RM) $(DESTDIR)$(LIBDIR)/liblz4.a
|
||||
@$(RM) $(DESTDIR)$(LIBDIR)/liblz4.$(EXT_AR)
|
||||
@$(RM) $(DESTDIR)$(INCLUDEDIR)/lz4.h
|
||||
@$(RM) $(DESTDIR)$(INCLUDEDIR)/lz4hc.h
|
||||
@$(RM) $(DESTDIR)$(INCLUDEDIR)/lz4frame.h
|
||||
|
@ -26,9 +26,10 @@
|
||||
#define SDB_IPI static
|
||||
#endif
|
||||
|
||||
|
||||
#if MINGW || __MINGW32__ || __MINGW64__
|
||||
#define __MINGW__ 1
|
||||
#else
|
||||
#define __MINGW__ 0
|
||||
#endif
|
||||
|
||||
#if __WIN32__ || __MINGW__ || __WINDOWS__ || _MSC_VER
|
||||
|
@ -47,7 +47,9 @@
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#ifndef ZIP_EXTERN
|
||||
#define ZIP_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
Loading…
Reference in New Issue
Block a user