Привязка .dll к .exe

Тема в разделе "WASM.BEGINNERS", создана пользователем bak, 23 ноя 2006.

  1. bak

    bak New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    4
    Добрый день :)

    Такая ситуация: имеется .exe игрушки, ничем не запакованный, имеется system32\d3d9.dll (от ДиректИкса), через который читеры делают инжекты со всякими читами, имеется fuck.dll, на который банально перенастроен .exe игрушки (hex редактированием), который срезает все инжекты. После запаковки .exe и .dll злым пакером/криптором типа Obsidium прикопаться к такой системе очень трудно.

    Единственная беда - вместо fuck.dll читер может положить чистую копию d3d9.dll и продолжит читерить.

    Вопрос - чем, как привязать имеено исходную fuck.dll к .ехе? Может есть редакторы импорта какие-нибудь, или проги приклеивающие md5, crc чеки к .ехе? Уж извините за беспросветно ламерский вопрос.

    Как вариант - как испортить готовый .ехе до такой степени, чтобы он не запускался по воле пользователя (т.е. превратить его в зависимый от другого процесса .dll), но мог быть вызван сторонним процессом (например лаунчером, который будет предварительно проверять md5 у fuck.dll?)
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    bak
    Шифруешь exe допустим c точки входа. Далее из родительского процесса вызываешь CreateProcess c флагом CREATE_SUSPENDED, потом дочерний расшифровываешь, и вызываешь ResumeThread.

    Как я понял fuck.dll, это враппер к d3d9.dll.
    Можно попробовать запаковать и саму d3d9.dll, предварительно поменяв и её имя.
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    делай так, как делают вирусосписатели =)
    Добавь секцию, запиши в неё код который проверяет DLL(по crc32 например) и передаёт управление оригинальной EP. Ну и не забудь EP переписать.
     
  4. bak

    bak New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    4
    Fuck.dll это копия d3d9.dll, зашифрованная славным криптором Obsidium. Непонятный побочный эффект этого шифрования - при попытке сделать inject DLL на процесс игры игрушка валится, т.к. инжектнутый код лезет уже в шифрованную fuck.dll вместо d3d9.dll и обламывает всё... шифрование и процесса игры, и d3d9.dll другими крипторами ни к чему не приводят, читы продолжают работать.

    Поскольку fuck.dll и .ехе игры - творения не мои, вряд ли я что-то записать в них смогу... они же уже откомпиленные...

    P.S.
    Чем еще можно бороться с inject DLL? Упомянутая гадость срабатывает независимо от того чем запакован и закриптован .ехе, пробовал все - вплоть до защиты области памяти и т.п. Очень слабо себе представляю, как после этого удаются инжекты и почему инжектнутый код продолжает успешно работать с криптованным процессом...
     
  5. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    что за игра то ?
     
  6. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    bak
    Что тебе надо? Лично я ничего не понял? тебе надо подменить уже запакованную длл, или сделать так, чтобы её не подменяли?
     
  7. bak

    bak New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    4
    Пардон... Да Battlefield 2. Сделать так, чтобы запакованную DLL не подменяли.
     
  8. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    1.запакуй длл и ехе и длл в 1 ехешник, и пусть длл-ка в памать дропается
    2.или лучьше последуй совету n0name
     
  9. bak

    bak New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    4
    Пардон, а как в среде Visual C++ оформить дроп длл в память так, чтобы .ехе принимал дропнутое за родно? .ехе лезет по известному ему пути на жесткий диск.