Как правильно писать патчи ?

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

  1. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    Подскажите как правильно написать патчи , я уже много времени потратил на написание патчя
    а он так и не работает !

    Я уже все данные нашёл, все работает так - если сохранил файл.

    Подскажите пожалуйста, я не могу заснуть, уже делал патч : на с,delphi ни чего не рабатает !

    Просьба кто знает помочь !
     
  2. ntcdm

    ntcdm New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2007
    Сообщения:
    247
    Прилепи код, который написал, мы поправим.
     
  3. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    Я много писал кода, много удалял !

    Один из фрагментов на Delphi.

    offset := $00491B20;
    jmp_opcode := $58;

    AssignFile(f,'filename.exe');
    Reset(f,1);
    seek(f,offset);
    BlockWrite(f,jmp_opcode,1);
    closeFile(f);
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    offset - это VA, То есть RVA + ImageBase. RVA переводи в PA и записывай уже по этому адресу.
    Iczelion уроки по PE.
     
  5. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    n0name


    Извини, я тебя не понял.

    Один тип писал так

    const A: Array[1..1] of Record
    a : LongInt;
    b : Byte;
    end = ((A:$004A9879;B:$90)); // наши переходы $004A9878 адрес перехода и $90 команда замены адреса




    Seek(F,A.A);
    //Ch:=Char(A.B);
    Blockwrite(F,Ch,1);

    И ни описывал он RVA и VA.
     
  6. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    У меня к вам не большая просьба покажите исходный код
    работающего патча на любом языке, пожалуйста.
     
  7. void_

    void_ New Member

    Публикаций:
    0
    Регистрация:
    15 май 2007
    Сообщения:
    13
    хттп://void.webhost.ru/filez/psm31.zip
    Генерит исходники патча и лоадера на делфях (WinAPI)
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Твой оффсет это смещение в памяти уже загруженного по ImageBase приложения. Виртуальное смещение не всегда соответствует физическому в файле. Если уж и записывать offset, то преобрази его в физический. в PETools есть FLC калькулятор.
     
  9. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    Спасибо
     
  10. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    void_

    не могли бы вы дать еще таких сайтов ?
     
  11. void_

    void_ New Member

    Публикаций:
    0
    Регистрация:
    15 май 2007
    Сообщения:
    13
    CRONUZ
    Юзой гугл. А вопеще там на сайте у меня есть пара темплейтов, так что бери и переделывай, ничего сложного нет. Скоро новая версия Patch Source Maker выйдет, будет возможность создавать исходники не только делфовых прог, но и асмовских.
     
  12. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    CRONUZ
    Слушай, есть куча прог для создания патчей. Зайди на http://www.wasm.ru/toollist.php?list=5. Если хочеться самому что-то написать, то следуй советам n0name, изучай PE-формат по докам на сайте. Но тебе и так хорошо объяснили.
     
  13. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    Спасибо всем за все, только все равно не получается.

    Твой генератор исходных кодов патчей у меня не работает.

    Мне наверное легче будет взламывать программу и сохранять результат.
     
  14. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Я не понимаю, а в чем проблема??? Ты не умеешь открывать файл? Ты не умеешь читать его в память, а потом обратно записывать??? Тебе уже даже подсказали, как перевести VA в Offset. Тему пора или закрывать, или переносить в юмор.
     
  15. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    MSoft

    Да я вижу ты сам очень юморной !

    И тебя не радуют чужие проблемы, ты наверное просто любишь над кем ни будь постебаться. И самое главное в жизни что - что ты обладая знаниями можешь ясно и понятно растолковать проблему другим ? или это не так ?

    Что же такое форум в твоем понимании, может я просто не туда набрел или трудность жизни заставляет людей идти на крайние поступки !

    MSoft - по моему не стоит упрекать человека, который только начал постигать все таинтсва вашего дела, ведь все люди братья !
     
  16. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    Спасибо всем огромное :)

    Наконец то получилось. У меня патч был не правильно
    написан - по этому не получалось.
    А сейчас все успешно работает.
     
  17. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    CRONUZ
    Я не юморной, но тебе в 4-м и главное в 8-м посте четко сказали, что виртуальный адрес и смещение в файле - это разные вещи. Сказали, чем можно вычислить смещение. Как еще можно отреагировать на подобные темы? Особенно удивляют вопросы типа твоего в сообщении номер 13 - "ничего не получается, помогите". Что не получается? Где не получается? Что ты изменил и как определил, что не получается? И как тебе должны помочь, если ты ничего подробно не расписываешь?
     
  18. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    Да, уже точно пора закрывать. CLOSED!
     
  19. CRONUZ

    CRONUZ New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2007
    Сообщения:
    101
    все надо удалять !
     
  20. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Был молод - исправлюсь!