Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Курилка / Yak floor (https://forum.zone-game.info/forumdisplay.php?f=16)
-   -   Подмена файла при чтении (https://forum.zone-game.info/showthread.php?t=41277)

ANZO 21.08.2016 00:20

Подмена файла при чтении
 
Доброго времени суток, форумчане.
Сегодня целый день маялся, но так и ничего не родил. Нужны мысли.

Есть:
Есть программулина, которая на свой веб-сервис отправляет создаваемый ею файл.

Нужно:
1. Подменяем файл (до его создания программулиной) своим, при попытке записи программулиной в этот файл - какой-то магией даем ей знать что "тсс парень все норм записал" (в самом деле нет kappa)
2. Файлик благополучно улетает на сервер

PS: через симлинки пробовал, ридонли крашит прогу - вообщем самые простые варианты впринципе испробовал.

Emperor 21.08.2016 00:48

Re: Подмена файла при чтении
 

Zubastic 21.08.2016 01:10

Re: Подмена файла при чтении
 
Цитата:

Сообщение от ANZO (Сообщение 417448)
PS: через симлинки пробовал, ридонли крашит прогу - вообщем самые простые варианты впринципе испробовал.

А поставить бряку после создания, но до отправки и заменить файл своим? kappa

ANZO 21.08.2016 02:17

Re: Подмена файла при чтении
 
Цитата:

Сообщение от Zubastic (Сообщение 417451)
А поставить бряку после создания, но до отправки и заменить файл своим? kappa

Дебаг пролетает - последняя темида с собственными приколами. Платить за распаковку до работающего состояния - самый простой вариант.

Zubastic 21.08.2016 02:26

Re: Подмена файла при чтении
 
Цитата:

Сообщение от ANZO (Сообщение 417452)
Дебаг пролетает - последняя темида с собственными приколами. Платить за распаковку до работающего состояния - самый простой вариант.

C этого и стоило начинать :)
Я бы хукал пару системных функций по работе с файлами и на данном этапе фризил процесс.

flopix 21.08.2016 10:31

Re: Подмена файла при чтении
 
1.
Отправляет на сервер используя стандартный ftp протокол?
Если не используется шифрование, перехватить отправку и изменить содержимое.


2.
Подгрузить в процесс свою dll.
Хукнуть стандартные api функции через которые она пишет в файл, возвращать флаг успешной записи хотя по факту ничего не выполнять.

xolseg 21.08.2016 15:15

Re: Подмена файла при чтении
 
А проверки на сумм там нет? Если нет, то почему не изменяете пакет до его отправки?(снифер?)
Опять же, файлик пишется в папку программы или там temp? Запуск на винде? Если запуск на лине, может попробовать chattr i(аналогов на винде не знаю)

ANZO 21.08.2016 15:31

Re: Подмена файла при чтении
 
Цитата:

Сообщение от xolseg (Сообщение 417471)
А проверки на сумм там нет? Если нет, то почему не изменяете пакет до его отправки?(снифер?)
Опять же, файлик пишется в папку программы или там temp? Запуск на винде? Если запуск на лине, может попробовать chattr i(аналогов на винде не знаю)

Отправка идет на web по https. Fiddler траффика от проги не видит, к сожалению. Подмена в траффике проблематична.

Добавлено через 1 минуту
Цитата:

Сообщение от flopix (Сообщение 417459)
1.
Отправляет на сервер используя стандартный ftp протокол?
Если не используется шифрование, перехватить отправку и изменить содержимое.

HTTPS Траффик, к сожалению.

Цитата:

Сообщение от flopix (Сообщение 417459)
2.
Подгрузить в процесс свою dll.
Хукнуть стандартные api функции через которые она пишет в файл, возвращать флаг успешной записи хотя по факту ничего не выполнять.

Последняя темида, нормальный инжект на работающем клиенте невозможен.

flopix 21.08.2016 16:30

Re: Подмена файла при чтении
 
Зачем вообще программа сохраняет файл? Может быть это вообще для отладки было сделано, а отправляемый контент формируется в памяти приложения.

ANZO 21.08.2016 16:34

Re: Подмена файла при чтении
 
Вообщем, решил вопрос через FileSystemWatcher. Опрос состояния файла каждые 50 мс и его замена на свойпри изменении его клиентом. Нужный файлик благополучно улетел на сервер.


Текущее время: 17:37. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot