Skocz do zawartości

[Poradnik] Reverse engineering pluginu amxx


Boziak

Rekomendowane odpowiedzi

Wstęp:
 
Nie lubię się witać w działach "Przywitaj się" więc zacznę od tego co wychodzi mi najlepiej...
Poradnik jest mojego autorstwa chociaż już trochę czasu ma. Dekompilacja pluginów jest bardziej złożonym przedsięwzięciem, który wymaga znajomości assemblera na dość lub bardzo wysokim poziomie.
Zaznaczam iż jest to zarys wstępnych działań przy revers'ie .amxx lecz i z tego można dużo wywnioskować na przyszłość.
 
 
Poradnik / Prezentacja:
 
Jako iż mam okazję działać na zamkniętym pluginie od chowanego przydało by się dowiedzieć czy plugin nie działa przypadkiem na naszą niekorzyść...
 
 
Zaczynajmy :)
 
Co będziemy potrzebować...
Windowsa, w moim przypadku 8.1
Amxxdump
 
 
Samej obsługi programu amxxdump nie będę tutaj wpajać gdyż nie mam tyle czasu :) "amxxdump -?"  odpowie Wam na wszystkie pytania...
 
 
Wrzucamy plugin który nas interesuje do folderu z amxxdump po czym otwieramy konsolę w tej lokalizacji...
 
Sprawdzamy na początku jakie funkcje publiczne rejestruje nasz cel, korzystając z atrybutu X przykład:


 





amxxdump -x nazwapluga.amxx

wyświetli nam on wszystkie funkcje / stocki zarejestrowane w pluginie
 
52d0bac7527a07f91c3180a2fce8788f.png
 
Ok mamy adresy oraz nazwy zarejestrowanych funkcji która powinna nas zainteresować jako pierwsza? Oczywiście sam start pluginu czyli plugin_init() więc sprawdźmy co się tam kryje...
 
Użyjmy do tego komendy

amxxdump -l -j -e -E -D plugin_init SIZ.amxx

   
7a7e1c5a769aa881f5ed8c49ecbb685b.png
 
 
UPS chyba nie wszystko się zmieściło w tej konsoli no nic zrzućmy to do pliku....  

amxxdump -l -j -e -E -D plugin_init SIZ.amxx > siz.txt

W folderze z amxxdump pojawi się na plik siz.txt a w nim to co nas interesuje :)
 
0ee64e3f8660c327f70d5f30a6fee91d.png
 
 
 
No to co zacznijmy używać danych którymi nas ułaskawiono :)
 
 
b6b29edf4f53619c03bb8ba8268ee2fe.png
 
 
Zakończenie:
Przywrócenie pluginu do czystego kodu sma jest procesem czasochłonnym, lecz też należy pamiętać że nie każdy plugin będzie podatny na ten sposób dekompilacji. Przykładowo .amxx kompilowane z atrybutem -d0 nie powiedzą nam nic o sobie, to nie oznacza iż nie da się ich rozebrać

Edytowane przez Boziak
  • Like 3
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony zgadzasz się na Polityka prywatności