mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-08-22 06:54:42 +00:00
95 lines
1.3 KiB
Text
95 lines
1.3 KiB
Text
# OneOpFunc1 input is a number and returns a number.
|
|
.OneOpFunc1->poi db dd dw dq str wstr sizeof neg hi low not
|
|
|
|
# OneOpFunc2 input is a number.
|
|
.OneOpFunc2->print formats disableevent enableevent
|
|
|
|
.ZeroOpFunc1->break
|
|
|
|
.VarArgFunc1->printf
|
|
|
|
.Operators->or xor and asr asl add sub mul div mod
|
|
|
|
.Registers->rax rcx rdx rbx rsp rbp rsi rdi r8 r9 r10 r11 r12 r13 r14 r15
|
|
|
|
.PseudoRegisters->pid tid proc thread peb teb ip buffer context
|
|
|
|
S->C ; S'
|
|
S'->C ; S'
|
|
S'->eps
|
|
C->@PUSH _id = E0 @MOV C'
|
|
C->.OneOpFunc2 ( E0 @.OneOpFunc2 )
|
|
C->.VarArgFunc1 ( E11 @VARGSTART VA @.VarArgFunc1 )
|
|
C->.ZeroOpFunc1 ( @.ZeroOpFunc1 )
|
|
VA->, E0 VA
|
|
VA->eps
|
|
|
|
|
|
C'->eps
|
|
|
|
|
|
|
|
|
|
E0->E1 E0'
|
|
E0'->| E1 @OR E0'
|
|
E0'->eps
|
|
|
|
E1->E2 E1'
|
|
E1'->^ E2 @XOR E1'
|
|
E1'->eps
|
|
|
|
E2->E3 E2'
|
|
E2'->& E3 @AND E2'
|
|
E2'->eps
|
|
|
|
E3->E4 E3'
|
|
E3'->>> E4 @ASR E3'
|
|
E3'->eps
|
|
|
|
E4->E5 E4'
|
|
E4'-><< E5 @ASL E4'
|
|
E4'->eps
|
|
|
|
E5->E6 E5'
|
|
E5'->+ E6 @ADD E5'
|
|
E5'->eps
|
|
|
|
E6->E7 E6'
|
|
E6'->- E7 @SUB E6'
|
|
E6'->eps
|
|
|
|
E7->E8 E7'
|
|
E7'->* E8 @MUL E7'
|
|
E7'->eps
|
|
|
|
E8->E9 E8'
|
|
E8'->/ E9 @DIV E8'
|
|
E8'->eps
|
|
|
|
|
|
E9->E10 E9'
|
|
E9'->% E10 @MOD E9'
|
|
E9'->eps
|
|
|
|
E10->.OneOpFunc1 ( E0 @.OneOpFunc1 )
|
|
|
|
|
|
|
|
E10->( E0 )
|
|
|
|
|
|
# Types must have '_' at the first
|
|
E10->@PUSH _register
|
|
|
|
# numbers
|
|
E10->@PUSH _hex
|
|
E10->@PUSH _decimal
|
|
E10->@PUSH _octal
|
|
E10->@PUSH _binary
|
|
|
|
|
|
|
|
E10->@PUSH _pseudo_register
|
|
|
|
E11->@PUSH _string
|
|
|