root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# nasm -f elf helloworld.asm
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ld helloworld.o
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./a.out
Hello, world!
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack#
ok, sollte nach Buch genauso sein.
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack#
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# nasm helloworld1.s
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ls -l helloworld1
-rw------- 1 tomovic tomovic 50 Aug 12 21:29 helloworld1
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# hexdump -C helloworld1
00000000 e8 0f 00 00 00 48 65 6c 6c 6f 2c 20 77 6f 72 6c |.....Hello, worl|
00000010 64 21 0a 0d 59 b8 04 00 00 00 bb 01 00 00 00 ba |d!..Y...........|
00000020 0f 00 00 00 cd 80 b8 01 00 00 00 bb 00 00 00 00 |................|
00000030 cd 80 |..|
00000032
Ok, nichts neues, es hat sich nichts geändert.
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ndisasm -b32 helloworld1
00000000 E80F000000 call dword 0x14
00000005 48 dec eax
00000006 656C gs insb
00000008 6C insb
00000009 6F outsd
0000000A 2C20 sub al,0x20
0000000C 776F ja 0x7d
0000000E 726C jc 0x7c
00000010 64210A and [fs:edx],ecx
00000013 0D59B80400 or eax,0x4b859
00000018 0000 add [eax],al
0000001A BB01000000 mov ebx,0x1
0000001F BA0F000000 mov edx,0xf
00000024 CD80 int 0x80
00000026 B801000000 mov eax,0x1
0000002B BB00000000 mov ebx,0x0
00000030 CD80 int 0x80
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack#
...wie im Buch...
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# export SHELLCODE=$(cat helloworld1)
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./getenvaddr SHELLCODE ./notesearch
SHELLCODE will be at 0xbffff8d4
helloworld1 geht nicht wegen den Nullen, das ist ganz normal.