idk what i added but parsing jcc's work now

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

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

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

Loading…
Cancel
Save