mirror of
https://github.com/EchoStretch/kstuff-lite.git
synced 2026-10-21 11:13:15 -05:00
42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
import urllib.request, http.client, html
|
|
|
|
print('global addr__dynlib_dlsym')
|
|
print('use64')
|
|
|
|
with open('syscalls.txt') as file:
|
|
for l in map(str.split, file):
|
|
if not l: continue
|
|
i, j = l
|
|
if j == 'UNKNOWN' or j == 'MISSING' or j == 'HIDDEN':
|
|
continue
|
|
print('section .text.'+i, 'exec')
|
|
print('global', i)
|
|
print(i+':')
|
|
print('cmp qword [rel addr__'+i+'], 0')
|
|
print('jne .resolved')
|
|
print('push rdi')
|
|
print('push rsi')
|
|
print('push rdx')
|
|
print('push rcx')
|
|
print('push r8')
|
|
print('push r9')
|
|
print('push rax')
|
|
print('mov edi, 0x1')
|
|
print('lea rsi, [rel str__'+i+']')
|
|
print('lea rdx, [rel addr__'+i+']')
|
|
print('call [rel addr__dynlib_dlsym]')
|
|
print('pop rax')
|
|
print('pop r9')
|
|
print('pop r8')
|
|
print('pop rcx')
|
|
print('pop rdx')
|
|
print('pop rsi')
|
|
print('pop rdi')
|
|
print('.resolved:')
|
|
print('jmp [rel addr__'+i+']')
|
|
print('str__'+i+':')
|
|
print('db "'+j+'", 0')
|
|
print('section .bss.'+i)
|
|
print('addr__'+i+':')
|
|
print('dq 0')
|