1bitshort
October 31st, 2005, 02:47
I need to disassemble a kernel function (just disassemble, not debug in realtime). Can this be done with Ollydbg or IDA?
For example here is ZwTerminateProcess in ntdll.dll as seen from Ollydbg:
7C90E88E > B8 01010000 MOV EAX,101
7C90E893 BA 0003FE7F MOV EDX,7FFE0300
7C90E898 FF12 CALL DWORD PTR DS:[EDX]
7C90E89A C2 0800 RETN 8
Ollydbg can disassemble this code because its usermode but when the CALL is made it goes to kernel mode and Ollydbg cant debug there. If I made a copy of ntdll.dll would I be able to disassemble from that? I know that the CALL doesnt go directly to the kernel TerminateProcess function but rather a handler that checks the value of eax (101 in this case) and then calls the related kernel function
Has anyone done this before or know how to?
For example here is ZwTerminateProcess in ntdll.dll as seen from Ollydbg:
7C90E88E > B8 01010000 MOV EAX,101
7C90E893 BA 0003FE7F MOV EDX,7FFE0300
7C90E898 FF12 CALL DWORD PTR DS:[EDX]
7C90E89A C2 0800 RETN 8
Ollydbg can disassemble this code because its usermode but when the CALL is made it goes to kernel mode and Ollydbg cant debug there. If I made a copy of ntdll.dll would I be able to disassemble from that? I know that the CALL doesnt go directly to the kernel TerminateProcess function but rather a handler that checks the value of eax (101 in this case) and then calls the related kernel function
Has anyone done this before or know how to?