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

Начинающий
Статус
Оффлайн
Регистрация
20 Июн 2022
Сообщения
6
Реакции[?]
2
Поинты[?]
0
В жизни никогда не сталкивался с фиксами. И тут бабах нужно фиксить. Обращаюсь к вам гении югейма!
Вытащили длл способом дампа, и он крашит, углубились в код длл и не нашли импортов, а в место реолаков там варнинги.
Что мне делать?
 
Забаненный
Статус
Оффлайн
Регистрация
28 Апр 2022
Сообщения
110
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ну стоит только загуглить что такое релоки и не сложно уже будет догадаться как их якобы пофиксить (не совсем называю это фиксом), а фикс импортов можете у вилки спиздить, но я точно незнаю есть он там или нет :)
 
Забаненный
Статус
Оффлайн
Регистрация
20 Май 2022
Сообщения
91
Реакции[?]
51
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
По поводу релокаций - аллоцируй память по тому же месту где находился регион и туда же его запиши, и фиксить ниче не надо будет
 
Начинающий
Статус
Оффлайн
Регистрация
20 Июн 2022
Сообщения
6
Реакции[?]
2
Поинты[?]
0
ну стоит только загуглить что такое релоки и не сложно уже будет догадаться как их якобы пофиксить (не совсем называю это фиксом), а фикс импортов можете у вилки спиздить, но я точно незнаю есть он там или нет :)
О каком фиксе импортов от вилки идет речь?)
 
Забаненный
Статус
Оффлайн
Регистрация
28 Апр 2022
Сообщения
110
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так, как тут реакцию клоуна ставить чет не понял
покупать надо, да я и дописал что точн не знаю есть оно там или нет, ну поидее должно быть
О каком фиксе импортов от вилки идет речь?)
короче почекал я сурс, фикс импортов там есть, но данный код тебе не совсем подойдет
Код:
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;
    }
ты можешь его использовать только в случае если ты спарсишь импорты и у тебя получится что то вроде такого
Код:
std::vector< std::tuple< uint32_t, std::string, std::string > > g_aImports =
{
    { 0x228fe000, "GDI32.dll", "SetMapMode" },
    { 0x228fe004, "GDI32.dll", "SetTextAlign" },
    { 0x228fe008, "GDI32.dll", "CreateCompatibleDC" },
    ...
};
обычно я такое юзаю когда сталкиваюсь с сервер маппером
 
Последнее редактирование:
Сверху Снизу