devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
3 minut

Książka "Praktyczna inżynieria wsteczna" + konkurs!


13.12.2016

Są na tym świecie rzeczy, które się fizjonomom nie śniły!” – kto kojarzy taki cytat? W programowaniu są z kolei obszary, w które zapuszczają się nieliczni-li jedynie śmiałkowie.

Good news everyone: ci śmiałkowie zebrali się do kupy i napisali książkę. Ksiązkę, którą każdy CRUDowiec powinien dostać pod choinkę.

O jakie obszary chodzi? I co to za książka? Cyk:

clip_image001

Kilkunastu uznanych speców, pod okiem innych uznanych speców, napisało księgę opisującą tajemnice skrywane przez przeróżne technologie. Znajdziemy tam zarówno ogólne koncepcje związane z RE (Reverse Engineering), jak i rozdziały poświęcone .NETowi i Pythonowi. Na uwagę zasługuje bardzo ciekawy rozdział o wstrzykiwaniu kodu w inne procesy. W sumie dostajemy 12 części traktujących o okolicach inżynierii wstecznej właśnie.

Pozycja ta wyszła całkiem niedawno i aktualnie jest w promocji. Lećcie i bierzcie póki ciepłe <link>!

W książce palce maczał Gynvael Coldwind, z którym miałem przyjemność nagrać podcast. Do posłuchania tutaj: DevTalk#33: O programowaniu z Gynvaelem Coldwindem.

Konkurs

I uwaga, uwaga, achtung!

Mam do rozdania trzy (słownie: trzy) egzemplarze tej książki. Co zrobić, aby wygrać? Wykonać jedno z zadań:

  1. opisz działanie dowolnego obfuskatora dla platformy .NET
  2. napisz artykuł opisujący dowolny dekompilator dla .NET, np. dnSpy, IL Spy, Reflector
  3. opisz jedną z metod powodujących błąd dekompilacji za pomocą dnSpy, IL Spy, Reflectora lub innego narzędzia
  4. napisz program, który po uruchomieniu wykona kod niewidoczny podczas dekompilacji

Zadania tekstowe (1-3) mogą być opublikowane w dowolnym, dostępnym publicznie, miejscu. Może być to Twój blog, może być Medium, może być jako gist na GitHubie… Język: polski lub angielski. Jeśli artykuł będzie wysokiej jakości i wyrazisz taką wolę to pomyślimy nad publikacją go tutaj, na devstyle. Rozwiązanie zadania to umieszczenie linku w komentarzu do tego posta.

Rozwiązanie zadania z kodowaniem (4) musi być umieszczone na GitHubie, a link do niego wpisany w komentarzu pod tym postem.

Lista zwycięzców zostanie ogłoszona we środę 21 grudnia. Do roboty! :)

P.S.

Jako devstyle.pl objąłem patronat medialny nad książką. I dobrze.

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Tym samym wyrażasz zgodę na otrzymanie informacji marketingowych z devstyle.pl (doh...). Powered by ConvertKit
Notify of
Paweł Łukasik

Biorąc pod uwagę, że jako jedno z miejsc docelowe jest wskazane “Medium” to rozumiem, że tekst może być po angielsku.

Pozdrawiam,
Paweł

Maciej Kołodziej
Maciej Kołodziej

4) używająć kompilacji expressionów, wykonuje switch, którego nie ma z
https://github.com/Makciek/SwitchExpression

ANDRZEJ BARGAŃSKI
ANDRZEJ BARGAŃSKI

Warto przeczytać jak zabezpieczać programy przed nielegalnym użytkowaniem. Bo niby jest HASP, i inne cuda, a okazuje się że wystarczy parę NOP-ów żeby to obejść. Patrzyłem w spis treści i widzę że nie ma o wstrzykiwaniu się do JVM. Temat zbyt banalny ? (Sam się wstrzykuje do JVM z Weblogiciem)

piatkosia

Hmm, świetny pomysł na arta. I… chyba napiszę bo aż mnie korci. Choć pewnie będzie nie do końca na temat, ale będę chciała pokazać ciekawy myk.

Kuba
Paweł Łukasik

Jak dokładnie rozumieć punkt 4 “napisz program, który po uruchomieniu wykona kod niewidoczny podczas dekompilacji” – czy za niewidoczny można rozumieć kod zaszyfrowany? Czy np. wy-Emit-owany kod w runtime będzie ok? Czy chodzi o powiązanie np. techniki z punktu 3 z kodem?

Pozdrawiam,
Paweł

piatkosia

Hmm, jak napisałam, tak zrobiłam. Obsuwa czasowa wynikała z przegranej walki z IDE i załamaniem nerwowym z tego powodu. Zainspirowałeś mnie do napisania tego: http://piatkosia.k4be.pl/wordpress/2016/12/18/ilspy-szpiegujemy-szpiega/
Możesz być z siebie dumny:)

Paweł Łukasik

Zgłoszenie konkursowe.

Punkt 3:

http://blog.octal.pl/2016/11/emitbyte-one-cool-il-directive-that-can-do-evil.html

Pozdrawiam,
Paweł Łukasik

trackback

[…] aplikacją pierwszej potrzeby, zwłaszcza w kontekście szybszego pisania kodu, ale zainspirowany inicjatywą Maćka postanowiłem opisać dekompilator, którego osobiście używam. Choć nie jest on przeze mnie zbyt […]

Code Faster

Zadanie nr 2: codefaster.pl/dekompilacja-przy-pomocy-dotpeek
Mam nadzieję, że zdążyłem :)

Moja książka

Facebook

Zobacz również