-1) Если игра старая и интересная, кто-то уже точно занимался такой работой. Очень внимательно ищем любые упоминания о модификации игровых ресурсов. Главный источник - фанатские форумы и сайты.
0) Пробуем найти SDK, или исходники, либо исходники SDK, либо описания алгоритмов хранения для движка, который используется. У движков обычно разные поколения, но даже информация о другом поколении бывает полезной, т.к. иногда, от поколения к поколению, не меняют формат хранения ресурсов.
1) Определяем, запакованы-ли ресурсы игры?
Если запакованы:
2.1) Ищем распаковщик. Если есть, распаковываем и преступаем к пункту 3.
2.2) Распаковщика нет. Если игра старая, то сильно хитрых алгоритмов никто не использовал. Пробуем разные простые алгоритмы, типа zip и т.д. применить на распаковку, определить словарь и т.д. Как признак правильного движения - появление осмысленных структур или имен после действия алгоритма. Это уже чистый реверс-инжиниринг алгоритма запаковки. Если все проходит удачно, у нас появляется свой распаковщик. Далее пункт 3.
Если не запакованы:
3.1) Необходимо понять, где какой ресурс, а также какой ресурс в каком формате хранится. Здесь опять-же, могут быть свои форматы, а могут быть какие-то популярные в тот момент, когда игра разрабатывалась.
4) Отдельным пунктом - вычленение из памяти загруженного приложения. Актуально для текстур, текстовых данных.
5) Отдельным пунктом - анализ исполняемого файла приложения и библиотек на способ загрузки ресурсов. Здесь необходимо обладать пониманием низкого уровня работы разных алгоритмов и знание ассемблера. Для пункта 2 очень полезно.
А вообще, если это RenderWare, то, наверное, подойдет что-то типа такого:
libertycity.ru/files/gta-san-andreas/84860-renderw...