程式語言 - ObjAsm - 如何使用Linux UASM + LLD-Link編譯驅動程式



$ sudo pip3 install pefile

$ uasm -coff -c -q -less -nomlib -FwNUL -Zi -Zd main.asm
$ lld-link main.o \
    /driver \
    /base:0x10000 \
    /subsystem:native \
    /entry:DriverEntry \
    /safeseh:no \
    /opt/wadk/masm32/lib/wxp/i386/ntoskrnl.lib \
    /out:main.sys

$ vim fix.py
    import pefile

    pe = pefile.PE("main.sys")
    pe.OPTIONAL_HEADER.CheckSum = pe.generate_checksum()
    pe.write("main.sys")

$ python3 ./fix.py