Skocz do zawartości

Bartosz Wójcik

Administracja
  • Postów

    363
  • Dołączył

  • Days Won

    14

Wszystko napisane przez Bartosz Wójcik

  1. Ja pamiętam tą książkę jak uczyłem się assemblera http://www.amazon.com/Assembly-Language-Step---Step-Duntemann/dp/0471578142/ref=sr_1_4?s=books&ie=UTF8&qid=1370962342&sr=1-4 ale to takie pierwsze kroki, chociaż otworzyła mi oczy na niektóre kwestie.
  2. Od tego chyba wszyscy zaczynają. Ze swojej strony mogę polecić znakomite kursy Gynvaela Coldwinda dla początkujących programistów: http://gynvael.coldwind.pl/?id=238&lang=pl
  3. No ale masz pojecie o czyms takim jak struktura pliku wykonywalnego? Wiec biblioteki DLL i czasami nawet pliki EXE posiadaja magiczna tabele :) - tabele exportow, ktora zawiera informacje o adresach i nazwach funkcji / zmiennych, ktore udostepnia innym aplikacjom. Twoim zadaniem jest pobranie adresu export directory z naglowka pliku wykonywalnego (ktory znajduje sie w strukturze data directory), a nastepnie przeskanowanie zawartosci export directory w poszukiwaniu danej funkcji :) Potrzebujesz do tego opis struktury export directory, procedur przerabiajacych adresy relatywne RVA na bezposrednie i funkcji porownujacej stringi :) Dalbym ci gotowca ale niczego bys sie nie nauczyl ta metoda :)
  4. Parsowanie pliku PE, jej struktury export directory z uwzglednieniem wszystkich ciekawych rzeczy jak funkcje exportowane przez numer, forwardowane funkcje (przez numer i string), ogolnie prosta sprawa, bo export directory nie jest skomplikowany. To odnosnie GetProcAddress. Co do LoadLibrary to juz zalezy skad chcesz pobrac adres tej funkcji i jakiego rodzaju to biblioteka. Jesli to systemowa mozesz wykorzystac liste bibliotek zapisanych bodaj w strukturze PEB (poprawcie mnie jesli sie myle), dzieki czemu uzyskasz dostep do uchwytow zaladowanych bibliotek. Mozesz tez pobrac adres z pliku PE na dysku (tak jak mowilem, zalezy co chcesz zrobic).
  5. ReWolf jako legalny posiadacz, legalnej kopii HexRays, zgłoś to do producenta :P
  6. no to idziemy w zaparte, zamiast w prosty sposob przeanalizowac kod :), ale jak ktos lubi sobie utrudniac zycie to juz jego sprawa
  7. zalacz plik gry tutaj do post'a, wtedy ludzie sobie poogladaja i byc moze ktos ci powie co to jest :)
  8. Jak już ktoś jest bardzo zdesperowany :) http://www.timbarcz.com/blog/2007/12/12/DebuggingNetApplicationsWithWinDBG.aspx
  9. lol przyznać się, który pisał depaka do clama, pewno ty ReWolf i specjalnie buga zostawiłeś, żeby potem jeszcze sprzedać luke do iDefense :)
  10. to musi byc cos bardzo starego, skoro uzywa jecxz (bo optymalizacja na rozmiar to to raczej nie jest), poza tym zewnetrzne referencje do danych nie pojawiaja sie praktycznie w popularnych algosach jak aplib, nrv, ucl, hlz, poszukalem troche i kod wyglada podobnie do 16 bitowej wersji dekompresora LZ http://www.google.com/codesearch?hl=en&q=+rcr+bx,+1+show:hL6hCcTHTAU:XF-hQVUCFfY:a5JpsWPmUlc&sa=N&cd=4&ct=rc&cs_p=http://www.math.utah.edu/pub/misc/zoo-2-10-1.zip&cs_f=v2-10.1/lzd.asm podobne rozstawienie instrukcji, podobne petle, zewnetrzne dane oraz wartosci inicjalizacyjne, poza tym twoj kod wyglada jakby ktos na sile przerabial 16 bitowe zrodla
  11. mimo, że używam Opery, żal mi troche patrzeć na to, jak łatwo i jak wiele dodatków można ściągnąć do Firefox-a, w Operze nawet nie wiedziałbym gdzie zacząć, żeby zainstalować jakiegoś plugina, ba - nawet nie wiem czy Opera ma jakiś system pluginów :), pewno są, ale gdzieś zakopane i nie tak łatwo dostępne i zorganizowane jak w FF
  12. Ja strzelam, że masz projekt w C++, a te liby od MySQL-a są w C napisane i sie kłóci konwencja, spróbuj dodać do tych headerów z MySQL extern "C" #ifdef __cplusplus extern "C" { #endif DWORD __stdcall Procka(DWORD Parametr); #ifdef __cplusplus } // extern "C" #endif głowy nie daje...
  13. on jakieś srebro pił, czego to ludzie nie wymyślą, żeby przebic recepte na CocaCole :)
  14. Koleś hipnotyzuje, a ludziki mu same forse dają :) http://news.bbc.co.uk/2/hi/europe/7309947.stm
  15. Świetny artykuł przedstawiający mity pokazywane w CSI (zapewne wielu z was to ogląda z zapałem) przy okazji odzyskiwania danych ze spalonego dysku twardego, polecam http://mydata.pl/?p=11
  16. musieli wejść tym na ambicje intelowi, tak samo wprowadzając SSE5 :)
  17. Masakra - http://www.youtube.com/watch?v=RMGJB410Ccs :)
  18. tez z tego korzystam, ale to nie jest idealne rozwiązanie (np. ścieżki plików ze spacjami traktuje jako osobno podane parametry), no nic trzeba będzie coś samemu porobić :)
  19. fajna stronka divine, dodałem sobie do bookmarków, może się kiedyś przydać :)
  20. Natrafiłeś kiedyś na jakiś bezsensowny fragment kodu assemblera analizując jakiś program? Może była to dziwna optymalizacja, nielogiczna sekwencja instrukcji, która sprawiła, że poczułeś się jakbyś ogłądał Monty Pythona pod debuggerem? Jeśli tak - zamieść go tutaj i daj się pośmiać się innym :P
  21. Cały framework do reverse engineeringu binarek w formacie ELF https://github.com/thorkill/eresi Linka podrzucił mój kolega Dawid, za co mu dzięki
  22. No więc mam takie pytanie, czy ktoś widział lub ma pomysł na jakieś fajne parsowanie linii komend w assemblerze (od Win9x do Visty), bo jest to jedna z niewielu rzeczy, która zawsze mnie denerwuje, gdy mam się za nią zabierać :wacko: (sprawa odpalania aplikacji z konsoli i 10 trybów przekazywania linii komend pod każdym innym OS-em). Będe wdzięczy za jakieś sugestie (można wrzucić HLL-owe rozwiązania). Z góry dzięki :D
  23. Swoją drogą czy jest jakiś prosty sposób na używanie Olka pod Vista jako debuggera JIT (Just In Time to chyba znaczy), chodzi oczywiście o problemy z UAC, i jak jakaś aplikacja mi się wysypie sama z siebie, to Olek nie ma praw, zeby ja debugować (musze osobno odpalać Olka z prawami admina, załadować aplikację i czekać aż się łaskawie wywali sama). Pewno jest jakieś rozwiązanie (oprócz wyłączania UAC), ale jeszcze na to nie wpadłem...
  24. jak mi się będzie chciało to wrzucimy jeszcze do serwisu wiki :)
×
×
  • Utwórz nowe...