1import angr 2 3class __p__fmode(angr.SimProcedure): 4 def run(self): 5 return self.project.simos.fmode_ptr 6 7class _get_fmode(angr.SimProcedure): 8 def run(self, outptr): 9 if self.state.solver.is_true(outptr == 0): 10 return 22 11 fmode = self.state.mem[self.project.simos.fmode_ptr].int.resolved 12 self.state.mem[outptr].int = fmode 13 return 0 14 15class _set_fmode(angr.SimProcedure): 16 def run(self, val): 17 if not self.state.solver.is_true(self.state.solver.Or(val == 0x4000, val == 0x8000)): 18 return 22 19 self.state.mem[self.project.simos.fmode_ptr].int = val 20 return 0 21 22class __p__commode(angr.SimProcedure): 23 def run(self): 24 return self.project.simos.commode_ptr 25