Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Фикс import и reloac

  • Автор темы Автор темы eselles
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
20 Июн 2022
Сообщения
6
Реакции
2
В жизни никогда не сталкивался с фиксами. И тут бабах нужно фиксить. Обращаюсь к вам гении югейма!
Вытащили длл способом дампа, и он крашит, углубились в код длл и не нашли импортов, а в место реолаков там варнинги.
Что мне делать?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ну стоит только загуглить что такое релоки и не сложно уже будет догадаться как их якобы пофиксить (не совсем называю это фиксом), а фикс импортов можете у вилки спиздить, но я точно незнаю есть он там или нет :)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
По поводу релокаций - аллоцируй память по тому же месту где находился регион и туда же его запиши, и фиксить ниче не надо будет
 
ну стоит только загуглить что такое релоки и не сложно уже будет догадаться как их якобы пофиксить (не совсем называю это фиксом), а фикс импортов можете у вилки спиздить, но я точно незнаю есть он там или нет :)
О каком фиксе импортов от вилки идет речь?)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так, как тут реакцию клоуна ставить чет не понял
покупать надо, да я и дописал что точн не знаю есть оно там или нет, ну поидее должно быть
О каком фиксе импортов от вилки идет речь?)
короче почекал я сурс, фикс импортов там есть, но данный код тебе не совсем подойдет
Код:
Expand Collapse Copy
for ( const auto& CurrentImport : g_aImports )
    {
        HMODULE hModule = LoadLibraryA( std::get< 1 >( CurrentImport ).c_str( ) );
        if ( !hModule )
            continue;

        uint32_t pFunction = ( uint32_t ) GetProcAddress( hModule, std::get< 2 >( CurrentImport ).c_str( ) );
        if ( !pFunction )
            continue;

        *reinterpret_cast< uint32_t* >( std::get< 0 >( CurrentImport ) ) = pFunction;
    }
ты можешь его использовать только в случае если ты спарсишь импорты и у тебя получится что то вроде такого
Код:
Expand Collapse Copy
std::vector< std::tuple< uint32_t, std::string, std::string > > g_aImports =
{
    { 0x228fe000, "GDI32.dll", "SetMapMode" },
    { 0x228fe004, "GDI32.dll", "SetTextAlign" },
    { 0x228fe008, "GDI32.dll", "CreateCompatibleDC" },
    ...
};
обычно я такое юзаю когда сталкиваюсь с сервер маппером
 
Последнее редактирование:
Назад
Сверху Снизу