eXeL@B —› Вопросы новичков —› Как узнать название компонентов в проге Microsoft Visual C++ 8.0 [Debug] |
Посл.ответ | Сообщение |
|
Создано: 08 января 2018 13:39 · Поправил: mazaxaker · Личное сообщение · #1 Парни, подскажите, чем можно посмотреть gui интерфейс проги, написанной на Microsoft Visual C++ 8.0 [Debug] (Peid) ? В проге рисуются графические элементы, мне интересно какой компонент windows forms типа использовали. Чем подобное можно посмотреть. Хочу как в делфи прогах через idr можно узнать имена компонентов на форме. Вот так хочется https://ibb.co/nR4h6m Вот файлик http://rgho.st/89Z7ZZZ2t может кто подсказать по центру белое поле, которое потом заполняется графиком, что там за компонент стоит. |
|
Создано: 08 января 2018 13:57 · Поправил: dosprog · Личное сообщение · #2 |
|
Создано: 08 января 2018 14:55 · Поправил: mazaxaker · Личное сообщение · #3 dosprog пишет: Failed to load http://rgho.st/7KZMQ7gls вот с либами, эта запустится. Вот так в этой проге выглядит графика после запуска http://ibb.co/jncoU6 Эта прям на форме рисуют я так понял ? Там в коде глядел, эта прога сама особо ничего не делает, тока вызывает методы из rts_communication.dll http://ibb.co/iTufbm Вот после 0x447937 вызова call eax, который как раз идет в эту дллку, происходит отрисовка графики, хотя я прогу на бряке держу, после этого вызова. Я правильно понимаю, что все рисует либа сама, мне тока ее методы вызывать ? |
|
Создано: 08 января 2018 15:11 · Личное сообщение · #4 |
|
Создано: 08 января 2018 15:28 · Личное сообщение · #5 dosprog пишет: "MSTS not installed" Ну да наверно без игры то не будет запускаться. dosprog пишет: Так о каких "формах" речь вообще, если их там нету? Ну а на скрине, что тут тогда http://ibb.co/jncoU6 там в ней менюшка, а все остальное под меню заливается графической частью. dosprog пишет: Библиотека отрисовывает? Я про то, что если я просто в своем проекте вызову все также методы rts_comm либы, которые вызывает эта прога exe, будет ли также отрисовывать. У меня идея доделать эту прогу, так как сама прога вроде тока из либы вызывает функции, я думаю так просто в своем проекте повторить, используя эту либу. |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 08 января 2018 15:35 · Личное сообщение · #6 dosprog пишет: Что-то специфическое. "MSTS not installed". Code:
Очевидно, что MSTS это Microsoft Train Simulator. Если запатчить вытаскивание путей из реестра - можно выйти в главное меню даже. mazaxaker пишет: написанной на Microsoft Visual C++ 8.0 [Debug] (Peid) Code:
Borland C++ mazaxaker пишет: Я правильно понимаю, что все рисует либа сама, мне тока ее методы вызывать ? Рисует вероятно rts1.exe - там импорт из DDRAW/OpenGL присуствует. |
|
Создано: 08 января 2018 15:44 · Личное сообщение · #7 ELF_7719116 пишет: Если запатчить вытаскивание путей из реестра - можно выйти в главное меню даже. Ага, она через реестр палит, есть ли msts, если нужно могу свою ветку реестра игры сбросить, но я так понял ты уже там поправил и так. rts1.exe на борланде с++, а эта RTS_AE_Test.exe на с++ 8.0 вроде Вот такая у нее OEP это вроде с++ 8.0 Code:
ELF_7719116 пишет: Рисует вероятно rts1.exe Я там видел, что он вызывается уже из кода либы, а RTS_AE_Test подгружает либу, вызывает в ней метод, а уже внутри метода либы rts1.exe вызывается, поэтому тут главное просто либу прикрутить к своему проекту, а она уж rts1.exe там вызовит сама. |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 08 января 2018 18:20 · Личное сообщение · #8 mazaxaker пишет: RTS_AE_Test.exe на с++ 8.0 вроде эм! эта, да! Они через pipe обмениваются (/startIPC) mazaxaker пишет: RTS_AE_Test подгружает либу, вызывает в ней метод, а уже внутри метода либы rts1.exe вызывается, поэтому тут главное просто либу прикрутить к своему проекту, а она уж rts1.exe там вызовит сама. Ну то, что rts1.exe там рисует сама - сомнений нет. Очевидно, что через pipe какой-то контекст dc/хендл окна передаётся, где требуется рисовать. Вызови от себя и посмотри что будет (обрати внимание, что там два аргумента и __cdecl): Code:
| Сообщение посчитали полезным: mazaxaker |
|
Создано: 21 января 2018 02:32 · Личное сообщение · #9 ELF_7719116, да действительно, разбираюсь с отрисовкой. Вот такой вопрос, отладчик как-то криво определил название функции загрузки текстур opengl. Я думал, что это auxRGBImageLoad или auxDIBImageLoad, других просто в glaux.h нету подобных. Но их реализация не совпадает с этой, можете подсказать как это qpbruit2rucouipcp9ACEHEADERpuct7 правильно распознать. Нужна функция из opengl по загрузке ACE текстур. Code:
|
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 21 января 2018 15:03 · Личное сообщение · #10 mazaxaker пишет: 00459016 |. E8 C5E0FFFF CALL rts1.@LoadTexture$qpbruit2rucouipcp9ACEHEADERpuct7 IDA пишет корректно: LoadTexture(wchar_t *,uint &,uint &,uchar &,bool,uint,char *,ACEHEADER *,uchar *,char *) Я так понял это самопал авторов программы. Собственно мы сейчас внутри функи: Code:
, которая первым аргументом принимает ссылку на картинко: Code:
|
|
Создано: 21 января 2018 15:17 · Личное сообщение · #11 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 21 января 2018 15:25 · Личное сообщение · #12 mazaxaker пишет: решил просто в bmp создать и грузить через opengl метод. так текстуры дозволено и вручную грузить, судя по докам: http://www.opengl-tutorial.org/ru/beginners-tutorials/tutorial-5-a-textured-cube/ что собственно и делают авторы проги, получая указатель LPCVOID lpMem на регион с текстурой |
|
Создано: 21 января 2018 15:31 · Личное сообщение · #13 > интересно какой компонент windows forms типа использовали. Забавно что для примитивнейшей отрисовки, которая решается элементарным и штатным образом те, кто юзает высокоуровневые конструкции, всякие контролы и прочее формошлёпство стали столь зависимы от этого, что задачи сводятся к поиску нужной фичи в компилере или подходящей либы. Даже если задача решается в десяток апи вызовов ----- vx |
|
Создано: 21 января 2018 15:38 · Личное сообщение · #14 |
|
Создано: 21 января 2018 15:48 · Личное сообщение · #15 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 21 января 2018 16:05 · Личное сообщение · #16 mazaxaker пишет: Мне хочется понять из каких файлов игры там берутся координаты для рисования линий, которые через glVertex2f потом отрисовываются, Там, во-первых, строки есть, когда программа грузит всякие объекты и субъекты: Code:
Наверное-ж нужно раскручивать нить от "Loading roads". Какие файло читаются в этом месте. Во-вторых, определи какой именно вызов glVertex2f (там ещё есть glVertex2d) рисует. Ноликами аргументы забей, как вариант. |
eXeL@B —› Вопросы новичков —› Как узнать название компонентов в проге Microsoft Visual C++ 8.0 [Debug] |