1# connect gdb to Valgrind gdbserver: 2target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcvabits 3echo vgdb launched process attached\n 4monitor v.set vgdb-error 999999 5# 6# 7# insert break: 8break breakme 9# 10# continue till //1break: 11continue 12# 13# up to main: 14up 15# 16# print local string variables: 17print main_name 18print undefined 19# save address of undefined 20set $0xundefined = &undefined 21# 22# Verif A-bits, V-bits, Get V-bits: A,V,G [0..9] 23eval "monitor check_memory addressable 0x%x 10", $0xundefined 24eval "monitor check_memory defined 0x%x 10", $0xundefined 25eval "monitor get_vbits 0x%x 10", $0xundefined 26# 27# continue till //2break: 28continue 29# 30# A,V,G [0..9] after the undefinition of some bytes by executable: 31eval "monitor check_memory addressable 0x%x 10", $0xundefined 32eval "monitor check_memory defined 0x%x 10", $0xundefined 33eval "monitor get_vbits 0x%x 10", $0xundefined 34# 35# Redefine [2..4] 36set $0xundefined_2 = (char*)$0xundefined + 2 37eval "monitor make_memory defined 0x%x 3", $0xundefined_2 38# A,V,G 39eval "monitor check_memory addressable 0x%x 10", $0xundefined 40eval "monitor check_memory defined 0x%x 10", $0xundefined 41eval "monitor get_vbits 0x%x 10", $0xundefined 42# 43# Undefine [2..5] 44eval "monitor make_memory undefined 0x%x 4", $0xundefined_2 45# A,V,G [0..9] 46eval "monitor check_memory addressable 0x%x 10", $0xundefined 47eval "monitor check_memory defined 0x%x 10", $0xundefined 48eval "monitor get_vbits 0x%x 10", $0xundefined 49# 50# noaccess [2..3] 51eval "monitor make_memory noaccess 0x%x 2", $0xundefined_2 52# A,V,G [0..1] 53eval "monitor check_memory addressable 0x%x 2", $0xundefined 54eval "monitor check_memory defined 0x%x 2", $0xundefined 55eval "monitor get_vbits 0x%x 2", $0xundefined 56# A,V,G [2..3] 57eval "monitor check_memory addressable 0x%x 2", $0xundefined_2 58eval "monitor check_memory defined 0x%x 2", $0xundefined_2 59eval "monitor get_vbits 0x%x 2", $0xundefined_2 60# A,V,G [4..9] 61set $0xundefined_4 = (char*) $0xundefined_2 + 2 62eval "monitor check_memory addressable 0x%x 6", $0xundefined_4 63eval "monitor check_memory defined 0x%x 6", $0xundefined_4 64eval "monitor get_vbits 0x%x 6", $0xundefined_4 65# 66# Definedifaddressable undefined[0..9] 67eval "monitor make_memory Definedifaddressable 0x%x 10", $0xundefined 68# A,V,G 69eval "monitor check_memory addressable 0x%x 10", $0xundefined 70eval "monitor check_memory defined 0x%x 10", $0xundefined 71eval "monitor get_vbits 0x%x 10", $0xundefined 72# 73monitor v.kill 74quit 75