Nowa wersja Xtenda, oznaczona numerkiem 2 ! >:D
Wprawdzie teraz bibliotekę pisałem głównie z myślą o manipulowaniu innymi programami, jednak w bibliotece można nadal znaleźć parę innych przydatnych funkcji. Dla uzyskania większej wydajności zmieniłem sposób jakim manipulowało się procesami w poprzednich wersjach – teraz trzeba je otwierać (wtedy przy wywołaniu jakiejkolwiek funkcji process_* podany proces był otwierany i zamykany w bibliotece [dla prostszej obsługi]). Dzięki wykorzystaniu GMAPI listowanie procesów, kluczy z rejestru itd. również wygląda inaczej niż wtedy – teraz mogłem użyć znacznie wydajniejszej metody wyliczania – do podanej ds_listy dodawane są odpowiednie wartości, tak więc nie trzeba już pisać pętli z funkcjami *find_first i *find_next ;D Dodatkowo, w pliku projektu (który znajduje się w archiwum razem z biblioteką) zdefiniowanych jest wiele stałych z WinAPI przydatnych przy np. wysyłaniu komunikatów czy zmiany stylu okna. A, i nie trzeba już wywoływać funkcji “xtend_set_debug_privilege”, uprawnienia są dodawane przy inicjalizacji.
Jako że Delphi ssie, Xtenda również przepisałem do C++, dzięki czemu DLL nieco mniej waży ;p
Opisy funkcji znajdziecie w skryptach (niestety, tym razem w j. angielskim).
>> Xtend.dll
Btw, sry, że dawno nic nie pisałem na blogu, ale byłem trochę “zajęty” wakacjami i pisaniem od zera tej biblioteki ;p Teraz zacząłem bawić się pewną bardzo ciekawą biblioteką dla C++, zwaną Qt. W najbliższym czasie pewnie opublikuje tutaj GMAPI razem z dokumentacją, albo zajmę się aktualizacją Game Protectora… jeszcze nie wiem czym najpierw się zająć, zobaczy się ;D
A, myślimy z Koflem nad pewnym wspólnym projektem, nad którym prace prawdopodobnie w niedługim czasie rozpoczniemy. Więcej nie mówię, bo póki co to tylko plany ;p
Kolejne zadanie z mojego TODO wykonane ;P Zdecydowałem się napisać od zera ten program w C++, jako że poprzednie wersje były napisane w Delphi – a tego nie chcę się już tykać :) Dalej już projektu nie będę rozwijać, a kod komuś tam zawsze może się przydać, toteż do programu dołączam również source code (publikowany na GPL v3). Ficzery w nowej wersji:
- Możliwość wyciągania zasobów z projektów GM5.3a (.gmd)
- Możliwość wyciągania zasobów z plików GM7.0 (.gmk)
- Nowy interface
Download na podstronie “Projekty >> GM Extractor”.

I o to przygotowałem następną aktualizację programu MemExtractor, służącego do wyciągania plików z pamięci :)
Myślę jeszcze o kolejnej aktualizacji, bo mam jeszcze trochę pomysłów i planów co do tego programu, no ale… na razie wprowadziłem takie zmiany:
Zmiany:
- Dodałem listę wyświetlającą moduły załadowane przez wybrany proces – można odhaczyć biblioteki których nie chce się skanować
- Dodałem możliwość wydobywania stringów / tekstu z pamięci wybranego procesu
- Ikonki w liście procesów i modułów ^^
i wprowadziłem drobne poprawki…
Klikając PPM na listę modułów można wybrać z menu opcje zaznaczenia/odznaczenia wszystkich modułów. Klikając PPM na listę typów plików można ustawić minimalną długość extractowanych stringów – tzn, że takie ciągi znaków muszą posiadać co najmniej X znaków aby zostały dodane do listy stringów.
Download znajduje się na podstronie projektu
Skoro już piszę, to wspomnę też o tym, że niedlugo ukaże się odświeżona wersja Game Protectora, którą zdecydowałem się napisać od zera w C++
W prawdzie zaktualizowane wersje można znaleźć w internecie już od jakiegoś czasu… ale cóż, ostatnio nie mam czasu na pisanie newsów na blogu ;p Co więcej, nadal nie będę mógł pisać, bo przez jakiś czas nie będę miał dostępu do internetu.
K, w GMThreads pozbyłem się wycieków pamięci (i przy okazji przepisałem główny kod tworzenia wątków od nowa) a do Xtend.dll dodałem nową funkcję – xtend_set_debug_privilege, dzięki której Xtend ma prawa dostępu do każdego procesu (systemowych włącznie), więc można sobie odczytywać/zapisywać ;D
Najnowsze wersje projektów znajdziecie na ich podstronach ( zakładka “Projekty” >> … )
Bye.


