diff --git a/x64_dbg_dbg/BasicBlock.cpp b/x64_dbg_dbg/BasicBlock.cpp deleted file mode 100644 index 0c14f769..00000000 --- a/x64_dbg_dbg/BasicBlock.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include "BasicBlock.h" -#include "memory.h" \ No newline at end of file diff --git a/x64_dbg_dbg/FunctionPass.cpp b/x64_dbg_dbg/FunctionPass.cpp index 8b68e684..83df94f1 100644 --- a/x64_dbg_dbg/FunctionPass.cpp +++ b/x64_dbg_dbg/FunctionPass.cpp @@ -97,14 +97,14 @@ bool FunctionPass::Analyse() // Sort and remove duplicates std::sort(funcs.begin(), funcs.end()); funcs.erase(std::unique(funcs.begin(), funcs.end()), funcs.end()); - /* + FunctionClear(); for(auto & func : funcs) { FunctionAdd(func.VirtualStart, func.VirtualEnd - 1, true); } GuiUpdateAllViews(); - */ + delete[] threadFunctions; return true; } @@ -248,7 +248,7 @@ void FunctionPass::FindFunctionWorker(std::vector* Blocks) if(block->Target != 0) { // Here's a problem: Compilers add tail-call elimination with a jump. - // Solve this by creating a maximum jump limit: +/- 128 bytes from the end. + // Solve this by creating a maximum jump limit: +/- 512 bytes from the end. if(abs((__int64)(block->VirtualEnd - block->Target)) <= 512) maximumAddr = max(maximumAddr, block->Target); } @@ -291,7 +291,7 @@ __endfunc: } } - // 4. Just continue + // 4. Continue } } diff --git a/x64_dbg_dbg/_dbgfunctions.cpp b/x64_dbg_dbg/_dbgfunctions.cpp index d049adcc..a0159703 100644 --- a/x64_dbg_dbg/_dbgfunctions.cpp +++ b/x64_dbg_dbg/_dbgfunctions.cpp @@ -8,7 +8,6 @@ #include "_dbgfunctions.h" #include "assemble.h" #include "debugger.h" -#include "addrinfo.h" #include "patches.h" #include "memory.h" #include "disasm_fast.h" diff --git a/x64_dbg_dbg/_exports.cpp b/x64_dbg_dbg/_exports.cpp index ec9d89cb..fa4ed46f 100644 --- a/x64_dbg_dbg/_exports.cpp +++ b/x64_dbg_dbg/_exports.cpp @@ -8,8 +8,6 @@ #include "memory.h" #include "debugger.h" #include "value.h" -#include "addrinfo.h" -#include "console.h" #include "threading.h" #include "breakpoint.h" #include "disasm_helper.h" diff --git a/x64_dbg_dbg/_global.cpp b/x64_dbg_dbg/_global.cpp index a7c56e6b..47318e51 100644 --- a/x64_dbg_dbg/_global.cpp +++ b/x64_dbg_dbg/_global.cpp @@ -6,7 +6,6 @@ #include "_global.h" #include #include -#include /** \brief x64dbg library instance. diff --git a/x64_dbg_dbg/addrinfo.cpp b/x64_dbg_dbg/addrinfo.cpp index 5aa42a76..43e25f29 100644 --- a/x64_dbg_dbg/addrinfo.cpp +++ b/x64_dbg_dbg/addrinfo.cpp @@ -9,9 +9,6 @@ #include "console.h" #include "memory.h" #include "breakpoint.h" -#include "threading.h" -#include "symbolinfo.h" -#include "murmurhash.h" #include "lz4\lz4file.h" #include "patches.h" #include "module.h" diff --git a/x64_dbg_dbg/assemble.cpp b/x64_dbg_dbg/assemble.cpp index 8cf40b00..da4a568c 100644 --- a/x64_dbg_dbg/assemble.cpp +++ b/x64_dbg_dbg/assemble.cpp @@ -6,11 +6,9 @@ #include "assemble.h" #include "memory.h" -#include "debugger.h" #include "XEDParse\XEDParse.h" #include "value.h" #include "disasm_helper.h" -#include "console.h" static bool cbUnknown(const char* text, ULONGLONG* value) { diff --git a/x64_dbg_dbg/bookmark.cpp b/x64_dbg_dbg/bookmark.cpp index c5882afd..3367f3e4 100644 --- a/x64_dbg_dbg/bookmark.cpp +++ b/x64_dbg_dbg/bookmark.cpp @@ -1,7 +1,6 @@ #include "bookmark.h" #include "threading.h" #include "module.h" -#include "debugger.h" #include "memory.h" std::unordered_map bookmarks; diff --git a/x64_dbg_dbg/breakpoint.cpp b/x64_dbg_dbg/breakpoint.cpp index 5f041f8b..03580fcc 100644 --- a/x64_dbg_dbg/breakpoint.cpp +++ b/x64_dbg_dbg/breakpoint.cpp @@ -5,9 +5,6 @@ */ #include "breakpoint.h" -#include "debugger.h" -#include "addrinfo.h" -#include "console.h" #include "memory.h" #include "threading.h" #include "module.h" diff --git a/x64_dbg_dbg/capstone_wrapper.cpp b/x64_dbg_dbg/capstone_wrapper.cpp index ef2770b1..c5d726e8 100644 --- a/x64_dbg_dbg/capstone_wrapper.cpp +++ b/x64_dbg_dbg/capstone_wrapper.cpp @@ -1,6 +1,5 @@ #include "console.h" #include "capstone_wrapper.h" -#include "TitanEngine\TitanEngine.h" csh Capstone::mHandle = 0; diff --git a/x64_dbg_dbg/command.cpp b/x64_dbg_dbg/command.cpp index b88537cf..16ca6b05 100644 --- a/x64_dbg_dbg/command.cpp +++ b/x64_dbg_dbg/command.cpp @@ -7,8 +7,6 @@ #include "command.h" #include "value.h" #include "console.h" -#include "debugger.h" -#include "math.h" #include "commandparser.h" /** diff --git a/x64_dbg_dbg/comment.cpp b/x64_dbg_dbg/comment.cpp index 2f9f6054..89dace73 100644 --- a/x64_dbg_dbg/comment.cpp +++ b/x64_dbg_dbg/comment.cpp @@ -1,7 +1,6 @@ #include "comment.h" #include "threading.h" #include "module.h" -#include "debugger.h" #include "memory.h" std::unordered_map comments; diff --git a/x64_dbg_dbg/controlflowanalysis.cpp b/x64_dbg_dbg/controlflowanalysis.cpp index 0e51fc88..69db9d9f 100644 --- a/x64_dbg_dbg/controlflowanalysis.cpp +++ b/x64_dbg_dbg/controlflowanalysis.cpp @@ -1,5 +1,4 @@ #include "controlflowanalysis.h" -#include "memory.h" #include "console.h" ControlFlowAnalysis::ControlFlowAnalysis(uint base, uint size) : Analysis(base, size) diff --git a/x64_dbg_dbg/disasm_fast.cpp b/x64_dbg_dbg/disasm_fast.cpp index e665243a..983b5158 100644 --- a/x64_dbg_dbg/disasm_fast.cpp +++ b/x64_dbg_dbg/disasm_fast.cpp @@ -5,7 +5,6 @@ */ #include "disasm_fast.h" -#include "debugger.h" #include "memory.h" static MEMORY_SIZE argsize2memsize(int argsize) diff --git a/x64_dbg_dbg/disasm_helper.cpp b/x64_dbg_dbg/disasm_helper.cpp index 3af16346..a0d06d77 100644 --- a/x64_dbg_dbg/disasm_helper.cpp +++ b/x64_dbg_dbg/disasm_helper.cpp @@ -7,10 +7,7 @@ #include "disasm_helper.h" #include "value.h" #include "console.h" -#include "debugger.h" #include "memory.h" -#include -#include #include "capstone_wrapper.h" uint disasmback(unsigned char* data, uint base, uint size, uint ip, int n) diff --git a/x64_dbg_dbg/error.cpp b/x64_dbg_dbg/error.cpp index e8e1ce6d..8d9ab838 100644 --- a/x64_dbg_dbg/error.cpp +++ b/x64_dbg_dbg/error.cpp @@ -1,5 +1,5 @@ -#include "error.h" #include +#include "error.h" std::unordered_map ErrorNames; diff --git a/x64_dbg_dbg/exception.cpp b/x64_dbg_dbg/exception.cpp index 38975061..99b99eea 100644 --- a/x64_dbg_dbg/exception.cpp +++ b/x64_dbg_dbg/exception.cpp @@ -1,5 +1,5 @@ -#include "exception.h" #include +#include "exception.h" std::unordered_map ExceptionNames; diff --git a/x64_dbg_dbg/function.cpp b/x64_dbg_dbg/function.cpp index 79e68e45..63d72206 100644 --- a/x64_dbg_dbg/function.cpp +++ b/x64_dbg_dbg/function.cpp @@ -1,6 +1,5 @@ #include "function.h" #include "module.h" -#include "debugger.h" #include "memory.h" #include "threading.h" diff --git a/x64_dbg_dbg/functionanalysis.cpp b/x64_dbg_dbg/functionanalysis.cpp index ce405fc7..f15a4a04 100644 --- a/x64_dbg_dbg/functionanalysis.cpp +++ b/x64_dbg_dbg/functionanalysis.cpp @@ -7,6 +7,7 @@ #include "BasicBlock.h" #include "FunctionPass.h" #include "LinearPass.h" +#include "module.h" FunctionAnalysis::FunctionAnalysis(uint base, uint size) : Analysis(base, size) { @@ -17,11 +18,14 @@ void FunctionAnalysis::Analyse() dputs("Starting analysis..."); DWORD ticks = GetTickCount(); + uint start = ModBaseFromAddr(_base); + uint end = start + ModSizeFromAddr(_base); + BBlockArray blocks; - LinearPass* pass1 = new LinearPass(_base, _base + _size, blocks); + LinearPass* pass1 = new LinearPass(start, end, blocks); pass1->Analyse(); - FunctionPass* pass2 = new FunctionPass(_base, _base + _size, blocks); + FunctionPass* pass2 = new FunctionPass(start, end, blocks); pass2->Analyse(); /* PopulateReferences(); diff --git a/x64_dbg_dbg/label.cpp b/x64_dbg_dbg/label.cpp index f262ab22..f7bb43cb 100644 --- a/x64_dbg_dbg/label.cpp +++ b/x64_dbg_dbg/label.cpp @@ -2,7 +2,6 @@ #include "threading.h" #include "module.h" #include "memory.h" -#include "debugger.h" std::unordered_map labels; diff --git a/x64_dbg_dbg/loop.cpp b/x64_dbg_dbg/loop.cpp index 7c7f1044..e0f2d5a3 100644 --- a/x64_dbg_dbg/loop.cpp +++ b/x64_dbg_dbg/loop.cpp @@ -1,5 +1,4 @@ #include "loop.h" -#include "debugger.h" #include "memory.h" #include "threading.h" #include "module.h" diff --git a/x64_dbg_dbg/memory.cpp b/x64_dbg_dbg/memory.cpp index 18746ebd..0422e217 100644 --- a/x64_dbg_dbg/memory.cpp +++ b/x64_dbg_dbg/memory.cpp @@ -7,7 +7,6 @@ #include "memory.h" #include "debugger.h" #include "patches.h" -#include "console.h" #include "threading.h" #include "module.h" diff --git a/x64_dbg_dbg/msgqueue.cpp b/x64_dbg_dbg/msgqueue.cpp index 0adaa60c..d0071367 100644 --- a/x64_dbg_dbg/msgqueue.cpp +++ b/x64_dbg_dbg/msgqueue.cpp @@ -1,5 +1,4 @@ #include "msgqueue.h" -#include //allocate a message (internal) static MESSAGE* msgalloc() diff --git a/x64_dbg_dbg/patches.cpp b/x64_dbg_dbg/patches.cpp index b98d37d7..32be250a 100644 --- a/x64_dbg_dbg/patches.cpp +++ b/x64_dbg_dbg/patches.cpp @@ -5,7 +5,6 @@ */ #include "patches.h" -#include "addrinfo.h" #include "memory.h" #include "debugger.h" #include "console.h" diff --git a/x64_dbg_dbg/plugin_loader.cpp b/x64_dbg_dbg/plugin_loader.cpp index 4fafaa90..7720ea40 100644 --- a/x64_dbg_dbg/plugin_loader.cpp +++ b/x64_dbg_dbg/plugin_loader.cpp @@ -7,8 +7,6 @@ #include "plugin_loader.h" #include "console.h" #include "debugger.h" -#include "memory.h" -#include "x64_dbg.h" /** \brief List of plugins. diff --git a/x64_dbg_dbg/reference.cpp b/x64_dbg_dbg/reference.cpp index d30a0d34..5cbc6c68 100644 --- a/x64_dbg_dbg/reference.cpp +++ b/x64_dbg_dbg/reference.cpp @@ -5,7 +5,6 @@ */ #include "reference.h" -#include "debugger.h" #include "memory.h" #include "console.h" #include "module.h" diff --git a/x64_dbg_dbg/simplescript.cpp b/x64_dbg_dbg/simplescript.cpp index 3cdfef31..1c0d3752 100644 --- a/x64_dbg_dbg/simplescript.cpp +++ b/x64_dbg_dbg/simplescript.cpp @@ -5,13 +5,10 @@ */ #include "simplescript.h" -#include "value.h" #include "console.h" #include "variable.h" -#include "threading.h" #include "x64_dbg.h" #include "debugger.h" -#include "commandparser.h" static std::vector linemap; diff --git a/x64_dbg_dbg/stackinfo.cpp b/x64_dbg_dbg/stackinfo.cpp index a8a71782..389d9ef1 100644 --- a/x64_dbg_dbg/stackinfo.cpp +++ b/x64_dbg_dbg/stackinfo.cpp @@ -5,11 +5,9 @@ */ #include "stackinfo.h" -#include "debugger.h" #include "memory.h" #include "disasm_helper.h" #include "disasm_fast.h" -#include "addrinfo.h" #include "_exports.h" #include "module.h" diff --git a/x64_dbg_dbg/stringformat.cpp b/x64_dbg_dbg/stringformat.cpp index 0a3d6e90..ecaafd8f 100644 --- a/x64_dbg_dbg/stringformat.cpp +++ b/x64_dbg_dbg/stringformat.cpp @@ -1,5 +1,4 @@ #include "stringformat.h" -#include "console.h" #include "value.h" #include "disasm_helper.h" diff --git a/x64_dbg_dbg/stringutils.cpp b/x64_dbg_dbg/stringutils.cpp index f1528a76..c2ec8031 100644 --- a/x64_dbg_dbg/stringutils.cpp +++ b/x64_dbg_dbg/stringutils.cpp @@ -1,7 +1,6 @@ +#include #include "stringutils.h" #include "memory.h" -#include -#include StringList StringUtils::Split(const String & s, char delim, std::vector & elems) { diff --git a/x64_dbg_dbg/symbolinfo.cpp b/x64_dbg_dbg/symbolinfo.cpp index 4328672a..cfabdab1 100644 --- a/x64_dbg_dbg/symbolinfo.cpp +++ b/x64_dbg_dbg/symbolinfo.cpp @@ -6,7 +6,6 @@ #include "symbolinfo.h" #include "debugger.h" -#include "addrinfo.h" #include "console.h" #include "module.h" #include "label.h" diff --git a/x64_dbg_dbg/thread.cpp b/x64_dbg_dbg/thread.cpp index 125f0965..4de11a8c 100644 --- a/x64_dbg_dbg/thread.cpp +++ b/x64_dbg_dbg/thread.cpp @@ -5,8 +5,6 @@ */ #include "thread.h" -#include "console.h" -#include "undocumented.h" #include "memory.h" #include "threading.h" diff --git a/x64_dbg_dbg/value.cpp b/x64_dbg_dbg/value.cpp index 3604cef9..75009f16 100644 --- a/x64_dbg_dbg/value.cpp +++ b/x64_dbg_dbg/value.cpp @@ -8,9 +8,7 @@ #include "variable.h" #include "debugger.h" #include "console.h" -#include "math.h" #include "memory.h" -#include "addrinfo.h" #include "symbolinfo.h" #include "module.h" #include "label.h" diff --git a/x64_dbg_dbg/x64_dbg.cpp b/x64_dbg_dbg/x64_dbg.cpp index b8d0e109..0d1269f6 100644 --- a/x64_dbg_dbg/x64_dbg.cpp +++ b/x64_dbg_dbg/x64_dbg.cpp @@ -11,13 +11,10 @@ #include "debugger.h" #include "simplescript.h" #include "console.h" -#include "math.h" #include "x64_dbg.h" #include "msgqueue.h" -#include "addrinfo.h" #include "threading.h" #include "plugin_loader.h" -#include "assemble.h" #include "_dbgfunctions.h" #include "debugger_commands.h" #include "capstone_wrapper.h" diff --git a/x64_dbg_dbg/x64_dbg_dbg.vcxproj b/x64_dbg_dbg/x64_dbg_dbg.vcxproj index 074fa32a..a401c7df 100644 --- a/x64_dbg_dbg/x64_dbg_dbg.vcxproj +++ b/x64_dbg_dbg/x64_dbg_dbg.vcxproj @@ -23,7 +23,6 @@ - diff --git a/x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters b/x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters index d5f81abb..effa1d5e 100644 --- a/x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters +++ b/x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters @@ -243,9 +243,6 @@ Source Files\Interfaces/Exports\_scriptapi - - Source Files\Analysis - Source Files\Analysis @@ -264,6 +261,18 @@ Source Files\Analysis + + Source Files + + + Source Files + + + Source Files + + + Source Files + @@ -605,5 +614,17 @@ Header Files\Analysis + + Header Files + + + Header Files + + + Header Files + + + Header Files + \ No newline at end of file