Skocz do zawartości

Bartosz Wójcik

Administracja
  • Postów

    364
  • Dołączył

  • Days Won

    14

Posty napisane przez Bartosz Wójcik

  1. 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 :)

  2. 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).

  3. 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

  4. 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

  5. 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...
  6. 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

  7. 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...

×
×
  • Utwórz nowe...