|
|
@ -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;
|
|
|
|