Skip to content

Commit e28192f

Browse files
committed
cleanup demigod typo
1 parent f52d620 commit e28192f

File tree

6 files changed

+22
-18
lines changed

6 files changed

+22
-18
lines changed

qiling/loader/elf.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ def get_symbol(elffile, name):
448448
all_symbols = []
449449
self.ql.os.hook_addr = API_HOOK_MEM
450450
# map address to symbol name
451-
ql.import_symbols = {}
451+
self.import_symbols = {}
452452
# reverse dictionary to map symbol name -> address
453453
rev_reloc_symbols = {}
454454

@@ -505,7 +505,7 @@ def get_symbol(elffile, name):
505505
self.ql.os.hook_addr = (int(
506506
self.ql.os.hook_addr / self.ql.pointersize) + 1) * self.ql.pointersize
507507
# print("hook_addr = %x" %self.ql.os.hook_addr)
508-
ql.import_symbols[self.ql.os.hook_addr] = symbol_name
508+
self.import_symbols[self.ql.os.hook_addr] = symbol_name
509509
# ql.log.info(":: Demigod is hooking %s(), at slot %x" %(symbol_name, self.ql.os.hook_addr))
510510

511511
if symbol_name == "page_offset_base":
@@ -668,9 +668,9 @@ def load_driver(self, ql, stack_addr, loadbase=0):
668668
ql.mem.write(SYSCALL_MEM + 2 * ql.pointersize, ql.pack(self.ql.os.hook_addr + 2 * ql.pointersize))
669669

670670
# setup hooks for read/write/open syscalls
671-
ql.import_symbols[self.ql.os.hook_addr] = hook_sys_read
672-
ql.import_symbols[self.ql.os.hook_addr + 1 * ql.pointersize] = hook_sys_write
673-
ql.import_symbols[self.ql.os.hook_addr + 2 * ql.pointersize] = hook_sys_open
671+
self.import_symbols[self.ql.os.hook_addr] = hook_sys_read
672+
self.import_symbols[self.ql.os.hook_addr + 1 * ql.pointersize] = hook_sys_write
673+
self.import_symbols[self.ql.os.hook_addr + 2 * ql.pointersize] = hook_sys_open
674674

675675
def get_elfdata_mapping(self):
676676
elfdata_mapping = bytearray()

qiling/loader/macho.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def run(self):
154154
self.ql.os.macho_task.min_offset = page_align_end(self.vm_end_addr, PAGE_SIZE)
155155

156156
def loadDriver(self, stack_addr, loadbase = -1, argv = [], env = {}):
157-
self.ql.import_symbols = {}
157+
self.import_symbols = {}
158158
PAGE_SIZE = 0x1000
159159
if loadbase < 0:
160160
loadbase = 0xffffff7000000000
@@ -210,15 +210,15 @@ def loadDriver(self, stack_addr, loadbase = -1, argv = [], env = {}):
210210

211211
for key in self.kernel_local_symbols_detail:
212212
value = self.kernel_local_symbols_detail[key]
213-
self.ql.import_symbols[value["n_value"]] = key
213+
self.import_symbols[value["n_value"]] = key
214214

215215
kernel_extrn_symbols_index = self.kernel.dysymbol_table.defext_index
216216
kernel_extrn_symbols_num = self.kernel.dysymbol_table.defext_num
217217
self.kernel_extrn_symbols_detail = self.kernel.symbol_table.details(kernel_extrn_symbols_index, kernel_extrn_symbols_num, self.kernel.string_table)
218218

219219
for key in self.kernel_extrn_symbols_detail:
220220
value = self.kernel_extrn_symbols_detail[key]
221-
self.ql.import_symbols[value["n_value"]] = key
221+
self.import_symbols[value["n_value"]] = key
222222

223223
offset = 0
224224
"""
@@ -244,7 +244,7 @@ def loadDriver(self, stack_addr, loadbase = -1, argv = [], env = {}):
244244
else:
245245
self.ql.log.info("Static symbol %s not found" % symname)
246246
continue
247-
self.ql.import_symbols[real_addr] = symname
247+
self.import_symbols[real_addr] = symname
248248
lo_addr = real_addr & 0xffffffff
249249
hi_addr = (real_addr & 0xffffffff00000000) // 0x100000000
250250
jmpcode = b"\x48\x83\xec\x08\xc7\x04\x24" + struct.pack("<I", lo_addr) + b"\xc7\x44\x24\x04" + struct.pack("<I", hi_addr) + b"\xc3"

qiling/os/linux/fncc.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,4 @@ def wrapper(*args, **kwargs):
3939
else:
4040
raise QlErrorArch("Unknown ql.archtype")
4141
return wrapper
42-
return decorator
43-
42+
return decorator

qiling/os/linux/kernel_api/hook.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@
33
# Cross Platform and Multi Architecture Advanced Binary Emulation Framework
44
#
55

6+
import types
7+
68
from qiling.os.linux.kernel_api import *
9+
from qiling.exception import *
710

811

912
# hook Linux kernel API
1013
def hook_kernel_api(ql, address, size):
1114
# call kernel api
1215
# print("check hook_kernel_api: %x" %(address))
13-
if address in ql.import_symbols:
14-
api_name = ql.import_symbols[address]
16+
if address in ql.loader.import_symbols:
17+
api_name = ql.loader.import_symbols[address]
1518
# print("OK, found hook for %s" %api_name)
1619
api_func = None
1720

qiling/os/linux/linux.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,12 @@ def load(self):
6464
ql_x86_register_cs(self)
6565
ql_x86_register_ds_ss_es(self)
6666
self.ql.hook_insn(self.hook_syscall, UC_X86_INS_SYSCALL)
67+
# Keep test for _cc
68+
#self.ql.hook_insn(hook_posix_api, UC_X86_INS_SYSCALL)
6769
self.thread_class = QlLinuxX8664Thread
6870

6971
def hook_syscall(self, int= None, intno= None):
70-
return self.load_syscall(intno)
72+
return self.load_syscall()
7173

7274

7375
def add_function_hook(self, fn, cb, userdata = None):

qiling/os/macos/kernel_api/hook.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
# Cross Platform and Multi Architecture Advanced Binary Emulation Framework
44
#
55

6-
7-
from unicorn import *
6+
import types
87

98
from qiling.os.macos.kernel_api import *
9+
from qiling.exception import *
1010

1111

1212
# hook MacOS kernel API
1313
def hook_kernel_api(ql, address, size):
1414
# call kernel api
15-
if address in ql.import_symbols:
16-
api_name = ql.import_symbols[address].decode()
15+
if address in ql.loader.import_symbols:
16+
api_name = ql.loader.import_symbols[address].decode()
1717
# print("OK, found hook for %s at 0x%x" % (api_name, address))
1818
api_func = None
1919

0 commit comments

Comments
 (0)