2010-05-05:
recon:lecture:reverse engineering:re:swars
Kilka miesięcy temu wysłaliśmy z Unavowedem zgłoszenie tematu na konferencję RECON, odbywającą się 9-11 lipca tego roku w Montrealu (Kanada). Wczoraj oficjalnie nasz temat został ogłoszony (a więc i oficjalnie przyjęty)! :)
Czytaj dalej...
2010-04-13:
lecture:seconference:igk:gamedev:re
Od zeszłego czwartku do wczorajszego późnego popołudnia miałem maraton konferencyjny - w czwartkowy wieczór warsztaty z reverse engineeringu w ramach SEConference w Krakowie (o których wspominałem kilka postów temu), w piątkowy poranek prelekcja "Reverse Engineering for fun and profit" również w ramach SEConference (również wspomniana wcześniej), a 5 godzin później konferencja Inżynierii Gier Komputerowych w Siedlcach (dla odmiany, jako uczestnik ;>; o IGK napiszę w następnych postach).
Czytaj dalej...
2010-01-25:
reverse engineering:re:assembler:games:gamedev:x86:asm:windows:linux:macosx:c:syndicate wars
Syndicate Wars jest grą z roku 1996, stworzoną przez, nieistniejące już zresztą, studio Bullfrog. Gra została napisana w C (Watcom) pod DOS extender DOS4GW i oczywiście przestała działać (natywnie, pomijam rozwiązania typu emulatory) wraz z pojawieniem się współczesnych systemów operacyjnych typu Windows z serii NT. Kilka lat temu Unavowed, będący wiernym fanem tej produkcji, zaproponował mi stworzenie portu tej gry na współczesne OSy, takie jak GNU/Linux czy Windows. Port miał polegać na dekompilacji pliku wykonywalnego gry, zlokalizowaniu wszystkich funkcji standardowej biblioteki C, zależności względem DOS4GW i funkcji I/O (dźwięk, klawiatura, grafika, myszka, etc), wymienieniu ich na natywne libc oraz libSDL/OpenAL (czasem przy pomocy pewnych wrapperów, czy wręcz konwerterów), oraz ponowną rekompilacje do plików wykonywalnych. Dzisiejszego wieczoru udało nam (bo to Unavowed był wyraźnym liderem tego projektu) się ów projekt ukończyć, oraz opublikować, i to nie tylko na zakładane systemu GNU/Linux oraz Windows, ale i dodatkowo na Mac OS X!
Czytaj dalej...
2009-12-11:
re:asm:x86:easy
Na forum UW-Team.org pojawiło się pytanie o wykorzystanie flagi RF (Resume Flag) do detekcji debuggera. Ponieważ nie słyszałem wcześniej o wykorzystaniu tej flagi do anty-dbg, postanowiłem przyjrzeć się bliżej. Poniżej zamieszczam moją odpowiedź na zadane pytanie.
Czytaj dalej...
2009-12-05:
reversecraft:re:blog:assembler
Przed chwilą opublikowałem nowy odcinek, z cyferką 7, ReverseCraft, traktujący o inline hook'ach oraz DLL injection - czyli jest to cofnięcie się odrobinę do podstawowych umiejętności potrzebnych każdemu RE. Odcinek trwa ponad godzinę, z czego 20 minut to część teoretyczna, a 47 to część praktyczna w której pokazuje jak od zera napisać injector DLL oraz jak runtime zaaplikować inline hook przekierowujący wykonania na naszą funkcję. Miłego oglądania!
Czytaj dalej...
2009-11-29:
reversecraft:re:blog:assembler
Opublikowałem drugi odcinek ReverseCraft: Assembler, opowiadający o budowie pojedynczej instrukcji maszynowej x86, oraz o tym, jak wpływa to na budowę instrukcji w assemblerze (x86, protected mode, 32-bit).
Czytaj dalej...
2009-11-13:
easy:windows:re:assembler
Szybkie info. j00ru opublikował wczoraj na swoim blogu tablicę nazw i numerów syscalli Win32k (aka shadow table, wykorzystywanej przez user32.dll, gdi32.dll i DirectX) - http://j00ru.vexillium.org/win32k_syscalls/ (w zasadzie jest bardzo podobna do tej z Metasploit, oczywiście z tą różnicą, że zawiera syscalle win32k, a nie kernelowe). Jeżeli lubisz grzebać w niskopoziomowych rzeczach, to na pewno chcesz rzucić na to okiem!
Czytaj dalej...
2009-10-28:
reversecraft:re:blog
Opublikowałem szósty odcinek ReverseCraft (serii o reverse engineeringu), w którym pokazuje jak szukać OEP, oraz mówię o sytuacjach w których nie jest to konieczne.
Czytaj dalej...
2009-10-24:
reversecraft:re:blog:assembler
Po niemałych kłopotach technicznych (takich "na własne życzenie" pod tytułem "zmieniłem system na Linuxa i nie wszystko zadziałało jak należy") udało mi się nagrać i opublikować pierwszy odcinek serii ReverseCraft Assembler, traktujący oczywiście o podstawach języka assembler na platformę x86 (32-bit, PM). Odcinek trwa aż 1h 15m, i dedykowany jest dla osób początkujących oraz takich które zacięły się chwilę później, lub czują że nie do końca wiedzą o co w assemblerze chodzi.
Czytaj dalej...
2009-10-20:
reversecraft:re:blog
Czas w końcu wygłosić oficjalne stanowisko, jako że zasypujecie mnie pytaniami w komentarzach, na gg/jabberze i mailowo ;>
Czytaj dalej...
2009-09-10:
reversecraft:recraft:re
Najpierw zła wiadomość: niestety kolejny odcinek ReverseCraftu ukaże się najprawdopodobniej dopiero po konferencji SecDay. Na szczęście jest również i dobra wiadomość: razem z szóstym odcinkiem ReverseCraftu pojawią się dwa odcinki serii o assemblerze x86. Dodatkowo strona www projektu dostanie kilka dodatków - będzie to (w końcu) możliwość uploadowania zadań via WWW (przyspieszy to cały proces oceniania, choćby dlatego że do kompa na którego będzie upload mam dostęp z każdego zakątka globu, a nie tylko z lab), ranking, oraz shoutbox (tak dla ułatwienia komunikacji między nami). Po za tym dla osób które rozwiążą zadania lub zrezygnują z ich rozwiązywania będą udostępniane dodatkowe odcinki w których pokazuje jak zrobić dane zadanie oraz prezentuje najciekawsze rozwiązania nadesłane przez Was.
Czytaj dalej...
2009-08-19:
re:easy:video:reversecraft
Krótki news: przed chwilą wrzuciliśmy z Unknow'em ReverseCraft #5. Tym razem tematem są packery - prezentuje ogólną zasadę działania protektorów oraz pokazuje jak zrobić prosty packer (w C++). ReverseCraft jak zwykle dostępny jest w formie online oraz do ściągnięcia (linki na stronie z odcinkiem).
Czytaj dalej...
2009-08-03:
security:windows:medium:re:cpp
Dwa miesiące temu pisałem o trojanach bankowych, o tym że niektóre zmieniają ustawienia DNS, inne dodają listę domen, używanych przez instytucje finansowe, do pliku c:\windows\system32\drivers\etc\hosts. Oczywiście obie z powyższych czynności kończą się przekierowaniem nieświadomego użytkownika na stronę phishingową (i niestety również często utratą pewnej ilości pieniędzy).
Czytaj dalej...
2009-08-01:
reversecraft:re:easy
Z tygodniowym opóźnieniem na sieć trafia kolejny, czwarty wg stosowanej numeracji, odcinek ReverseCraft. Wszelkie informacje o czym jest odcinek, linki do playera i pliku, oraz dodatkowe materiały znajdują się jak zwykle na stronie projektu, czyli re.coldwind.pl.
Czytaj dalej...
Jak w tytule - w końcu zrobiłem kanał RSS na stronce ReverseCraft.
Czytaj dalej...
2009-07-08:
re:easy:video:reversecraft
Z drobnym (no dobra, prawie tygodniowym, więc nie takim drobnym ;>) opóźnieniem na sieć powędrował trzeci eps ReverseCraft - mojego video-kursu reverse engineeringu. Tym razem udało się wszystko ładnie zsynchronizować, i online na raz trafiła wersja do oglądania via www (http://videoarty.pl/play_reverse03_reverse_pamiec_proces_i_pe.html), oraz wersja do ściągnięcia (http://www.uw-team.org/index.php?id=videoarty&dzial=reverse). Dodatkowe materiały, takie jak slajdy, cała masa linków, jakiś kawałek kodu i lista zadań (w tym jedno z przygotowanym przeze mnie EXEkiem) dostępne są jak zwykle na stronie projektu, czyli http://re.coldwind.pl. Miłego oglądania!
Czytaj dalej...
2009-06-20:
re:reversecraft:easy
Drugi odcinek ReverseCraft trafił na sieć, i jest do ściągnięcia na stronie serwisu UW-Team (jutro lub pojutrze będzie dostępna również wersja do oglądania online). Po za tym stworzyłem pewną drobną stronkę z materiałami do kursu: re.coldwind.pl.
Czytaj dalej...
2009-06-06:
re:security:easy:malware
Tak się zdarzyło ostatnio że wróciłem do analizy trojanów. Powrót został uczczony prawie 24-godzinny maratonem z różnymi zagranicznymi bankerami, i widać że gdy ja zajmowałem się innymi rzeczami, to autorzy trojanów nie spali - wymyślali coraz to nowe metody żeby ich malware był... jeszcze słabiej skonstruowany :p
Czytaj dalej...
2009-05-20:
re:easy:confidence:crackme:c++
W końcu jakiś techniczny post! A post poświęcony będzie crackme ESET'u, które to było do połamania na tegorocznej edycji CONFidence z numerkiem 2009. Crackme (przygotowanym specjalnie na confidence) pozwoliłem sobie udostępnić (@Marcin/Jakub w razie czego dajcie znać, to zdejmę ;>), tak aby osoby nieobecne na confi również mogły się pobawić:
Czytaj dalej...
2009-05-12:
windows:bat:re:winapi:easy:asm:c:c++:tools
Wczoraj j00ru dał mi znać że mój add-on do cmd.exe, dodający jakże to ważną funkcjonalność (tj kolorki), nie funkcjonuje poprawnie na Windows 7 RC - w związku z czym rzuciłem okiem, i tak oto powstała wersja 0.004d!
Czytaj dalej...
2009-04-29:
re:easy:video:reversecraft
Wczoraj wieczorem została upubliczniona 3cia i zarazem ostatnia część pierwszego odcinka mojego kursu, a w zasadzie serii videotutoriali, o reverse engineeringu. Ostatnia część dostępna jest tam gdzie zwykle, czyli na serwisie uw-team.
Czytaj dalej...
2009-04-26:
reversecraft:re:easy
Wczoraj wczesnym rankiem (a tak na prawdę późną nocą) na UW-team.org została umieszczona druga część pierwszego odcinka mojego kursu RE.
Czytaj dalej...
2009-04-22:
re:easy:video:reversecraft
Wczoraj wieczorem na serwisie UW-Team pojawiła się pierwsza część (a tak na prawdę to pierwsza część pierwszej części - pierwszy odcinek ma 3 części po 30-40 minut) mojego kursu poświęconego Reverse Engineeringowi (nazwanemu Reverse Craft). Videoart chwilowo dostępny jest tylko do pobrania, ale pewnie niedługo będzie można go również oglądać online (jak tylko będzie stream to dam linka - pewne kłopoty z wielkością video są). Pierwszy odcinek ma być niejako poglądowy i pokazać 'o co w tym RE chodzi' - kolejne odcinki będą miały charakter bardziej edukacyjny ;>
Czytaj dalej...
2009-03-14:
macosx:objc:easy:re
Nadszedł dzień w którym rzuciłem w końcu okiem na programowanie aplikacji niekonsolowych na Mac'a. Aplikacja na Maca zazwyczaj tworzy się przy użyciu języka Objective C (z którym jeszcze styczności nie miałem) oraz API Cocoa (OSX'owski odpowiednik WinAPI; kiedyś był jeszcze Carbon). Z punktu widzenia programisty składnia Objective C bardzo mi się spodobała, ale przyznaje szczerze, że Objective C z punktu widzenia RE jest jeszcze ciekawsze ;>
Czytaj dalej...
W poprzednim poście pisałem o narzędziu do pomiaru entropii, natomiast kwestię "po co komu pomiar entropii" zostawiłem wtedy na któryś kolejny post. Czas ów postu właśnie nadszedł.
Czytaj dalej...
2009-03-02:
re:entropy:easy:c++
Jest pewien tool, stworzony przeze mnie i j00ru, który już jakiś czas temu miałem wrzucić na sieć, ale jakoś tak kod był niepiękny, i nigdy nie było czasu żeby go uładnić. Aż w końcu w weekend będąc u rodziców wziąłem laptopa i przepisałem kod na czysto.
Czytaj dalej...
2009-02-03:
excphook:re:windows:security:c++
Wczoraj udało mi się posiedzieć chwilkę nad ExcpHook'iem, w związku z czym prezentuje dzisiaj wersję 0.0.5-rc2 (to jest drugi release candidate wersji alpha 0.0.5, tak, wiem, mam dziwne numerowanie wersji).
Czytaj dalej...
2009-02-02:
winapi:windows:c++:easy:re
Sprawiłem sobie parę dni temu książkę "Windows Via C/C++ (Wydanie piąte)" by Jeffrey Richter i Christophe Nasarre, ot tak aby doszlifować moje WinAPI. Pomysł zakupu okazał się bardzo dobry - już na 50 stronie znalazłem pewną przydatną reverserowi ciekawostkę, którą pozwolę sobie zacytować:
Czytaj dalej...
2009-01-20:
win7:windows:winapi:easy:re
Zrobiłem jeszcze parę porównań w exportach między Windowsem Vista SP1, a Windowsem 7 beta.
Czytaj dalej...
2009-01-16:
windows:bat:re:winapi:easy:asm:c:c++
Begin teh Update
Czytaj dalej...
2009-01-11:
win7:windows:winapi:easy:re
W końcu od wczoraj oficjalnie (bo nieoficjalnie już od jakiegoś czasu) można ściągnąć Windows 7 wersję BETA. Ściągnąłem, zainstalowałem (ładnie wygląda), i zacząłem grzebać.
Czytaj dalej...
2008-12-16:
re:malware:windows:security:easy
W moje ręce dostał się pewien szkodnik, którego najciekawszym punktem był entrypoint użyty do uruchomienia szkodnika po reboocie systemu.
Czytaj dalej...
2008-10-20:
re:malware:windows:security:easy:winapi
Jakiś czas temu analizowałem pewien malware, na który nałożony został bardzo ciekawy paker...
Czytaj dalej...
2008-09-30:
re:easy:windows
Wygląda na to że 13 października zaczyna się pierwszy etap Hacker Challenge - amerykańskiego konkursu dla RE. Z tego co widzę w tym roku o połowę obcięli wysokość nagród, widać kryzys faktycznie im zalazł za skórę. Anyway, zachęcam RE do zainteresowania się tym konkursem - wszystkie miejsca są nagradzane.
Czytaj dalej...
2008-09-04:
chrome:easy:windows:security:re
Wczoraj miałem okazję się przyjrzeć 'piaskownicy' zawartej w Google Chrome. Ale po kolei...
Czytaj dalej...