* Fix build and some minor fixups

This commit is contained in:
pancake/fluendo 2009-02-16 19:59:54 +01:00
parent ac10ad7df1
commit 1fd5c3118e
8 changed files with 16 additions and 17 deletions

View File

@ -2,7 +2,7 @@
PREFIX=../prefix
# Libraries
LIBLIST=io util lib lang flags bin macro hash line cons line print config syscall range socket cmd asm anal search diff debug reg core
LIBLIST=io util lib meta lang flags bin macro hash line cons line print config syscall range socket cmd asm anal search diff debug reg core
# Under development

View File

@ -561,7 +561,7 @@ static int cmd_search(void *data, const char *input)
u8 *buf;
switch (input[0]) {
case '/':
r_search_initialize(core->search);
r_search_begin(core->search);
dosearch = 1;
break;
case 'v':
@ -569,21 +569,21 @@ static int cmd_search(void *data, const char *input)
core->search = r_search_new(R_SEARCH_KEYWORD);
n32 = r_num_math(&core->num, input+1);
r_search_kw_add_bin(core->search, &n32, 4, "",0);
r_search_initialize(core->search);
r_search_begin(core->search);
dosearch = 1;
break;
case ' ': /* search string */
r_search_free(core->search);
core->search = r_search_new(R_SEARCH_KEYWORD);
r_search_kw_add(core->search, input+1, "");
r_search_initialize(core->search);
r_search_begin(core->search);
dosearch = 1;
break;
case 'x': /* search hex */
r_search_free(core->search);
core->search = r_search_new(R_SEARCH_KEYWORD);
r_search_kw_add_hex(core->search, input+2, "");
r_search_initialize(core->search);
r_search_begin(core->search);
dosearch = 1;
break;
default:

View File

@ -1,4 +1,4 @@
prefix=/usr
prefix=${PWD}
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
@ -6,6 +6,6 @@ includedir=${prefix}/include
Name: libr
Description: radare framework libraries
Version: 0.1
Requires: gobject-2.0 gmodule-no-export-2.0
Libs: -L${libdir} -lr_core -lr_lang -lr_search -lr_cmd
Requires:
Libs: -L${libdir} -lr_core -lr_lang -lr_search -lr_cmd -lr_meta -lr_asm
Cflags: -I${includedir}/libr

View File

@ -16,7 +16,7 @@ int main(int argc, char **argv)
rs = r_search_new(R_SEARCH_KEYWORD);
r_search_kw_add(rs, "lib", "");
r_search_set_callback(rs, &hit, buffer);
r_search_initialize(rs);
r_search_begin(rs);
printf("Searching for '%s' in '%s'\n", "lib", buffer);
r_search_update_i(rs, 0LL, buffer, strlen(buffer));
rs = r_search_free(rs);
@ -25,7 +25,7 @@ int main(int argc, char **argv)
rs = r_search_new(R_SEARCH_KEYWORD);
r_search_kw_add(rs, "lib", "ff00ff");
r_search_set_callback(rs, &hit, buffer);
r_search_initialize(rs);
r_search_begin(rs);
printf("Searching for '%s' with binmask 'ff00ff' in '%s'\n", "lib", buffer);
r_search_update_i(rs, 0LL, buffer, strlen(buffer));
rs = r_search_free(rs);

View File

@ -3,16 +3,13 @@
#include "r_search.h"
#include <regex.h>
{
}
int r_search_xrefs_update(struct r_search_t *s, u64 from, const u8 *buf, int len)
{
u8 code[1024];
u8 mask[1024];
int count = 0;
//get_delta_for(
if (r_mem_cmp_mask(buf, code, mask)) {
}
//if (r_mem_cmp_mask(buf, code, mask, 4)) {
//}
return count;
}

View File

@ -16,7 +16,7 @@ namespace Radare.Search {
public State(Mode mode);
public bool set_mode(Mode mode);
public bool set_string_limits(uint32 min, uint32 max);
public bool initialize();
public bool begin();
//public bool set_callback(delegate callback, pointer user);
public bool update(out uint64 from, uint8 *buf, uint32 len);
public bool update_i(uint64 from, uint8 *buf, uint32 len);

View File

@ -7,12 +7,14 @@ sc:
core:
valac -C --vapidir=${PWD}/.. core.vala --pkg r_core --pkg r_cons
#gcc `PKG_CONFIG_PATH=../.. pkg-config --libs --cflags gobject-2.0 libr` core.c -o core
gcc core.c `pkg-config gobject-2.0 --libs --cflags` -I../../include/ \
-lr_core -Wl,-R../../core -L../../core \
-lr_util -Wl,-R../../util -L../../util \
-lr_asm -Wl,-R../../asm -L../../asm \
-lr_bin -Wl,-R../../bin -L../../bin \
-lr_io -Wl,-R../../io -L../../io \
-lr_anal -Wl,-R../../anal -L../../anal \
-lr_cons -Wl,-R../../cons -L../../cons \
-lr_debug -Wl,-R../../debug -L../../debug \
-lr_lang -Wl,-R../../lang -L../../lang \

View File

@ -14,7 +14,7 @@ public class SearchExample
stdout.printf("Hit %d! at 0x%llx\n", (int)kw.count, addr);
return 0;
}, null);
s.initialize();
s.begin();
stdout.printf("string: \"%s\"\n", buf);
stdout.printf("length: %d\n", (int)buf.len());