Praktyczna inżynieria wsteczna
Inżynieria wsteczna oprogramowania jest procesem dogłębnej analizy bibliotek, aplikacji i systemów, których kod źródłowy nie jest dostępny dla badacza. Umożliwia ona zarówno odtworzenie i pełne zrozumienie logiki konkretnego programu, jak i poszerzenie wiedzy na temat sposobu działania współczesnych procesorów, kompilatorów czy całych systemów operacyjnych. Umiejętność ta może zostać użyta do odkrywania i eksploatacji luk bezpieczeństwa, analizy złośliwego oprogramowania, a nawet podejmowania bardziej świadomych decyzji programistycznych i łatwiejszego radzenia sobie z błędami we własnym kodzie.
Książka jest kompilacją publikacji dwunastu polskich autorów z wieloletnim doświadczeniem, którzy na co dzień posługują się przedstawionymi technikami w pracy jako eksperci od bezpieczeństwa i analitycy. Wśród nich znajdziemy wielu specjalistów zatrudnionych w największych firmach informatycznych, laureatów nagrody Pewnie Award, rozpoznawalnych prelegentów uznanych konferencji i członków czołowych zespołów startujących w konkursach security Capture The Flag. Materiały zostały wybrane i zredagowane przez Gynvaela Coldwinda i Mateusza Jurczyka.
Niektóre z poruszanych zagadnień to:
Różnorodność tematów poruszanych przez autorów sprawia, że pozycja ta może zainteresować zarówno osoby początkujące, jak i pasjonatów pragnących poszerzyć swoją wiedzę lub zwiększyć repertuar używanych narzędzi i technik.
Autorami poszczególnych rozdziałów są: Tomasz Bukowski, Grzegorz Antoniak, Tomasz Kwiecień, Mateusz Krzywicki, Marcin Hartung, Gynvael Coldwind, Hasherezade, Maciej Kotowicz, Michał Kowalczyk, Robert Święcki, Piotr Bania, Mateusz Jurczyk.
Patroni medialni:
Zrozumieć programowanie
Książka jest techniczno - popularyzacyjną pozycją traktującą o programowaniu oraz
tematach pokrewnych, i jest napisana z myślą o początkujących oraz średnio-zaawansowanych programistach, a także osobach, które dopiero chcą rozpocząć przygodę z programowaniem.
Celem publikacji jest przedstawienie ciekawych elementów programowania oraz ekosystemu programistycznego, a także przedstawienie sposobów radzenia sobie z podstawowymi problemami, oraz wyjaśnienia w przystępny sposób pewnych elementów, z którymi często osoby początkujące oraz średnio-zaawansowane mają trudności.
Z książki dowiesz się:
· Jak poradzić sobie z trudnościami napotykanymi podczas programowania.
· Jak operować na danych tekstowych, binarnych, plikach, strumieniach, pakietach danych, oraz jakie są najczęściej popełniane błędy.
· Jakie są różnice pomiędzy językami programowania w kwestiach, które na pierwszy rzut oka wydawały się identyczne.
· Jak wybrane, często używane, mechanizmy, funkcje czy biblioteki działają "od kuchni".
· Oraz o wielu detalach, które normalnie pozostałyby niezauważone.
· A także zaprzyjaźnisz się z niskopoziomowymi aspektami informatyki.
Powinieneś:
· znać podstawy programowania (np. wiedzieć czym jest pętla),
oraz mieć w swoim dorobku przynajmniej jeden program dłuższy niż 50 linii.