Files
qiling/tests/test_dos.py
T
mio ad0456596a Remove output in the whole project
Please use verbose instead. See core.py for details
2021-03-29 16:41:02 +08:00

39 lines
984 B
Python

#!/usr/bin/env python3
#
# Cross Platform and Multi Architecture Advanced Binary Emulation Framework
#
import sys, unittest
sys.path.append('..')
from qiling import Qiling
from qiling.const import QL_INTERCEPT, QL_VERBOSE
class Checklist:
def __init__(self) -> None:
self.visited_onenter = False
self.visited_onexit = False
class DOSTest(unittest.TestCase):
def test_dos_8086_hello(self):
ql = Qiling(["../examples/rootfs/8086/dos/HI.DOS_COM"], "../examples/rootfs/8086/dos", verbose=QL_VERBOSE.DEBUG)
ck = Checklist()
def onenter(ql: Qiling):
ck.visited_onenter = True
def onexit(ql: Qiling):
ck.visited_onexit = True
ql.set_api((0x21, 0x09), onexit, QL_INTERCEPT.EXIT)
ql.set_api((0x21, 0x4c), onenter, QL_INTERCEPT.ENTER)
ql.run()
self.assertTrue(ck.visited_onenter)
self.assertTrue(ck.visited_onexit)
if __name__ == "__main__":
unittest.main()