Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 09.05.2011, 13:08
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание

Думал я насчет процедуры добавления своего кода к другой программе и составил алгоритм. Я в этом деле новичок, так что не судите строго (может я вообще не так делаю. Вот алгоритм:
1. Ищем Project2.exe и переименовываем (меняем расширение) его в Project2.txt (для добавления к нему в дальнейшем кода программы.
2. Наш Project1.exe тоже переименовываем (меняем расширение) Project1.txt
3. Открываем Project1.txt и копируем его код (машинный) в текстовом формате.
4. Дозаписываем Project1.txt к Project2.txt.
5. Переименовываем Project1.txt и Project2.txt в Project1.exe и Project2.exe.
6. Завершаем работу с файлами.

P.s это еще сырой вариант. Скажите я правильно мыслю?
Ответить с цитированием
  #17  
Старый 09.05.2011, 14:14
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Цитата:
Думал я насчет процедуры добавления своего кода к другой программе и составил алгоритм. Я в этом деле новичок, так что не судите строго (может я вообще не так делаю. Вот алгоритм:
1. Ищем Project2.exe и переименовываем (меняем расширение) его в Project2.txt (для добавления к нему в дальнейшем кода программы.
2. Наш Project1.exe тоже переименовываем (меняем расширение) Project1.txt
3. Открываем Project1.txt и копируем его код (машинный) в текстовом формате.
4. Дозаписываем Project1.txt к Project2.txt.
5. Переименовываем Project1.txt и Project2.txt в Project1.exe и Project2.exe.
6. Завершаем работу с файлами.

P.s это еще сырой вариант. Скажите я правильно мыслю?

Нет. После таких "махинаций" ничего работать не будет. По нескольким причинам.
Первая, она же самая проста - при открытии блокнотом exe файла мы никогда не получим текстовое представление его кода - в коде могут встретится символы 00h, которые блокнот проигнорирует, но без них файл не запустится.
Что бы получить этот файл, его нужно считывать побайтно.

Единственный способ что-то изменить в чужом файле (в данном случае я подразумеваю, что инфицируемые программы написаны другим человеком.) так, чтоб оно работало это:
1) Открыть заражаемый файл побайтно
2)Найти секцию кода и дописать в конец её свой код, попутно получив адрес точки входа и сделав переход после добавленного кода на точку входа исходного кода.
3) Если антивирус ещё не прибил программу (хотя, за такие выкрутасы просто обязан) продожаем измываться над файлом
4)В РЕ заголовке изменить размер секции кода на новый (иначе загрузчик сочтет файл некоректным)
5)В том же заголовке правим точку входа на начало вставленного кода.
6) закрываем файл.

Однако, более менее защищенный файл таким макаром пропатчить не удастся - он может быть пожат, покриптован, при запуске у него может проверяться контрольная сумма, подделать которую не удастся она на то и придумана, что бы целостность файла контролировать
Так что остается только одно - пойти и вернуться обратно на игру - благо исходников игр на Делфи полно - тот же Квейк.
Гдеж ты учишься, что такие задания дают? MIT? Стенфорд?

Цитата:
"Вирус - это программа, а значит она может быть хорошей "
Вирус Чумы тоже был хорошим, пока пол-Европы не умерло.
Как хорошей может быть программа, которая написана для причинения вреда?
Для общего развития рекомендую ознакомится со статьями 273 и 272 УК РФ
Ответить с цитированием
  #18  
Старый 09.05.2011, 15:06
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание

ChinYan, понял)))) возвращаюсь к игре...
Ответить с цитированием
  #19  
Старый 09.05.2011, 15:17
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Давно пора
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter