@Number201: poczytaj sobie mój artykuł na: http://blog.olesio.eu/analiza-max-payne-patch-v1-05-w-celu-stworzenia-trainera - jest tam też dołaczony kod źródłowy trainera do Maxa Payne v1.05. Co do tego w jaki sposób znaleźć niezmienne adresy, to trzeba szukać pointerów na nie. Opisuje to mnóstwo artykułów oraz filmików na YT po angielsku lub ten artykuł (musisz wkleić ten link w google jako wyszukiwanie i wejść pod pierwszy wynik, bo inaczej strona wymaga logowania:
http://coding-gods.org/index.php?/topic/17-tut-cheat-engine-krok-5-pointers
I nie znam konkretnie tej gry, ale jeżeli nie ma ona zaimplementowanych żadnych antycheatów to powinno się udać znaleźć te adresy bazowe i offsety, które do nich należy dodać. Ważne tylko żeby w oknie ze znalezionymi przez debugger opcodami pod "podejrzanymi" rejestrami były adresy odległe od tego, w którym tymczasowo (czyli przy danym uruchomieniu gry) znalezłeś pożądane wartośći ludności, amunicji czy paliwa. Uważam, że do ustalenia pointerów świetnie nada się właśnie Cheat Engine i powinien on wystarczyć. Natomiast jeżeli chcesz napisać nie opasły rozmiarowo trainer to już polecam Delphi 7 plus WinAPI. Mimo, że stare to nie generuje exeków wielkich, co zalatuje lamerstwem takim jak pisanie keygena rozmiarem kilka MB w jakichś "wizual bejzikach" itp. Zawsze możesz posiłkować się source mojego trainera do Maxa Payna.