singlepost

Патч для .exe файлов << На главную или назад  

Доброе времья суток, уважаемые программеры…:)
Интересует один вопрос, не знаю, есть ли у Вас с ним взаимосвязь, но все же решыл не копаться в И-нете, а написать сюда, так как надеюсь получить быстрый ответ…
Воопрос состоит вот в чем:
Я хочу изменить ядро Windows, тоесть наш ntoskrnlдля примера (хотя их 4)…
Так вот, в программе Winhexя могу вручную подкоректировать байтики, например дляцветовой палитры, которая отображает картинку во времья загрузки, но как зделать патч?
Дабы не ковырятся постоянно вручную, а создать .exe файлик, который и будет самостоятельно изменять ядро….

9 ответов в теме “Патч для .exe файлов”

  1. 8
    Cyber Max ответил:

    > Да и редактировать можно только файлы, работающие в 3 кольце.
    > Ядро находится в 0.( Либо писать для этого драйвер)

    Вообще то строго говоря все зависит от прав с которыми открыт файл. Еслифайл открыт другой программной (а так оно и есть в большенствено случаев – особенно если речь идет о системных файлах)без права стороней записи в user-mode, то никакими легальными способами записать в такой файл не получится – даже используя драйвер!

  2. 7
    Міша Білава ответил:

    Руслан Шамюнов – дааааааааааа, озадачилась моя задачка…
    Большое всем спасибо, будут варианты, пишите, а я пока буду что нить экспериментировать..

  3. 6
    Руслан Шамюнов ответил:

    Можно изменить файл на диске с помощью обычных функций для работы с файлами. CreateFile, ReadFile, WriteFile, SetFilePointer (WinAPI). Или с помощью аналогичных сишных функций. Можно еще смаппировать файл (CreateFileMapping,MapViewOfFile )Нужно учесть, что винда следит за целостностью системных файлов.
    Можно редактировать исполняемый файл уже в оперативной памяти после его загрузки.Тогда на диске файл останется неизменным. Но тут уже сложнее. Нужно использовать отладочные функции. (WriteProcessMemory)
    Да и редактировать можно только файлы, работающие в 3 кольце. Ядро находится в 0.( Либо писатьдля этого драйвер)

  4. 5
    Міша Білава ответил:

    Руслан Шамюнов:
    Это конечно хорошо, но если мне надо будет другие файлы изменять???
    И еще одно, если на то пошло, мне лично хватает WinHex + PaintShopPro дабы изменить нормально рисунок + изменить размещение прогресс бара, как по вертикали, так и с недавними эксперементами по горизонтали нашли, так что это не проблема для меня, а вот для других, это делема, потому и хочу создать патч для других желающих….

  5. 4
    Руслан Шамюнов ответил:

    Не надо велосипед изобретать.
    Мелкомягкие легально распростряняют The Windows Research Kernel (WRK) среди подписчиков MSDN и преподавателей, студентов. Его можно загуглить и скачать не совсем легально. С помощью него можно скомпилить свою верссию ядра и загружаться с нее.

  6. 3
    Міша Білава ответил:

    Денис "Марсианин" Лисов :
    Адреса байтиков известны….
    Только что ты там писал дальше, я не понял :(

    Cyber Max :
    Та мне не надо для 64х, мне для х86….

  7. 2
    Cyber Max ответил:

    Гы… не благодарным делом занимаешся :) )
    Не забываем про целостность ядра в 64-х платформах, да и контрольная сумма в PE Header уже не будет совпадать с оригиналом!

  8. 1
    Денис Лисов ответил:

    Адреса байтиков известны? Создаете для файла memory mapping в память, меняете нужные байты, закрываете.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.