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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.03.2011, 16:48
_KUL _KUL вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 6
Репутация: 10
Восклицание В программу на делфи поместить exe

В общем пишется программа, которая чем то напоминает работу "панкбастера". Т.е. пользователь щёлкает по проге, она запускается, далее запускает исполняемый файл игры и каждые 20 минут прога смотрит в диспетчер задач, если игра ещё висит, значит делает принскрин, на фотку помещает ник игрока, помещает все ip адреса системы, далее отправляет эту фотку на сервак по ftp, потом смотрит диспетчер задач, весь список запущенных программ так же отправляет на сервер. Всё работает, всё отлично.
НО! Ведь если пользователь мало майски сообразительный, то он посмотрит, что в клиенте игры появился новый экзешник и попробует его запустить, а убедившись что этот файл это и есть игра, то он не будет запускать тот файл программы, который собственно и делает скрины.

Вопрос - как exe файл поместить внутрь программы написанной на delphi? Своего рода сделать контейнер, когда программа запущена, то она сама из себя запускает файл игры? Или это в принципе не получится?
Ответить с цитированием
  #2  
Старый 12.03.2011, 17:47
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Думаю, сейчас появится добрый дяденька админ и напомнит о правилах форума
Ответить с цитированием
  #3  
Старый 12.03.2011, 17:50
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Pilot_Red
Думаю, сейчас появится добрый дяденька админ и напомнит о правилах форума
Или недобрый дядя Конрад, который в очередной раз напомнит о очередном вирусе)
Ответить с цитированием
  #4  
Старый 12.03.2011, 18:15
_KUL _KUL вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 6
Репутация: 10
По умолчанию

Я вас умоляю, какие ещё вирусы ... Прога пишется для частного использования. Есть город Хабаровск, там есть провайдер, у провайдера есть 2000 человек, поднят сервак cod mw2 поскольку игра ломанная, никаких античитов разумеется нет, а только открытая консоль. И нервы уже сдают админить сервак этот, вот и пишется античит ... ничего злостного в проге нет.

Последний раз редактировалось _KUL, 12.03.2011 в 18:20.
Ответить с цитированием
  #5  
Старый 12.03.2011, 18:55
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Во первых "панкбастер" реализована в виде службы, которая всегда работает и ставится при установке игры, игра в свою очередь, постоянно проверяет, работает ли служба, и соответственно общается с ней.

ВО не пойму, где связь между отправкой списка всех процессов и отправкой ip адресов и средством античита?

Так же, по логике пользования программ, пользователь всегда должен знать, какие процессы протекают на его компьютере, в противном случае это уже опять же относится к нелегальному ПО.
Ответить с цитированием
  #6  
Старый 12.03.2011, 19:40
_KUL _KUL вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 6
Репутация: 10
По умолчанию

Вы мне предлагаете обратится в activision и попросить их, что бы они игрулю cod mw2 подправили и она пыталась связаться с прогой myprogram.exe ??? хм ...

А скрины и список диспетчера задач связан с античитом тем:
1. На скринах сразу видно, прозрачные ли стены у игроков или нет.
2. Есть читы которые работают, когда они запущены, т.е. как отдельная программа которая висит в списке задач.

Раз не хотите помочь, хоть скажите, можно ли исполняемый файл внтурь программы на delphi запихнуть или нет?
Ответить с цитированием
  #7  
Старый 12.03.2011, 19:53
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Можно, это называется инъекция кода.
Ответить с цитированием
  #8  
Старый 12.03.2011, 20:16
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

В вашем случае подойдет следующий способ.
Код:
function AttachToFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean;
var
 aStream: TFileStream; 
 iSize: Integer; 
begin 
 Result := False; 
 if not FileExists(AFileName) then 
 Exit; 
 try 
 aStream := TFileStream.Create(AFileName, fmOpenWrite or fmShareDenyWrite); 
 MemoryStream.Seek(0, soFromBeginning);  
 aStream.Seek(0, soFromEnd); 
 aStream.CopyFrom(MemoryStream, 0); 
 iSize := MemoryStream.Size + SizeOf(Integer); 
 aStream.Write(iSize, SizeOf(iSize)); 
 finally 
 aStream.Free; 
 end; 
 Result := True; 
end; 

function LoadFromFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean; 
var 
 aStream: TFileStream; 
 iSize: Integer; 
begin
 Result := False; 
 if not FileExists(AFileName) then 
 Exit; 

 try 
 aStream := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite); 
 aStream.Seek(-SizeOf(Integer), soFromEnd); 
 aStream.Read(iSize, SizeOf(iSize)); 
 if iSize > aStream.Size then 
 begin 
 aStream.Free; 
 Exit; 
 end; 
 aStream.Seek(-iSize, soFromEnd); 
 MemoryStream.SetSize(iSize - SizeOf(Integer)); 
 MemoryStream.CopyFrom(aStream, iSize - SizeOf(iSize)); 
 MemoryStream.Seek(0, soFromBeginning); 
 finally 
 aStream.Free; 
 end; 
 Result := True;
end; 
Сначала записываем игру в программу, затем при загрузке программы (FormCreate) сохраняем игру в темп файл и запускаем. При закрытии игры - удаляем файл игры.
Так же есть 2 способ: вставка (инъекция) своего кода в чужую программу (ЭТО запрещено по всем правилам (как форума, так и РФ )).
http://www.google.com.ua/search?hl=r...Delphi&spell=1
__________________
Помогаю за Спасибо
Ответить с цитированием
  #9  
Старый 12.03.2011, 21:21
_KUL _KUL вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 6
Репутация: 10
По умолчанию

в общем игра называется COD modern warfare 2, и нужно запрятать файлик iw4mp.exe . Насчёт темповской директории наверно не пойдёт, т.к. файл при запуске проверяет в той же директории кучу dll ini файлов. Даже если сделть по глупому - файл iw4mp.exe переименовать в fail.dat , а при запуске, переименовывать из fail.dat в iw4mp.exe, а при закрытии игры и программа проверяет что игра закрыта, то снова переименовывает в fail.exe. Есть маленькие нюансы, при которых может не получиться. Допустип завис клиент и ему нужно ресет жать, а ведь тогда и файла fail.dat небудет ... Следовательно при запуске программа начнёт переименовывать файл fail.dat, а его уже нет! а то что iw4mp.exe будет в открытую висеть, то это отличный повод читерам задуматься ...
Блин .....
Ответить с цитированием
  #10  
Старый 12.03.2011, 21:28
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

обзови файл svchost.exe (и в процессах не заметен, ибо таких там несколько, и через родной Диспетчер задач - не убьёшь, только через какой нибудь PrcView, кстати который и путь до файла покажет, но я не думаю шо читеры об этом знают)
Ответить с цитированием
  #11  
Старый 15.03.2011, 12:20
_KUL _KUL вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 6
Репутация: 10
По умолчанию

Есть мысль, а ведь можно exe как ресурс подцепить в программу! вопрос только, а как потом этот ресурс достать и запустить? поделитесь кодом пожалуйста, а то в гугле ничего интересного нет. Буду рад вариантам сохранения ехе на хдд и запуск и вариантам загрузки ресурса в озу и старт от туда. Никто так не делал?
Ответить с цитированием
  #12  
Старый 15.03.2011, 13:01
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Вот эта статья по ресурсам тебе подойдёт.
А с запуском .* отлично справляется CreateProcess, так что расширение .exe вообще не обязательно.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter