From e98e4a51115bb78fb5ec9915cc8fefe5971fa1ce Mon Sep 17 00:00:00 2001 From: Warmist Date: Wed, 3 Aug 2011 16:27:04 +0300 Subject: [PATCH] Fixes to hexsearch Signed-off-by: Warmist --- plugins/Dfusion/include/lua_Hexsearch.h | 2 +- plugins/Dfusion/luafiles/init.lua | 2 +- plugins/Dfusion/src/hexsearch.cpp | 4 ++-- plugins/Dfusion/src/lua_Hexsearch.cpp | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/Dfusion/include/lua_Hexsearch.h b/plugins/Dfusion/include/lua_Hexsearch.h index 030db079e..2dfa78af8 100644 --- a/plugins/Dfusion/include/lua_Hexsearch.h +++ b/plugins/Dfusion/include/lua_Hexsearch.h @@ -25,7 +25,7 @@ public: DEF_LUNE(Hexsearch); }; -void RegisterHexsearch(lua::state &st);//TODO remake into OO oriented thing +void RegisterHexsearch(lua::state &st); } diff --git a/plugins/Dfusion/luafiles/init.lua b/plugins/Dfusion/luafiles/init.lua index 0cd34cc5c..fd345397c 100644 --- a/plugins/Dfusion/luafiles/init.lua +++ b/plugins/Dfusion/luafiles/init.lua @@ -13,7 +13,7 @@ end dofile("dfusion/common.lua") print("Unlocking Df .text section...") -unlockDF() +--unlockDF() print("Done unlock") text=GetTextRegion() h=hexsearch(text.start,text["end"],0x73,0x02,0x8b,0xce,0x53,0x6a,0x01,0x6a,0x06) diff --git a/plugins/Dfusion/src/hexsearch.cpp b/plugins/Dfusion/src/hexsearch.cpp index dda04c9ab..c8b1fd67a 100644 --- a/plugins/Dfusion/src/hexsearch.cpp +++ b/plugins/Dfusion/src/hexsearch.cpp @@ -1,7 +1,7 @@ #include "hexsearch.h" -Hexsearch::Hexsearch(const SearchArgType &args,uint64_t startpos,uint64_t endpos):args_(args),pos_(startpos_),startpos_(startpos),endpos_(endpos) +Hexsearch::Hexsearch(const SearchArgType &args,uint64_t startpos,uint64_t endpos):args_(args),pos_(startpos),startpos_(startpos),endpos_(endpos) { } @@ -36,7 +36,7 @@ uint64_t Hexsearch::FindNext() //TODO rewrite using Boyer-Moore algorithm { pos_+=args_.size(); delete [] buf; - return pos_; + return pos_-args_.size(); } } pos_++; diff --git a/plugins/Dfusion/src/lua_Hexsearch.cpp b/plugins/Dfusion/src/lua_Hexsearch.cpp index a4e5e9ea5..08d571c50 100644 --- a/plugins/Dfusion/src/lua_Hexsearch.cpp +++ b/plugins/Dfusion/src/lua_Hexsearch.cpp @@ -24,9 +24,9 @@ lua::Hexsearch::Hexsearch(lua_State *L,int id):tblid(id) lua::state st(L); uint64_t start,end; ::Hexsearch::SearchArgType args; - start=st.as(2); - end=st.as(3); - for(int i=4;i(1); + end=st.as(2); + for(int i=3;i<=st.gettop();i++) { args.push_back(st.as(i)); }