Optymalizacja kodu assemblera pod względem rozmiaru

Zapraszam do przeczytania mojego małego artykułu na temat optymalizacji kodu assemblera pod względem wielkości. Kilka przydatnych sztuczek przydaje się przy reversingu aplikacji, gdy trzeba zmieścić kod w ograniczonej przestrzeni lub przy kodowaniu shellcodów.

Artykuł dostępny na:

https://dev.to/pelock/assembly-code-size-optimization-tricks-2abd

PS. Polecam również prezentujący różne ciekawe sztuczki nieosiągalne dla kompilatorów HLL

http://mark.masmcode.com/

Najlepszy font do programowania?

Lata temu, gdy w 4 kilobajtach można było napisać całkiem spory program, korzystałem ze zmodyfikowanego fontu Proggy Clean w swoim edytorze EditPlus do programowania w assemblerze. Postęp technologii, wysokie DPI i coraz większe rozdzielczości wymusiły zmianę na inny programistyczny font i najbardziej spodobał mi się Consolas.

Jednak ostatnio, po długim czasie przerzuciłem się z Consolas w większości edytorów i środowisk IDE na rzecz nowego fontu prosto od Microsoft – Cascadia Code.

Myślałem, że nie przyzwyczaję się do wbudowanych ligatur, czyli łączenia dwóch znaków używanych w programowaniu, takich jak np. „>=” czy „==” w jeden, ładnie wyglądający. Myliłem się. Polecam każdemu spróbować.

Do ściągnięcia z https://github.com/microsoft/cascadia-code

A z jakich fontów wy korzystacie? Piszcie w komentarzach.

Konwersja liczb zmiennoprzecinkowych na stringi i optymalizacja BASE64

Source codeWojtek Muła jak zwykle w formie, dawno nie zaglądałem na jego bloga, a pojawiło się kilka ciekawych wpisów programistycznych

Konwersja liczb zmiennoprzecinkowych na stringi
http://0x80.pl/notesen/2015-12-29-float-to-string.html

Analiza działania i optymalizacja algorytmu BASE64
http://0x80.pl/notesen/2015-12-27-base64-encoding.html

Do wygrania 0.3117 BTC w konkursie na najlepszy wpis o programowaniu

devstart-constellationForum programistyczne DevStart ogłasza konkurs „Dlaczego warto programować w…” gdzie możesz podzielić się swoją wiedzą dotyczącą programowania w wybranym przez siebie języku programowania i opisać innym czytelnikom dlaczego akurat ten język programowania jest dla Ciebie przydatny, jakie ma zalety (przykłady kodu), zastosowania, gdzie najlepiej się sprawdza i jak programowanie w nim wpłynęło na Twoje życie i karierę.

Wiadomo – najlepsze historie pisze życie, interesuje mnie zarówno aspekt techniczny wybranego języka programowania, jego przewaga nad innymi językami programowania oraz Twoje własne perypetie z nim związane np. w tworzonych projektach i wnioski wyciągnięte z takich prawdziwych historii.

Zasady konkursu

  • Wrzuć w dział odpowiedniego języka programowania swój wpis
  • Im więcej treści tym lepiej, zachęcam do wrzucania przykładów kodu z wyjaśnieniami, odnośników oraz pomocniczych grafik, filmówschematów i wszystkiego co wzbogaci zawartość
  • Tytuł wpisu dowolny, ale adekwatny do konkursu
  • Dodaj dowolne tagi + koniecznie tag „dlaczego warto programować”
  • 1 autor może zamieścić tylko 1 wpis konkursowy
  • Wpisy automatycznie są blokowane po 7 dniach, po których nie będziesz mógł wprowadzić modyfikacji w samym temacie, dlatego proszę o wrzucanie kompletnych i sprawdzonych wpisów

Nagrody

Autor najlepszego i najciekawszego wpisu otrzyma 0.3117 BTC. Pozostałe 2 miejsca zostaną nagrodzone kwotą po 0.1055 BTC.

Terminy

Zgłoszenia należy zamieszczać do końca listopada 2015 roku. Zwycięzcy zostaną ogłoszeni na początku grudnia 2015 roku i przekazane im zostaną nagrody BitCoinowe. O zwycięstwie będą decydowały również takie czynniki jak głosy użytkowników i zainteresowanie jakie wpisy wzbudzą, dlatego uprasza się o nie czekanie do samej końcowej daty trwania konkursu z umieszczaniem wpisów.

https://devstart.pl/temat/335-dlaczego-warto-programowac-w-konkurs-za-0-3117-btc/

Nowa odsłona forum programistycznego DevStart

Od paru tygodni trwały pracę nad nową odsłoną forum programistycznego DevStart. W końcu po ciężkich bojach DevStart zostało przeniesione na system forum Invision Power Board, który jak mam nadzieję pozwoli w końcu stworzyć społeczność skupioną wokół wielu języków programowania i technologii związanych z programowaniem.

devstart-constellation

Wszystkie stare wpisy zostały z nie lada trudem przekonwertowane do nowego systemu i rozdzielone według tagów do odpowiednich kategorii, nie wszystko idealnie rozstało rozpoznane, dlatego proszę o wybaczenie, jeśli jakiś temat został błędnie sklasyfikowany.

Skąd ta zmiana?

Formuła Q&A promowana przez strony, takie jak StackOverflow nie sprzyja tworzeniu społeczności, a to co się obecnie dzieje na SO wręcz zniechęca do uczestniczenia w jakichkolwiek dyskusjach, zwłaszcza początkujących użytkowników. Mogłem pozwolić na śmierć DevStart, ale postanowiłem jeszcze raz spróbować, tym razem bazując na systemie, na którym można zbudować społeczność, do której warto codziennie zaglądać.

Co nowego znajdziesz w tej odsłonie DevStart:

  1. 1. Domyślne, szyfrowane połączenie, korzystające z protokołu HTTPS
  2. 2. Temat forum dostosowany dla desktopów i urządzeń mobilnych (responsywny)
  3. 3. Logowanie za pomocą własnego konta użytkownika, konta Google oraz Facebook.
  4. 4. Poprawny system wiadomości prywatnych
  5. 5. Wiele działów tematycznych pozwalających znaleźć swoją niszę, Java i PHP to nie wszystko
  6. 6. Kalendarz, w którym możesz oznaczyć ważne wydarzenia, konferencje, meetupy etc.
  7. 7. System reputacji użytkowników
  8. 8. Chat

Brzmi ciekawie?

Jeśli jeszcze nie spisałeś DevStart na straty, może wpadniesz z wizytą i zobaczysz jak to wszystko wygląda:

forum-programistyczne-devstart

Bonus: Połączenie z SecNews

Forum DevStart połączone zostało także z dawnym (i zamkniętym) forum bezpieczeństwa Security News https://www.secnews.pl, związanym z takimi tematami jak inżynieria wsteczna oprogramowania i dzięki temu dział Reverse Engineering zyskał swoje stałe miejsce na DevStart, a jego starych użytkowników również zachęcam do odwiedzin.

Zrozumieć Programowanie – Gynvael Coldwind

Już za kilka dni będzie można zrobić preorder książki Gynvaela Coldwinda – „Zrozumieć Programowanie”. Gynvael jest znanym researcherem, często współpracuje z Mateuszem „j00ru” Jurczykiem. Na jego kanale na YouTube możecie znaleźć podcasty, dotykające tematyki hacking, reversing oraz samego programowania. Gynvael jest także kapitanem drużyny Dragon Sector biorącej udział w konkursach CTF (Capture the Flag) organizowanych na całym świecie.

zrozumiec-programowanie-gynvael-coldwind

Spis treści, podcasty – http://gynvael.coldwind.pl/?id=566