ref(gdbinit)

This commit is contained in:
thek4n 2024-04-10 11:16:47 +03:00
parent 0a8cae743e
commit eb0650ad1a

View File

@ -196,10 +196,10 @@ define flags
# ZF (zero) flag # ZF (zero) flag
if (($eflags >> 6) & 1) if (($eflags >> 6) & 1)
printf "Z " printf "Z "
set $_zf_flag = 1 set $_zf_flag = 1
else else
printf "z " printf "z "
set $_zf_flag = 0 set $_zf_flag = 0
end end
if (($eflags >> 4) & 1) if (($eflags >> 4) & 1)
printf "A " printf "A "
@ -209,18 +209,18 @@ define flags
# PF (parity) flag # PF (parity) flag
if (($eflags >> 2) & 1) if (($eflags >> 2) & 1)
printf "P " printf "P "
set $_pf_flag = 1 set $_pf_flag = 1
else else
printf "p " printf "p "
set $_pf_flag = 0 set $_pf_flag = 0
end end
# CF (carry) flag # CF (carry) flag
if ($eflags & 1) if ($eflags & 1)
printf "C " printf "C "
set $_cf_flag = 1 set $_cf_flag = 1
else else
printf "c " printf "c "
set $_cf_flag = 0 set $_cf_flag = 0
end end
printf "\n" printf "\n"
end end
@ -419,11 +419,11 @@ define reg
echo \033[0m echo \033[0m
end end
# call smallregisters # call smallregisters
smallregisters smallregisters
# display conditional jump routine # display conditional jump routine
if ($64BITS == 1) if ($64BITS == 1)
printf "\t\t\t\t" printf "\t\t\t\t"
end end
dumpjump dumpjump
printf "\n" printf "\n"
end end
@ -434,53 +434,53 @@ end
define smallregisters define smallregisters
if ($64BITS == 1) if ($64BITS == 1)
#64bits stuff #64bits stuff
# from rax # from rax
set $eax = $rax & 0xffffffff set $eax = $rax & 0xffffffff
set $ax = $rax & 0xffff set $ax = $rax & 0xffff
set $al = $ax & 0xff set $al = $ax & 0xff
set $ah = $ax >> 8 set $ah = $ax >> 8
# from rbx # from rbx
set $bx = $rbx & 0xffff set $bx = $rbx & 0xffff
set $bl = $bx & 0xff set $bl = $bx & 0xff
set $bh = $bx >> 8 set $bh = $bx >> 8
# from rcx # from rcx
set $ecx = $rcx & 0xffffffff set $ecx = $rcx & 0xffffffff
set $cx = $rcx & 0xffff set $cx = $rcx & 0xffff
set $cl = $cx & 0xff set $cl = $cx & 0xff
set $ch = $cx >> 8 set $ch = $cx >> 8
# from rdx # from rdx
set $edx = $rdx & 0xffffffff set $edx = $rdx & 0xffffffff
set $dx = $rdx & 0xffff set $dx = $rdx & 0xffff
set $dl = $dx & 0xff set $dl = $dx & 0xff
set $dh = $dx >> 8 set $dh = $dx >> 8
# from rsi # from rsi
set $esi = $rsi & 0xffffffff set $esi = $rsi & 0xffffffff
set $si = $rsi & 0xffff set $si = $rsi & 0xffff
# from rdi # from rdi
set $edi = $rdi & 0xffffffff set $edi = $rdi & 0xffffffff
set $di = $rdi & 0xffff set $di = $rdi & 0xffff
#32 bits stuff #32 bits stuff
else else
# from eax # from eax
set $ax = $eax & 0xffff set $ax = $eax & 0xffff
set $al = $ax & 0xff set $al = $ax & 0xff
set $ah = $ax >> 8 set $ah = $ax >> 8
# from ebx # from ebx
set $bx = $ebx & 0xffff set $bx = $ebx & 0xffff
set $bl = $bx & 0xff set $bl = $bx & 0xff
set $bh = $bx >> 8 set $bh = $bx >> 8
# from ecx # from ecx
set $cx = $ecx & 0xffff set $cx = $ecx & 0xffff
set $cl = $cx & 0xff set $cl = $cx & 0xff
set $ch = $cx >> 8 set $ch = $cx >> 8
# from edx # from edx
set $dx = $edx & 0xffff set $dx = $edx & 0xffff
set $dl = $dx & 0xff set $dl = $dx & 0xff
set $dh = $dx >> 8 set $dh = $dx >> 8
# from esi # from esi
set $si = $esi & 0xffff set $si = $esi & 0xffff
# from edi # from edi
set $di = $edi & 0xffff set $di = $edi & 0xffff
end end
end end
@ -674,15 +674,15 @@ define ddump
else else
printf "[0x%04X:0x%08X]", $ds, $data_addr printf "[0x%04X:0x%08X]", $ds, $data_addr
end end
echo \033[34m echo \033[34m
printf "------------------------" printf "------------------------"
printf "-------------------------------" printf "-------------------------------"
if ($64BITS == 1) if ($64BITS == 1)
printf "-------------------------------------" printf "-------------------------------------"
end end
echo \033[1;34m echo \033[1;34m
printf "[data]\n" printf "[data]\n"
echo \033[0m echo \033[0m
set $_count = 0 set $_count = 0
while ($_count < $arg0) while ($_count < $arg0)
@ -717,36 +717,35 @@ end
define datawin define datawin
if ($64BITS == 1) if ($64BITS == 1)
if ((($rsi >> 0x18) == 0x40) || (($rsi >> 0x18) == 0x08) || (($rsi >> 0x18) == 0xBF)) if ((($rsi >> 0x18) == 0x40) || (($rsi >> 0x18) == 0x08) || (($rsi >> 0x18) == 0xBF))
set $data_addr = $rsi set $data_addr = $rsi
else
if ((($rdi >> 0x18) == 0x40) || (($rdi >> 0x18) == 0x08) || (($rdi >> 0x18) == 0xBF))
set $data_addr = $rdi
else else
if ((($rax >> 0x18) == 0x40) || (($rax >> 0x18) == 0x08) || (($rax >> 0x18) == 0xBF)) if ((($rdi >> 0x18) == 0x40) || (($rdi >> 0x18) == 0x08) || (($rdi >> 0x18) == 0xBF))
set $data_addr = $rax set $data_addr = $rdi
else else
set $data_addr = $rsp if ((($rax >> 0x18) == 0x40) || (($rax >> 0x18) == 0x08) || (($rax >> 0x18) == 0xBF))
set $data_addr = $rax
else
set $data_addr = $rsp
end
end
end
else
if ((($esi >> 0x18) == 0x40) || (($esi >> 0x18) == 0x08) || (($esi >> 0x18) == 0xBF))
set $data_addr = $esi
else
if ((($edi >> 0x18) == 0x40) || (($edi >> 0x18) == 0x08) || (($edi >> 0x18) == 0xBF))
set $data_addr = $edi
else
if ((($eax >> 0x18) == 0x40) || (($eax >> 0x18) == 0x08) || (($eax >> 0x18) == 0xBF))
set $data_addr = $eax
else
set $data_addr = $esp
end
end end
end end
end end
else
if ((($esi >> 0x18) == 0x40) || (($esi >> 0x18) == 0x08) || (($esi >> 0x18) == 0xBF))
set $data_addr = $esi
else
if ((($edi >> 0x18) == 0x40) || (($edi >> 0x18) == 0x08) || (($edi >> 0x18) == 0xBF))
set $data_addr = $edi
else
if ((($eax >> 0x18) == 0x40) || (($eax >> 0x18) == 0x08) || (($eax >> 0x18) == 0xBF))
set $data_addr = $eax
else
set $data_addr = $esp
end
end
end
end
ddump $CONTEXTSIZE_DATA ddump $CONTEXTSIZE_DATA
end end
document datawin document datawin