diff --git a/VTIL-Architecture/VTIL-Architecture.vcxproj.filters b/VTIL-Architecture/VTIL-Architecture.vcxproj.filters index 9f13a83..0e692d5 100644 --- a/VTIL-Architecture/VTIL-Architecture.vcxproj.filters +++ b/VTIL-Architecture/VTIL-Architecture.vcxproj.filters @@ -7,9 +7,6 @@ {fc75d30a-c12b-4902-a7bb-c665c2a9043c} - - {5111b44f-7760-4ccf-9f25-5c375a9480f7} - {da55a262-7d21-4ce0-b5ef-c2de31a52d12} @@ -22,19 +19,22 @@ {6ba6b482-58aa-46cd-ad58-c0eef36c9333} + + {5111b44f-7760-4ccf-9f25-5c375a9480f7} + Architecture - Instruction Stream + Routine - Instruction Stream + Routine - Instruction Stream + Routine Miscellaneous @@ -49,7 +49,7 @@ Architecture - Instruction Stream + Routine SymEx Integration @@ -82,13 +82,13 @@ SymEx Integration - Instruction Stream + Routine Architecture - Instruction Stream + Routine SymEx Integration @@ -99,16 +99,16 @@ Architecture - Instruction Stream + Routine - Instruction Stream + Routine - Instruction Stream + Routine - Instruction Stream + Routine SymEx Integration diff --git a/VTIL-Architecture/vm/interface.cpp b/VTIL-Architecture/vm/interface.cpp index 994032b..a347482 100644 --- a/VTIL-Architecture/vm/interface.cpp +++ b/VTIL-Architecture/vm/interface.cpp @@ -211,7 +211,7 @@ namespace vtil { // Until the iterator points at the end of the block: // - for ( ; !it.is_end(); it++ ) + for ( ; !it.is_end(); ++it ) { // If we could not virtualize the instruction, break. // diff --git a/VTIL-Architecture/vm/interface.hpp b/VTIL-Architecture/vm/interface.hpp index a1f6d08..e0595df 100644 --- a/VTIL-Architecture/vm/interface.hpp +++ b/VTIL-Architecture/vm/interface.hpp @@ -33,7 +33,7 @@ namespace vtil { // List of reasons that might cause the virtual machine to exit. // - enum class vm_exit_reason + enum class vm_exit_reason : uint8_t { none = 0, stream_end = 0, diff --git a/VTIL-Compiler/optimizer/stack_pinning_pass.cpp b/VTIL-Compiler/optimizer/stack_pinning_pass.cpp index 7019786..13db622 100644 --- a/VTIL-Compiler/optimizer/stack_pinning_pass.cpp +++ b/VTIL-Compiler/optimizer/stack_pinning_pass.cpp @@ -180,30 +180,6 @@ namespace vtil::optimizer } } } - - // If cross block optimization, check if we can merge stacks. - // - if ( xblock ) - { - bool merge_bwd = !blk->next.empty() && blk->stream.size() && blk->stream.front().sp_offset != 0; - for ( auto prev : blk->prev ) - merge_bwd &= prev->next.size() == 1; - - bool merge_fwd = !blk->next.empty() && blk->sp_offset != 0; - for ( auto next : blk->next ) - merge_fwd &= next->prev.size() == 1; - - if ( merge_fwd ) - { - - } - - - - } - - - return counter; } }; \ No newline at end of file diff --git a/VTIL-Compiler/optimizer/symbolic_rewrite_pass.cpp b/VTIL-Compiler/optimizer/symbolic_rewrite_pass.cpp index 4d4a3ec..8b9c5c7 100644 --- a/VTIL-Compiler/optimizer/symbolic_rewrite_pass.cpp +++ b/VTIL-Compiler/optimizer/symbolic_rewrite_pass.cpp @@ -34,21 +34,6 @@ namespace vtil::optimizer // size_t isymbolic_rewrite_pass::pass( basic_block* blk, bool xblock ) { - // Determine the temporary sizes in the block. - // - std::map, bitcnt_t> temp_sizes; - for ( auto& ins : blk->stream ) - { - for ( auto& op : ins.operands ) - { - if ( op.is_register() && op.reg().is_local() ) - { - bitcnt_t& sz = temp_sizes[ { op.reg().flags, op.reg().combined_id } ]; - sz = std::max( sz, op.reg().bit_count + op.reg().bit_offset ); - } - } - } - // Create an instrumented symbolic virtual machine and hook execution to exit at // instructions that cannot be executed out-of-order. //