Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363

Изменение EXE посредством PHP

11.09.2016, 12:12. Показов 2432. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно изменить содержимое exe файла с помощью php, а потом этот exe скачать и использовать.
Шутки про то, что exe изменять нельзя откиньте в сторону.
Мне подойдет любой из двух вариантов:
1) Это найти к примеру в exe " Form1.Caption:='1111111111111' " и заменить "11...11" на то которое пользователь задаст сам.
2) Дописать в конец exe файла, к примеру: <name>FileName5</name>.
Просто так, методом file_put_contents('programm.exe', $data, FILE_APPEND); не получается (точнее получается, но exe в последствии не работает).
Уже много тем пересмотрел, ничего, что могло бы мне помочь. Вот отчаявшись пишу сюдой.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.09.2016, 12:12
Ответы с готовыми решениями:

Запустить файл php.exe либо php-cgi.exe
Здравствуйте!Установил apache 2.2. php 5.3.28, читаю книгу и необходимо запустить файлик php.exe либо php-cgi.exe и прописать в нем php...

Удаление записи из БД посредством PHP - PHP
помогите пожалуйста разобраться, почему мой скриптик не удаляет запись из бд? If (isset($_GET)) { $sql=mysql_query(&quot;SELECT *...

Парсинг Excel в БД посредством php
Добрый день, при парсинге возник вопрос, сам метод парсинга я нашел, но суть в том, что во всех методах используется уже созданная таблица,...

35
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
11.09.2016, 12:55
INstantKiLLer, почитайте про трансляцию кода, в вашем случае про компиляцию из исходников, и про содержимое exe-файлов. Много вопросов отпадет само собой.
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
Шутки про то, что exe изменять нельзя откиньте в сторону.
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
exe в последствии не работает
Что еще вам нужно?
0
Эксперт .NET
 Аватар для Rius
13163 / 7723 / 1679
Регистрация: 25.05.2015
Сообщений: 23,525
Записей в блоге: 14
11.09.2016, 13:15
Наверное, ТС-у надо вот это Патчер: заменить в приложении одну строку на другую на php.
0
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
11.09.2016, 16:21  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
ТС-у надо вот это Патчер: заменить в приложении одну строку на другую на php.
Да, у меня есть т.н. "Патчер" написанный на делфи для моего приложения. Но нужно на PHP.
Кому интересно(это второй вариант):
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
  F: TFileStream;
  M: TMemoryStream;
  L: int64;
begin
  F :=TFileStream.Create('C:\Users\MegaAdmin\Desktop\programm.exe',fmOpenWrite or fmShareDenyWrite);
  M :=TMemoryStream.Create;
  sMemo1.Text:='<name>'+sedit1.Text+'</name>'; //то что я записываю
  sMemo1.Lines.SaveToStream(M);
  M.Seek(0,soFromBeginning);
  F.Seek(0,soFromEnd);
  F.CopyFrom(M,0);
  L:=M.Size+SizeOf(int64);
  F.Write(L,SizeOf(int64));
  F.Free;
  M.Free;
end;
И большой плюс его в том, что я могу записывать разные по величине значения. А при открытии пропатченой программы она просто считывает это значение и присваивает

Добавлено через 1 час 42 минуты
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Что еще вам нужно?
Да Вы хотя бы с этим помогите, и то не думаю что у Вас получится
0
11.09.2016, 17:43

Не по теме:

Цитата Сообщение от INstantKiLLer Посмотреть сообщение
Да Вы хотя бы с этим помогите, и то не думаю что у Вас получится
Не задавался целью заморачиваться на подобную херобору

0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
11.09.2016, 19:05
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
1) Это найти к примеру в exe " Form1.Caption:='1111111111111' " и заменить "11...11" на то которое пользователь задаст сам.
В exe файлах не бывает никаких Form1.Caption
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
2) Дописать в конец exe файла, к примеру: <name>FileName5</name>.
И зачем? Это никак не повлияет на работу exe-файла Но если сильно хочется:
PHP
1
file_put_contents("test.exe", "<name>FileName5</name>", FILE_APPEND);
1
Эксперт .NET
 Аватар для Rius
13163 / 7723 / 1679
Регистрация: 25.05.2015
Сообщений: 23,525
Записей в блоге: 14
11.09.2016, 19:17
Цитата Сообщение от pav1uxa Посмотреть сообщение
И зачем?
ТС желает выдавать на скачку (видимо) файл, модифицированный под запросившего его пользователя.
Если скачал Ваня, в заголовке будет типа "Специально для Ваня".
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
11.09.2016, 19:48
Цитата Сообщение от Rius Посмотреть сообщение
в заголовке будет типа "Специально для Ваня".
Вот только если дописать к концу файла <name>FileName5</name>, никаких "Специально для Ваня" ни в каких заголовках не будет
0
Эксперт .NET
 Аватар для Rius
13163 / 7723 / 1679
Регистрация: 25.05.2015
Сообщений: 23,525
Записей в блоге: 14
11.09.2016, 20:33
pav1uxa, в коде ищем, откуда запущена программа, открываем exe, читаем байты с конца и формируем строку.

Добавлено через 28 минут
Да, программа должна уметь вытаскивать прикреплённую строку, разумеется.
How to Append Data to the End of an .EXE File.

Не по теме:

Тема немного знакомая, т.к. я в микроконтроллерах такую инфу встраиваю не в конец, а в центр бинарного файла прошивки. Так, что даже CRC-32 файла не меняется.



Добавлено через 14 минут
Таким же методом, дозаписи в конец exe, создаются самораспаковывающиеся архивы 7zip:
Как сделать, чтобы ссылки на папку работали, а сама папка не открывалась
0
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
12.09.2016, 00:39  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
В exe файлах не бывает никаких Form1.Caption
Вы это говорите не обоснованно, создайте приложение (пусть на Delphi 7), скомпилируйте и просмотрите обычным блокнотом содержимое.
Цитата Сообщение от pav1uxa Посмотреть сообщение
И зачем? Это никак не повлияет на работу exe-файла
А в этом вы не правы, по вышеприведенному мною коду идет запись в exe, и подобным кодом все это дело считывается, только уже не запись идет, а чтение.
Цитата Сообщение от pav1uxa Посмотреть сообщение
Но если сильно хочется:
Если бы вы были внимательнее, то увидели бы еще в моем вопросе:
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
Просто так, методом file_put_contents('programm.exe', $data, FILE_APPEND); не получается (точнее получается, но exe в последствии не работает).
Добавлено через 2 минуты
Цитата Сообщение от pav1uxa Посмотреть сообщение
Вот только если дописать к концу файла <name>FileName5</name>, никаких "Специально для Ваня" ни в каких заголовках не будет
Естественно не будет, просто нужно читать вопрос полностью было:
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
И большой плюс его в том, что я могу записывать разные по величине значения. А при открытии пропатченой программы она просто считывает это значение и присваивает
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
12.09.2016, 09:34
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
Если бы вы были внимательнее, то увидели бы еще в моем вопросе:
Ну вот я этот код выполнил и exe-файл работает исправно. И запись эта в нем есть.
1
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
12.09.2016, 12:04  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
я этот код выполнил и exe-файл работает исправно
Понятно, буду тогда пробовать менять код или настройки компиляции, просто когда я заливаю свои exe-файлы на хост, потом скачиваю, то часть работает, а часть нет. Это не совсем по теме, но может кто знает с чем это связано? (exe не изменяются, просто скачиваю с хоста)

Добавлено через 21 минуту
Цитата Сообщение от pav1uxa Посмотреть сообщение
Ну вот я этот код выполнил и exe-файл работает исправно. И запись эта в нем есть.
PHP
1
2
3
$name = $_GET['name'];
$data = "<name>".$name."</name>";
file_put_contents('test.exe', $data, FILE_APPEND);
Вот мой код, я качаю exe и он не работает, написано что "Невозможно запустить это приложение на вашем ПК"
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
12.09.2016, 21:14
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
просто когда я заливаю свои exe-файлы на хост, потом скачиваю, то часть работает, а часть нет
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
exe не изменяются, просто скачиваю с хоста
Не знаю, код нужно смотреть.
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
Вот мой код, я качаю exe и он не работает
Ну если учесть что они у Вас не работают даже если Вы их не меняете... Надо сначала с первой проблемой разобраться. Эта решится сама собой.
0
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
13.09.2016, 14:23  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Ну если учесть что они у Вас не работают даже если Вы их не меняете... Надо сначала с первой проблемой разобраться. Эта решится сама собой.
Нет, без изменения это приложение после скачивания работает нормально, а вот после изменения - нет

Добавлено через 14 часов 30 минут
Цитата Сообщение от pav1uxa Посмотреть сообщение
Ну вот я этот код выполнил и exe-файл работает исправно. И запись эта в нем есть.
Можно ваш код и исходник (или exe)
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
13.09.2016, 19:29
Цитата Сообщение от INstantKiLLer Посмотреть сообщение
Можно ваш код и исходник (или exe)
Цитата Сообщение от pav1uxa Посмотреть сообщение
PHP
1
file_put_contents("test.exe", "<name>FileName5</name>", FILE_APPEND);
test.zip
0
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
13.09.2016, 23:15  [ТС]
Попробую поменять хост
0
14.09.2016, 10:39

Не по теме:

это тут еще причем :D

0
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
14.09.2016, 15:56  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
это тут еще причем

Не по теме:

Ну, а что предложите, когда я даже некоторые exe с него качаю, а они тупо не работают.

0
Эксперт .NET
 Аватар для Rius
13163 / 7723 / 1679
Регистрация: 25.05.2015
Сообщений: 23,525
Записей в блоге: 14
14.09.2016, 16:44
INstantKiLLer, попробуйте тупо сравнить оригинальные и скачанные файлы в hex виде.
0
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
14.09.2016, 17:33  [ТС]
В общем, сделал я программу на делфи с одним label на форме, и она без изменений работает и с изменениями, т.е. PHP скрипт рабочий, значит, что то не так с некоторыми exe. Ладно пойду в раздел Delphi спрашивать, спасибо всем)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.09.2016, 17:33
Помогаю со студенческими работами здесь

Редактирование HTML посредством PHP
Здравствуйте гуру веб-разработки!!! Сразу предупреждаю я новичок в этом деле!! Возник такой вопрос: Реально ли изменить HTML...

Отправка письма посредством php
Написал код для заказа диска через сайт, программа не срабатывает в файле пхп, выдаёт ошибку на 7 строке: Notice: Undefined variable: pass...

Переход по ссылке посредством PHP
Добрый день, уважаемые форумчане. Подскажите с решением одного вопроса. Есть форма на сайте, она отправляет на почту контакты клиентов. У...

Редактирование html страниц посредством php
Что то сижу и додуматься не как не могу: Есть страница index.php В ней подключаются в зависимости от перехода по ссылке ...

РАЗАрхивирование .zip файла посредством PHP
Никто не сталкивался с таким примером. Все ссылки которые я находил только архивируют, а мне нужно обратное. Допустим чтобы человек не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru