Как колхозник может обмануть в проверке ОС ?

Тема в разделе "WASM.BEGINNERS", создана пользователем Otebebe, 12 июл 2007.

  1. Otebebe

    Otebebe New Member

    Публикаций:
    0
    Регистрация:
    3 апр 2006
    Сообщения:
    91
    Суть такая.
    Есть прг.под Win95.Работает с портами на прямую.
    Есть ХP.В которой при запуске прг.пишет "Cорри женщины и др.Только Win95".
    Насколько можно почитать в "прессе",существуют "прокладки" обеспечивающие работу
    с портами в ХP(типа UserPort,NTLoader ?...)
    Т.о задача сводится к подмене ответа некоей func API проверяющей валидность...
    Чтобы сделали искушенные и как ?.ОllyDbg cкачал :)
     
  2. Adrax

    Adrax Алексей

    Публикаций:
    0
    Регистрация:
    14 окт 2006
    Сообщения:
    135
    Адрес:
    г. Курск
    Автор темы явно юморист! Прокладки, женщины... Что скажут психиатры?:)
    По поводу прямого доступа к портам в NT - копай в сторону драйвера giveio.sys, прилагающегося к одной из прог по управлению оборотами кулера, да и просто валяющегося в Сети
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    зайди на кряклаб, почитай статьи для новичков, ну или переводы туторов на васме.
     
  4. Otebebe

    Otebebe New Member

    Публикаций:
    0
    Регистрация:
    3 апр 2006
    Сообщения:
    91
    Cпасибо откликнувшимся.
    Придется так и сделать.
     
  5. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Otebebe

    Зачем подменять функцию. Дезассемблируй исходнуб программу и пропатчи ее где происходит эта проверка. Только вот здается мне что не совсем по уровню WASM.BEGINNERS эта задача по зубам...
     
  6. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    Я не пойму кто в теме?
    Какой подменять? Просто после вызова GetVersion/GetVersionEx прост колпашиш всякие проверки после вызова, ну там je/jne заменяешь на безусловные. Другое дело убедись что ексешко не пакованое. А то хачить проблематично бывает, всякая умнота там, похачит.. А доступ к портам, лутше сделать левую зависимость от DLL в entrypoinnt, которой CreateFile("giveio" ... вот..
     
  7. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
  8. Otebebe

    Otebebe New Member

    Публикаций:
    0
    Регистрация:
    3 апр 2006
    Сообщения:
    91
    PROFiиMental_Mirror
    Уточняюсь.Мне не нужно _произвольным_ способом работать с портами,а с помощью
    указанной прг.онли(ибо "привычка вторая натура").
    В силу проверки при старте самоё себя (на хост запуска) этой прг.ни дайио.cис ни юзерпорт тут не помогут,увы.
    Мне хотелось узнать какая фунция может осуществлять такую проверку (возврат в АPI вроде бы
    по договоренности через EAX ?) и зафиксировать нужный мне возврат (пропатчить).А потом,
    естественно, работать через любую "прокладку" (пусть giveio.sys)
    Возможно,но я где-то слышал "не боги-горшки обжигают". ;)
     
  9. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Otebebe
    Есть ХP.В которой при запуске прг.пишет "Cорри женщины и др.Только Win95".
    В свойствах приложения/ярлыка на закладке "Совместимость" версию win'ды пробовал менять?
     
  10. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Otebebe


    Чтобы сделали искушенные и как ?.ОllyDbg cкачал :)

    1) Изучить ассемблер в общих чертах (искать masm, tasm, или fasm). Обязательно написать свою Hello Word хотя бы для DOS
    2) Прочитать как передавать и как получит конечный результат функции на СИ (а в Windows этих функций большинство). Потом переписать Hello Word для Windows
    3) После того попробовать дезассемблировать и отлаживать свою программу под Олькой, а лишь затем браться за программы написанные кем-то.

    Или проще - заплатить деньги человеку, который в этом смыслит.
     
  11. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    VerifyVersionInfo
     
  12. Otebebe

    Otebebe New Member

    Публикаций:
    0
    Регистрация:
    3 апр 2006
    Сообщения:
    91
    q_q
    Нет (точнее не помню.Может быть и пробовал). :dntknw: Попробую спасибо.

    Биг сэнкс.

    PROFi
    Давно уже.(http://www.wasm.ru/forum/viewtopic.php?id=20606&p=2
    )(я плохо,но говорю под ДОС на асм :) и пишу для себя )
    Код (Text):
    1. 2) Прочитать как передавать и как получит конечный результат функции на СИ (а в Windows этих функций большинство). Потом переписать Hello Word для Windows
    Все.Купил книгу Пирогова Спасибо.
    Cогласен.Но каждый хочет-всего и сразу. ;)
    Вы программисты...хе-хе...себе цены не сложите. ;) (из опыта личного общения.)
    Я сделаю (or не сделаю) все _сам_.
     
  13. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    Otebebe если прога неахти какая большая, приатачь/залей куданить. Всегда интересно ковырнуть. Чисто ради спортивного интереса и азарта :)

    А так помниццо гамесу Tomb Rider 3, на венде2000 стартанул. Ексешко, сцуко, пыталось почитать CR4.
     
  14. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Otebebe

    Кстати - основной момент с какими портами работает программа. У тебя будут большие проблемы с синхронизацией если устройства с которыми работает прога одновременно будут использовться и Windows, даже если у проги отодрать проверку и разрешить ей работать напрямую с железом, поскольку вся архитектура Windows NT не расчитана на такую работу (необходимо делить приложение на 2 файла и один из них должен быть драйвер ядра). А если у тебя двухпроцессорная машина, то вообще проблем необерешся. Единственное как исключение - это работа с com и lpt, но и тут не все гладко..