File tree Expand file tree Collapse file tree 1 file changed +6
-1
lines changed
qiling/extensions/idaplugin Expand file tree Collapse file tree 1 file changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -1415,6 +1415,10 @@ def __is_next_mbb(self, mbb):
14151415 return True
14161416
14171417 def _get_jmp_ins (self , ida_addr , insns ):
1418+ # This cloud really happen! See issue #804. TODO: Investigate or re-design insns structure or replace it with ESIL.
1419+ # So we have to fallback to legacy path.
1420+ if ida_addr not in insns :
1421+ return (None , None )
14181422 ins_list = insns [ida_addr ]
14191423 result = []
14201424 for bbid , ins in ins_list :
@@ -1663,8 +1667,9 @@ def _search_path(self):
16631667 }
16641668 ql_bb_start_ea = self .deflatqlemu .ql_addr_from_ida (bb .start_ea ) + self .append
16651669 ctx = ql .save ()
1670+ # Skip force execution in the first block.
16661671 # `end=0` is a workaround for ql remembering last exit_point.
1667- if braddr is None :
1672+ if braddr is None or bb . id == self . first_block :
16681673 ql .run (begin = ql_bb_start_ea , end = 0 , count = 0xFFF )
16691674 else :
16701675 self .hook_data ['force' ] = {braddr : True }
You can’t perform that action at this time.
0 commit comments