Optymalizacja kodu

Napisał bartek w kategorii Assembler, Programowanie

binaryArtykuł prezentujący różnice w optymalizacji kodu przez najpopularniejsze kompilatory HLL, cała masa ciekawych snippetów i trików używanych do wyprodukowania optymalnego kodu (również odpowiada na odwieczne pytanie czym zerować rejestry sub-em, xor-em czy inaczej), polecam prawdziwym fanatykom assemblera :)

linux-kongress.org/…/compiler_survey_felix_von_leitner.pdf

Przy okazji polecam również ciekawy artykuł autorstwa Gynvaela Coldwinda o branchless code, czyli w skrócie jak pozbyć się z kodu skoków i zastąpić je inną serią instrukcji:

http://gynvael.coldwind.pl/?id=247

Gynvael opisał wszystko na poziomie HLL, więcej przykładów w assemblerze zaprezentował kilka lat temu virii writer z0mbie w artykule Polymorphic Games:

http://vx.netlux.org/lib/vzo43.html

Przy okazji na blogu Gynvaela znalazłem odnośniki do podobnego artykułu:

http://fanael.wordpress.com/…/jak-pisac-branchless-code-czesc-1/

http://fanael.wordpress.com/…/branchless-clamp-to-0-255/

Komentarz (1)

Obfuscator x86

Szaleństwo – jakby to napisali w reklamie Media Markt (tyle, że bez Michała Wiśniewskiego, bo odmówił udziału w tej promocji), rozdają za darmo kody do Obfuscatora kodu x86, który z twojego kodu wykrywanego przez wszystkie antywirusy zrobi sieczkę nie do rozpoznania nawet przez MksVira :)

http://www.pelock.com/products/obfuscator

Tak wygląda kod po jego zaciemnieniu:

Obfuscated

Każdy kto chce otrzymać promocyjny pakiet w wysokości 123 darmowych kredytów proszony jest o kontakt z redakcją i podanie jednego powodu, dla którego chce zamotać swój kod w assemblerze.

Komentarze (6)

Oferta pracy w Vatari

Napisał bartek w kategorii Praca, Reversing
, ,

Szukają kogoś, kto zna assemblera i C++ do pracy nad zabezpieczeniem oprogramowania

http://www.vatari.sk/info/praca.html

Jeśli zauważysz jakąś fajną ofertę pracy, dopisz ja do Proponowanych Tematów, a dodam ją na główną stronę.

Brak Komentarzy

Wpływ podkręcenia CPU na kod aplikacji

Jest to bardzo stary artykuł z bloga Raymonda Chena, opisuje on jednak ciekawa historię wysypywania się aplikacji na instrukcji xor eax, eax co jak każdy koder assemblera wie jest praktycznie niemożliwe.

http://blogs.msdn.com/oldnewthing/archive/2005/04/12/407562.aspx

W swoim życiu spotkałem się raz z podobną sytuacją, gdzie u klienta w mojej aplikacji był wykonywany kod, który po prostu nie mógł być wykonywany, a próby reprodukcji buga spełzały na niczym.

Okazało się, że komputer klienta był podkręcony i jedyne wyjaśnienie tej sytuacji pasuje idealnie do opisywanej przez Raymonda Chena historii.

Brak Komentarzy