- 1
LEA EAX, [EBX]
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−17
LEA EAX, [EBX]
Зачем Интел придумал лишнюю инструкцию с запутанной семантикой, если она эквивалентна MOV EAX, EBX?
−41
global _start
_start:
mov ecx,1
code:
push ecx
mov eax,4
mov ebx,1
mov ecx,str
mov edx,len
int 128
pop ecx
loop:
inc ecx
cmp ecx,10
jle code
exit:
mov eax,1
mov ebx,0
int 128
str: db "Hello world !",10
len: equ $-str
Просто нубский код на nasm, фух, неужели я смог напечатать 10 раз хелловорлд и понять то что написал, аж не верится
+159
mov eax, "allahu akbar"
push eax
Короче слушай сюда, петушок, я буду объяснять тебе доступными словами, что бы ты понял.
Вот попадаешь ты на зону, тебя встречает DHCP, он говорит тебе какая у тебя камера(Маска подсети), койка(ip адрес) и разъясняет порядок на хате(параметры области). Как только тебя определяют, то об этом узнает местная крыса(DNS), этот ушлый чухан вообще всё обо всех знает и сливает инфу по первому стуку в ебало(nslookup). Поэтому как только попадаешь в хату, представься что ты мужик(nsname), однако этот хуй может всем пиздеть что ты хуйло, или вообще идти в несознанку, поэтому лучше знать несколько крыс. Так вот, сидишь ты такой на своей койке и тебе нужно написать маляву(пакет) корешу, малявы передают через чуханов(маршрутизаторы, концентраторы, коммутаторы). Если ты передашь через чухана-концентратора, то знай, этот олень настолько тупой, что тут же забывает кто ему передал маляву и кому ее надо отдать, поэтому что бы не получить пизды, раздает ее всем, даже тебе. Если ты передаешь через чухана-коммутатора, то знай, он куда смышленей и передаст маляву куда надо, но только в пределах своей хаты, ибо связей не имеет. А вот маршрутизатора уже чуханом назвать сложно, этот тип может доставить маляву куда угодно, даже в соседнюю хату и даже в соседнюю зону, ибо связи решают.
+249
mov ecx, [eax+374h]
xor edx, edx
test ecx, ecx
jg short loc_17BE80
mov ecx, edx
loc_17BE80:
mov [eax+374h], ecx
mov eax, [ebp+360h]
mov edx, [eax+374h]
cmp edx, [eax+102Ch]
;...
Какой интересный способ обнуления ecx избрал компилятор...
+130
;Дисассемблировано "Doctor Watson" для Windows Server 2003 R2 x64
00000000`004d3f4b 2448 and al,0x48
00000000`004d3f4d 488b742440 mov rsi,[rsp+0x40]
00000000`004d3f52 418b4008 mov eax,[r8+0x8]
00000000`004d3f56 4c8b642420 mov r12,[rsp+0x20]
00000000`004d3f5b 488b5c2430 mov rbx,[rsp+0x30]
00000000`004d3f60 ffc8 dec eax
00000000`004d3f62 498d54c00c lea rdx,[r8+rax*8+0xc]
00000000`004d3f67 666690 nop
00000000`004d3f6a 666690 nop
00000000`004d3f6d 666690 nop
FAULT ->00000000`004d3f70 0fb74202 movzx eax,word ptr [rdx+0x2] ds:00000008`01511086=????
00000000`004d3f74 443bc8 cmp r9d,eax
00000000`004d3f77 440f42c8 cmovb r9d,eax
00000000`004d3f7b 66837a0400 cmp word ptr [rdx+0x4],0x0
00000000`004d3f80 7415 jz bma+0xd3f97 (00000000004d3f97)
00000000`004d3f82 488d0cc500000000 lea rcx,[00000000+rax*8]
00000000`004d3f8a 488d0449 lea rax,[rcx+rcx*2]
00000000`004d3f8e 0f181442 prefetcht1 byte ptr [rdx+rax*2]
00000000`004d3f92 4803d1 add rdx,rcx
00000000`004d3f95 ebd9 jmp bma+0xd3f70 (00000000004d3f70)
00000000`004d3f97 488bc5 mov rax,rbp
HP Data Protection Manager 6.10, Windows x86-64, NDMP Media Agent. С первым патчем (не помню номер). Падал с Access Violation.
Явно ошибка в компиляторе. Если что, в rax в этот момент было 0x00000000ffffffff.
+135
descriptions[result].Append(tblib::Format("%").i(0x12345678, 0xBB));
0040E729 push 0BBh
0040E72E push 12345678h ; ага, запихали параметры для Format::i, заебись; теперь esp=0x0012f1f4
0040E733 lea eax,[esp+38h]
0040E737 push eax ; esp=0x0012f1f0
0040E738 lea ecx,[esp+1Ch]
0040E73C mov dword ptr [esp+3Ch],offset USER32_NULL_THUNK_DATA+40h (43C1A8h)
0040E744 mov dword ptr [esp+40h],ebp
0040E748 mov dword ptr [esp+44h],1
0040E750 call tblib::HeapCArray<char>::HeapCArray<char><tblib::StringRef> (4161B0h) ; esp=0x0012f1f4
0040E755 push 400h ; esp=0x0012f1f0
0040E75A mov ecx,offset tbAlloc (18B0C88h)
0040E75F mov dword ptr [esp+2Ch],ebp
0040E763 mov dword ptr [esp+28h],ebp
0040E767 mov dword ptr [esp+24h],ebp
0040E76B call tblib::Allocator::Malloc (42C500h) ; esp=0x0012f1f4
0040E770 mov dword ptr [esp+20h],eax
0040E774 neg eax
0040E776 sbb eax,eax
0040E778 and eax,400h
0040E77D lea ecx,[esp+18h]
0040E781 mov dword ptr [esp+24h],eax
0040E785 mov dword ptr [esp+2Ch],0FFFFFFFFh
0040E78D call tblib::Format::PassToNext (41BC00h) ; хуй знает почему, но после этой функции esp не меняется, конвенция такая видимо
0040E792 sub esp,0Ch ; БЛЯДЬ СУКА НАХУЙ ЁБАНЫЙ ПИЗДЕЦ ТЫ ЧЁ СУКА ТВОРИШЬ ААААААААА!!!!!!!!!!!!!!!!!!!!!!!!
0040E795 lea ecx,[esp+24h]
0040E799 mov edi,esp
0040E79B call tblib::Format::i (42DBA0h) ; esp=0x0012f1e8, указывает на мусор, параметры для функции - где-то выше
...
MSVC 2003 релиз
+114
CFG ; start: scasb
DCG ; salc
AEEAFF ; and al,'\'-'/'
AAEAFO ; add al,'/'
DBFAFB ; int 29h
DFDDGG ; jmp start
Генератор лабиринта на Wct.
+145
add ax,1 ; Добавляем в ax 1 (не знаю, почему он так сделал, МЕДЛЕННО И 3 БАЙТА), можно было же inc ax
add ax,1
add ax,1
add ax,1
add ax,1
add ax,1
add ax,1
add ax,1
add ax,1
mov ax,9 ; А теперь я понял тщетность бытия и те потраченные байты выше.
Самый лучший говнокод новичка, который я видел.
+198
org 100h ; DOS, чёрной пеленой покрытый DOS...
delGovnocode:
mov eax,govnokod ; Помещаем в EAX говнокод
xor eax,eax ; Обнуляем EAX
govnokod db "AllGovnocodeInTheWorld" ; говнокод
Самый эффективный способ уничтожения говнокода, который является говнокодом.
+143
dw 0 ; reserved, must be 0
dw 1 ; icon type, must be 1
dw 2 ; number of images in file
; 1st icon header
db 32 ; width
db 32 ; height
db 0 ; no color palette
db 0 ; reserved, must be 0
dw 1 ; planes
dw 32 ; bits per pixel
dd icon32_end-icon32_start ; length
dd icon32_start ; offset
; 2nd icon header
db 16 ; width
db 16 ; height
db 0 ; no color palette
db 0 ; reserved, must be 0
dw 1 ; planes
dw 32 ; bits per pixel
dd icon16_end-icon16_start ; length
dd icon16_start ; offset
; 1st icon body
icon32_start:
file 'icon32.png'
icon32_end:
; 2nd icon body
icon16_start:
file 'icon16.png'
icon16_end:
http://habrahabr.ru/post/247425/
Сборка иконки FASMом