Jump to content

[Poradnik] Reverse engineering pluginu amxx


Boziak

Recommended Posts

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ć

Edited by Boziak
  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site you agree to Privacy Policy