-
Notifications
You must be signed in to change notification settings - Fork 74
Expand file tree
/
Copy pathAsmBreak.asm
More file actions
77 lines (60 loc) · 1.74 KB
/
AsmBreak.asm
File metadata and controls
77 lines (60 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
; Generated at 6/14/2016 12:11:29 PM
DebugStub_AsmBreakEIP dd 0
DebugStub_AsmOrigByte dd 0
DebugStub_DoAsmBreak:
mov dword ESI, [DebugStub_CallerESP]
mov dword EAX, [DebugStub_AsmBreakEIP]
mov dword [ESI - 12], EAX
Call DebugStub_ClearAsmBreak
Call DebugStub_Break
DebugStub_DoAsmBreak_Exit:
mov dword [static_field__A1Cosmos_Core_INTs_mLastKnownAddress], DebugStub_DoAsmBreak_Exit
Ret
DebugStub_SetAsmBreak:
Call DebugStub_ClearAsmBreak
Call DebugStub_ComReadEAX
mov dword [DebugStub_AsmBreakEIP], EAX
mov dword EDI, EAX
mov byte AL, [EDI]
mov byte [DebugStub_AsmOrigByte], AL
mov byte AL, 0xCC
mov byte [EDI], AL
DebugStub_SetAsmBreak_Exit:
mov dword [static_field__A1Cosmos_Core_INTs_mLastKnownAddress], DebugStub_SetAsmBreak_Exit
Ret
DebugStub_ClearAsmBreak:
mov dword EDI, [DebugStub_AsmBreakEIP]
cmp dword EDI, 0x0
JE near DebugStub_ClearAsmBreak_Exit
mov byte AL, [DebugStub_AsmOrigByte]
mov byte [EDI], AL
mov dword [DebugStub_AsmBreakEIP], 0x0
DebugStub_ClearAsmBreak_Exit:
mov dword [static_field__A1Cosmos_Core_INTs_mLastKnownAddress], DebugStub_ClearAsmBreak_Exit
Ret
DebugStub_SetINT1_TrapFLAG:
push dword EBP
push dword EAX
mov dword EBP, [DebugStub_CallerESP]
sub dword EBP, 0x4
mov dword EAX, [EBP]
or dword EAX, 0x100
mov dword [EBP], EAX
pop dword EAX
pop dword EBP
DebugStub_SetINT1_TrapFLAG_Exit:
mov dword [static_field__A1Cosmos_Core_INTs_mLastKnownAddress], DebugStub_SetINT1_TrapFLAG_Exit
Ret
DebugStub_ResetINT1_TrapFLAG:
push dword EBP
push dword EAX
mov dword EBP, [DebugStub_CallerESP]
sub dword EBP, 0x4
mov dword EAX, [EBP]
and dword EAX, 0xFEFF
mov dword [EBP], EAX
pop dword EAX
pop dword EBP
DebugStub_ResetINT1_TrapFLAG_Exit:
mov dword [static_field__A1Cosmos_Core_INTs_mLastKnownAddress], DebugStub_ResetINT1_TrapFLAG_Exit
Ret