Losowe informacje o książce
- Tytuł: „Praktyczna inżynieria wsteczna: Metody, techniki i narzędzia”
- Autorzy: (w kolejności rozdziałów w książce): Tomasz Bukowski, Grzegorz Antoniak, Tomasz Kwiecień, Mateusz Krzywicki, Marcin Hartung, Gynvael Coldwind, Hasherezade, Maciej Kotowicz, Michał Kowalczyk, Robert Święcki, Piotr Bania i Mateusz Jurczyk
- Spis treści: PDF
- Rodzaj książki: techniczna, specjalistyczna, zbiór opracowań/artykułów
- Poziom trudności: zależny od konkretnego rozdziału - są rozdziały dla początkujących, dla zaawansowanych i dla profesjonalistów; są też ciekawostki dla wszystkich; taki mix
- Wydawnictwo: Wydawnictwo Naukowe PWN
- Data premiery: 4.11.2016 (a przynajmniej taki jest plan)
- Okładka: miękka
- Liczba stron: 526
- Przedsprzedaż: na stronie wydawnictwa, agregat (ceny około 65-80 PLN z tego co widzę)
- E-book: będzie miesiąc po premierze, tj. w okolicach początku grudnia
- Redaktorzy prowadzący: Gynvael Coldwind, Mateusz Jurczyk
- Redaktorzy: Tomasz Łopuszański, Małgorzata Dąbkowska-Kowalik
- Wydawca: Łukasz Łopuszański
- Korekta merytoryczna: Mariusz Witkowski, Paweł Zakrzewski, a także Michał Kowalczyk
- Słowa kluczowa: inżynieria wsteczna, formaty plików wykonywalnych, anty-RE, anty-anty-RE, programowanie, CTF, x86, asembler, GNU/Linux, Windows, .NET, CPython, firmware, bezpieczeństwo niskopoziomowe, buffer overflow, format string, mitygacje, obfuskacja, shellcode
Spotkanie autorskie
Spotkanie autorskie odbędzie się w Warszawie 7 listopada (18:00 - 20:00), w Klubie ARCO, który znajduje się przy ul. Bitwy Warszawskiej 1920 r. 19. Technicznie jest to część agendy konferencji Security PWNing, natomiast samo spotkanie będzie otwarte i bezpłatne.Rejestracja: click
Na spotkaniu będzie większość autorów książki (tj. Tomasz Bukowski, Tomasz Kwiecień, Mateusz Krzywicki, Marcin Hartung, Maciej Kotowicz, Michał Kowalczyk, Robert Święcki oraz Mateusz Jurczyk) i będzie ono miało formę panelu (prowadzonego przeze mnie), a potem odbędzie Q&A jeśli będą pytania. A na końcu oczywiście stała część spotkań autorskich, czyli podpisywanie książek :)
Dodam, że jeśli wszystko pójdzie dobrze (a na to się zanosi), to będzie stoisko PWN z zapasem książek do nabycia.
Na tą chwilę jest to jedyne przewidziane spotkanie autorskie (dość trudno jest zebrać tak liczną grupę autorów w jednym miejscu w tym samym czasie).
O książce
Jak pisałem już wcześniej, książka jest zbiorem opracowań różnych tematów związanych z inżynierią wsteczną. Autorzy dostali w zasadzie wolną rękę co do tematu - założenie było takie, że jeśli dany autor będzie pisał o tym co chcę (tj. temat nie zostanie narzucony z góry), to treść będzie naturalnie lepszej jakości. Ostatecznie rozdziały wypadły w jedną z trzech grup:- Dla początkujących - opisujące podstawy, raczej znane osobom długo siedzącym w branży.
- Dla zaawansowanych/profesjonalistów - opisujące albo bardziej wymyślne techniki i pomysły, albo dotykające mniej standardowych technologii (tj. nie-x86).
- Studium przypadku - opisujące konkretny jeden (lub kilka) przypadek inżynierii wstecznej danego oprogramowania.
Więc ostatecznie wyszedł bardzo ciekawy zbiór artykułów, który powinien (a przynajmniej na to liczymy) przypaść do gustu zarówno bardziej początkującym, jak i zaawansowanym inżynierom.
Fragmenty książki powinny się pojawić na stronie PWN w ciągu kilku dni (podlinkuje je tutaj, jak się pojawią). Wspomnę natomiast, że (podobnie jak było z ZP) w kolejnym numerze Programisty będzie jakiś dłuższy fragment do poczytania (Ba, pamiętacie ten mój konkurs na grę w 1234 bajtach? Dwóch uczestników, którzy dostali Honorowe Wzmianki w tym konkursie napisało krótkie artykuły o konstrukcji swoich prac do Programisty; zapowiada się niezły numer).
To chyba tyle. Jeśli macie jakieś pytania co do Praktycznej inżynierii wstecznej (w skrócie PIW; tak, były sugestie, żeby użyć tytułu „Praktyczna Inżynieria Wsteczna: Opracowania”), to piszcie w komentarzach - postaram się odpowiedzieć w miarę możliwości :)
Comments:
Ekstra, long time no see ;)
Nom, od maja to jest trochę czasu ;)
Nie do końca rozumiem Twoje pytanie. Który autor? Ta książka ma 12 autorów.
Też nie rozumiem reszty pytania - pytasz o stworzenie sterownika, czy RE sterownika?
pozdrawiam!
Thx! :)
@yeahlon
Wpadnij ;)
@ВЯК
Hmm, jeśli zostaną jakieś sztuki do spotkania autorskiego, to tak (PWN ma trochę tego mieć, ale nie nieskończony zapas, a wcześniej jest jeszcze konferencja).
@Arek
Zgoda ;) Thx!
@ehmeth
Hmm, zamawiałeś tylko PIW? Dziwne, bo preorder nie przekroczył wielkości druku. Puść mi plz mejla z danymi zamówienia, to pingnę wydawcę i dopytam o co chodzi. Brzmi trochę jak błąd systemu (chyba, że zamawiałeś coś oprócz PIW, czego faktycznie nie mają).
Sprawdzam pocztę i to samo :(
Napiszcie do BOKu PWNu z pytaniem jaki jest faktyczny stan zamówienia. Okazuje się, że PWN miało drobny bug w systemie i trochę ludzi dostało mejle o anulowaniu zamówienia (mimo, iż książek nie brakuje). Natomiast nie mam informacji czy to była tylko wysłana błędna informacja w mejlu, czy faktycznie zamówienie zostało anulowane - o to musicie się w BOKu księgarni PWNowskiej dopytać.
I jak tam, książka dotarła?
@Linx
Puść im mejla do BOKu z feedbackiem plz.
@pszcz
Puściłem mejla do wydawcy ocb z 'defektem' ^_-
Albo zamówię książkę bezpośrednio u Ciebie, ale już z Twoim autografem :P
A co do PWN to to nie jest moja pierwsza styczność z tym wydawnictwem, ale chyba pierwszy raz takie cyrki z nimi mam :) Przez ten błąd systemu mają pewnie mocne zamieszanie i nie nadążają ze wszystkim :)
Mógłbyś mi na mejla wysłać numer zamówienia i jakieś dane identyfikujące?
Potrzebuję wywołać funkcję dll pod Windowsem a nie mam dostępów do nagłówków ani nic takiego. W tej książce znajdę info jak się za to zabrać? Jeśli nie, to czy ktoś mi podrzuci jakieś info? Dzięki!
W zasadzie musisz zrobić dwie rzeczy:
1. Ustalić prototyp funkcji (co zwraca, jakie parametry przyjmuje, ustalić konwencje wywołania).
2. Zlinkować dynamicznie albo statycznie funkcje w swoim programie (zakładam, że mowa o C/C++).
To pierwsze to podstawy - jest kilka stron o tym w pierwszym rozdziale (chociaż nie jest to tutorial od A to Z jak ustalić prototyp funkcji); ew poszukaj po prostu po necie jak to zrobić.
A potem możesz linkować dynamicznie:
typedef int (__stdcall *proto_funkcji)(int param1, int param2);
proto_funkcji funkcja;
HANDLE h = LoadLibrary("jakas.dll");
funkcja = (proto_funkcji)GetProcAddress(h, "jakasprocka");
int ret = funkcja(1, 2);
Albo statycznie, jeśli Twój kompilator na to pozwala (w gcc jest łatwo, w msvc trzeba sobie pliczek .lib jeszcze zrobić).
W gcc to by się sprowadziło do jakiegoś
extern int __stdcall funkcja(int param1, int param2);
i potem kompilacji w stylu: gcc asdf.c jakas.dll
Good luck ;)
Co do kompilatora, to wolałbym użyć gcc na Windows lub innego darmowego. DLLka jest pewnie skompilowana kompilatorem Microsoftu - nie wiem na ile to będzie problem.
Add a comment: