Самомодификация кода

Discussion in 'WASM.BEGINNERS' started by plasmoid, Jun 14, 2007.

  1. plasmoid

    plasmoid New Member

    Blog Posts:
    0
    Joined:
    Jun 14, 2007
    Messages:
    2
    Возможно ли создание в асме (или другом языке программирования) самомодифицирующегося кода? Конкретно интересует следующая возможность. Имеется программа работающая без инсталятора При запуске программа читает имя компьютера и "внедряет" его в себя. При следующем запуске программа вновь читает имя компьютера и если оно не совпадает с предыдущим результатом, то программа завершает свою работу.

    P.S. смутно подозреваю что можно, но не подозреваю как.
     
  2. sxd

    sxd Виталий

    Blog Posts:
    0
    Joined:
    Jan 5, 2007
    Messages:
    56
    Location:
    Москва
    Как я понял ты хочешь модифицировать сам Exe-файл программы... а не модификацию в памяти...
     
  3. sxd

    sxd Виталий

    Blog Posts:
    0
    Joined:
    Jan 5, 2007
    Messages:
    56
    Location:
    Москва
    если это так то конечно можно...
     
  4. plasmoid

    plasmoid New Member

    Blog Posts:
    0
    Joined:
    Jun 14, 2007
    Messages:
    2
    Именно сам exe-файл. А если возможно, то как это реализовать?
     
  5. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    ищи на форуме
     
  6. Twister

    Twister New Member

    Blog Posts:
    0
    Joined:
    Oct 12, 2005
    Messages:
    720
    Location:
    Алматы
    Чтоб поиск был легче:

    Простейший вариант - запускается программа, внедряется код в АП любого доступного процесса и ждет завершения основной проги, как дождался - вносит изменения в файл.
     
  7. Djinn

    Djinn New Member

    Blog Posts:
    0
    Joined:
    Mar 26, 2007
    Messages:
    22
    о_О интересно, а мона пример?
     
  8. GanDJuStas

    GanDJuStas New Member

    Blog Posts:
    0
    Joined:
    Mar 11, 2003
    Messages:
    21
    Location:
    Russia
    И умирает вместе с ней
     
  9. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Twister
    Мне конечно трудно оценивать, че тут умные дяди делают, но ИМХО внедрение в чужой процесс - не самый простой способ. ГОРАЗДО легче применить MoveFile к своему ехе-шнику в какое-нибудь укромное место типа C:\Windows\System32 да еще и под левым именем. А потом уже сохранять на старое место модифицированный экзешник.
     
  10. Nouzui

    Nouzui New Member

    Blog Posts:
    0
    Joined:
    Nov 17, 2006
    Messages:
    856
    запущенный экзешник пока что можно переносить только в пределах одного диска, так что если запустить ее не с c:, ситуация несколько усложняется... как, собственно, и при запуске с c:, если темп находится на другом диске
     
  11. sxd

    sxd Виталий

    Blog Posts:
    0
    Joined:
    Jan 5, 2007
    Messages:
    56
    Location:
    Москва
    Даже некоторые вирусы (черви) записывают в конец, например, найденные адреса электронной почты...
    Если не ошибаюсь I-Worm.Happy этим занимался...
     
  12. sxd

    sxd Виталий

    Blog Posts:
    0
    Joined:
    Jan 5, 2007
    Messages:
    56
    Location:
    Москва
    Может патчинг хитрый попробовать...
     
  13. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    а зачем куда-то в хитрое место кидать, в той же директории, тем более что не думаю что опеерации будут выполнятся больше секунды.
     
  14. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Ну я подумал исходя из задачи,
    что человек хочет своего рода "защиту" организовать. А если все прям так наглядно делать, то даже чайник вроде меня догадается, что че-то тут не так.
     
  15. roman_pro

    roman_pro New Member

    Blog Posts:
    0
    Joined:
    Feb 9, 2007
    Messages:
    291
    Хм, достаточно сделать копию такой "защищённой" программы перед её запуском и вся "защита" рухнет. Смысл мучаться ?
     
  16. asmlamo

    asmlamo Well-Known Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    1,742
    А зачем такие заморочки как запись в EXE файл.

    Не проще ли хранить это в реестре или в другом файле ?
     
  17. sxd

    sxd Виталий

    Blog Posts:
    0
    Joined:
    Jan 5, 2007
    Messages:
    56
    Location:
    Москва
    plasmoid попробуй почитай руководство к PE-формату... Цикл статей по вирусам... В конечном итоге создай новую секцию небольшого размера куда будешь писать ксоренное имя компа...
    Помогу тока чуть посже...
     
  18. twgt

    twgt New Member

    Blog Posts:
    0
    Joined:
    Jan 15, 2007
    Messages:
    1,494
    plasmoid, если мне не изменяет память, года 3-4 назад на кряклабе GPcH кидал такой крякми(искать топик по словам 'Так не честно' :)), но лечится такая проверка установкой атрибута 'Только чтение' на файле, т.е. если поставить атрибут до первого запуска, то прога всегда будет думать что ее запустили первый раз, это если сам не проверяеш файл на этот атрибут, конечно.
     
  19. Twister

    Twister New Member

    Blog Posts:
    0
    Joined:
    Oct 12, 2005
    Messages:
    720
    Location:
    Алматы
    l_inc
    Все зависит от рук... ;)
    Гораздо проще и геморойнее...
    Жалко 4кб чужого АП?

    Почти в тему: http://vbstreets.ru/VB/Articles/66169.aspx
     
  20. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Twister
    Если не учитывать замечание Nouzui (хотя геморройности в проверке текущего диска я тоже не вижу), то я не понимаю, в чем геморройность.
    -------------------------------
    (хоть это и не на мой пост ответ :) )
    Да причем здесь жалко? Главное, чтобы эти 4 кб в неподходящий момент вместе с чужим АП не рухнули.

    P.S. Только если я здесь где-нить гоню... не пинайте чайника pls.