Программирование в машинных кодах или soft-ice как logger

       

финальная точка останова


Команда '? PID' выводит идентификатор процесса, 'P RET' выполняет API-функцию, дожидаясь возврата, а '? EAX' сообщает содержимое регистра EAX в котором находится код возврата из API-функции и все вместе это работает так:

Break due to BPX KERNEL32!CreateFileA  DO "? PID; D esp->
4 L 20; P RET; ? EAX; x;"

000001DC  0000000476  "-"               ; PID

0010:0012138C 43 44 2E 73 6E 61 69 6C-2E 65 78 65 00 61 5F 65  CD.snail.exe.a_e

0010:0012139C 2E 65 78 65 00 00 00 00-00 00 00 00 00 00 00 00  .exe............

00000074  0000000116  "t"                ; код возврата

Break due to BPX KERNEL32!CreateFileA  DO "? PID; D esp->
4 L 20; P RET; ? EAX; x;"

000001DC  0000000476  "-"               ; PID

0010:0012138C 64 65 6D 6F 2E 63 72 6B-2E 65 78 65 00 61 5F 65  demo.crk.exe.a_e

0010:0012139C 2E 65 78 65 00 00 00 00-00 00 00 00 00 00 00 00  .exe............

00000074  0000000116  "t"                ; код возврата

Break due to BPX KERNEL32!CreateFileA  DO "? PID; D esp->
4 L 20; P RET; ? EAX; x;" 000001DC  0000000476  "-"                 ; PID

0010:0012138C 64 65 6D 6F 2E 70 72 6F-74 65 63 74 65 64 2E 63  demo.protected.c

0010:0012139C 72 6B 2E 65 78 65 00 00-00 00 00 00 00 00 00 00  rk.exe..........

00000074  0000000116  "t"                ; код возврата



Содержание раздела