idk what i added but parsing jcc's work now

merge-requests/9/head
_xeroxz 3 years ago
parent 75ac254456
commit eb64f5d2c2

@ -218,7 +218,7 @@ namespace vm
{
bool has_jcc;
jcc_type type;
std::uintptr_t block_rva[ 2 ];
std::uintptr_t block_addr[ 2 ];
};
struct code_block_t

@ -252,7 +252,7 @@ namespace vm
// if there is not two branches...
if ( result == code_block.vinstrs.rend() )
{
jcc.block_rva[ 0 ] = code_block_addr( vmctx, last_trace );
jcc.block_addr[ 0 ] = code_block_addr( vmctx, last_trace );
jcc.has_jcc = false;
jcc.type = jcc_type::absolute;
@ -260,8 +260,8 @@ namespace vm
// else there are two branches...
else
{
jcc.block_rva[ 0 ] = code_block_addr( vmctx, result->trace_data.vsp.qword[ 0 ] ^ xor_key );
jcc.block_rva[ 1 ] = code_block_addr( vmctx, result->trace_data.vsp.qword[ 1 ] ^ xor_key );
jcc.block_addr[ 0 ] = code_block_addr( vmctx, result->trace_data.vsp.qword[ 0 ] ^ xor_key );
jcc.block_addr[ 1 ] = code_block_addr( vmctx, result->trace_data.vsp.qword[ 1 ] ^ xor_key );
jcc.has_jcc = true;
jcc.type = jcc_type::branching;

Loading…
Cancel
Save