Перейти к содержанию
  • записей
    6
  • комментарий
    31
  • просмотров
    2 255

[URLdrafter.exe]


imaginary

3 944 просмотра

Случилось мне столкнуться с ситуацией, что есть "лёгкий" способ сделать очень интересные изменения в процессе, просто подменив URL адрес запроса, или ответ, получив при этом совсем другой результат, так появилась эта программа ?.

Не работает на Windows 8 и 10

А вот и описание..
Программа URL drafter
Основные функции:

  1. Отслеживание URL запросов программы:
    Позволяет отслеживать и логировать все передаваемые программой URL запросы. Это позволяет получить прямые ссылки на скачивание или просмотр файлов / информации которая запрашивается процессом. Например - htmp файл с параметрами, или 3ds модель, что угодно.
  2. Создание фильтров подмены:
    Позволяет создать фильтр, указав в нём полный запрос от программы, управлять его состоянием, сохранять файлы со списком фильтров, загружать эти файлы. Таким образом можно сделать много файлов для разных функций и загружать их когда нужно. Фильтр позволяет заменить URL запрос на свой, таким образом можно подменить файл, или что либо ещё необходимое процессу. Файл можно положить на свой локальный сервер (localhost), или туда куда удобно. Нужно учитывать что не все файлообменники отдадут файл по прямому запросу от не авторизованного пользователя (процесса).

Побочные функции:

  1. Просмотр всех процессов в системе - их id и имени.
  2. Просмотр загруженных в процесс модулей.

 

Команды программы можно посмотреть введя "help".
Все команды могут принимать аргументы сразу, или по порядку. Например ввести "connect 3442" или сначала "connect" а потом "3442" это одно и тоже.

Спойлер

plist - посмотреть список процессов
dlist - посмотреть модули(dll) подключенного процесса
connect (имя или id) - подключить к процессу
catch - начать захват URL, нажать Escape что бы остановить
catchlog - тоже что catch но с записью перехваченного в файл
fcreate - вызвать конструктор фильтра
flist - посмотреть все фильтры
fenable (номер, состояние 1/0) - включить или выключить фильтр, номер можно узнать командой flist
fclear - удалить все фильтры
fsave (filename) - сохранить фильтры в файл, файл будет без расширения, если оно нужно то припишите сразу
fload (filename) - загрузить фильтры из файла, если он с расширением - тоже нужно указывать
disconnect - отключиться от процесса и убрать все следы пребывания в нём

 


Программа создаёт файлы в директории которой лежит, если не будет указан полный путь, потому лучше поместить файл в папку.

Версия 32 бит: URLdrafter x32.exe

Создание фильтра:
*Удобнее создавать фильтры через файл
Для создания фильтра нужно прописать "fcreate (название фильтра) (номер активности 1/0) (что найти) (на что заменить)"
Название - может быть абсолютно любым.
Номер активности - включён ли фильтр, позже можно изменить командой "fenable"
Что найти - полная URL ссылка, без http, в таком виде как выводит программа.
На что заменить - полная URL ссылка без http которой будет заменена найденная ссылка

Пример:

Спойлер

fcreate
 Write the filter name: Best

 Active? 1/0: 1

 Findl url string: localhost/yoommie.html

 Replacing string: localhost/yes.txt

 


В файле фильтр выглядит вот так:

,1,WeaponModel,localhost/map.eax,abz/online.html,

фильтры разделяются пробелом или переходом на новую строку, запятые обязательны в начале и в конце.

*Фильтры работают только если включен перехват URl .

Краткое руководство, если что то не понятно:

Спойлер

Открыть программу.
написать connect (название или id процесса). plist что бы увидеть все активные.
написать catch, если процесс присоединён - вы ловите URL, escape - остановить отлов.
написать fcreate и отвечать на вопросы - создание фильтра.
Редактировать и добавлять фильтры можно и нужно в файле, который создаётся после написания fsave (название) - сохранить все фильтры в файл.
Загрузить фильтры - fload (название).
Фильтры работают если включена ловля URL,
catchurl что бы не только выводить, но и писать в log файл, который создаётся после завершения сеанса отлова.



Примеры использования фильтров на разных приложениях (НЕ будет пополняться):

Спойлер

пример на tankionline. Приложение  - flashplayer x32.
Замена цвета гусениц танку подменой URl на локальный сервер, замена модели "рельсы" на модель "смоки"
Пример фильтра:


,1,WeaponModel,s.eu.tankionline.com//0/114/133/217/25071062623007/object.3ds,s.eu.tankionline.com//0/114/135/244/25071062605565/object.3ds,
Спойлер

5.png.d2abaaf5717b2f97af18a0c9161a7618.png3.png.2d4a58ed127492f903d473f3abf37ae0.png


 


Небольшое видео работы:

Спойлер

 



*Это консольное приложение написанное на C++.
*Пока доступна только 32 битная версия, соответственно открывать 64 битные процессы ей не получится. 64 битная НЕ выйдет в ближайшее время.
*Распространение разрешено с указанием данного форума как источника и авторства (хотя в программе всё указано).

 

 

  • Понравилось 1
  • Спасибо 1
  • Плюс 2

22 Комментария


Рекомендуемые комментарии

Привет, меня заинтересовал тот факт, что приложение написано на  с++.

Расскажи о своем пути изучения этого языка.

- как давно началось твоё изучение этого языка?

- сколько материала было прочитано, сколько книг?

- обучаешься в училище?

- посоветуешь книги по с++?

- какая часть языка была самая труднопонимаемая?

Также, отчего 64 битная версия не выйдет в ближайшее время?

Ссылка на комментарий
52 минуты назад, Antonshka сказал:

как давно началось твоё изучение этого языка?

4 дня назад

52 минуты назад, Antonshka сказал:

- сколько материала было прочитано, сколько книг?

Какие то сайты были прочитаны, где то штук 8

53 минуты назад, Antonshka сказал:

какая часть языка была самая труднопонимаемая? 

Кто знает, она ещё впереди

53 минуты назад, Antonshka сказал:

Также, отчего 64 битная версия не выйдет в ближайшее время?

Функции другие, мне надо время что бы сделать перерыв и разобраться в новых, к тому же оно не будет работать абсолютно везде при внедрении конкретно в функцию, потому я думаю сделать иначе.

  • Спасибо 1
Ссылка на комментарий

Я изучаю с++ уже второй месяц, но написать такой программы как у тебя пока не могу. Даже и не имею представления о том как это сделать. Может это от того, что я решил сперва освоить самые основы.

 

На данный момент мною прочитана книга Лафоре, и начата книга "с++ Primer" (~300 страниц из 1124).

Книга Лафоре имеет замечательную постепенность преподавания материала, забегания вперед практически нет. Читается на одном дыхании. "с++ Primer" в этом плане не такова, но её материал более концентрирован, нет отклонений ни направо ни налево, все строго и без единого лишнего слова. "с++ Primer" нужно читать после Лафоре.

  • Понравилось 1
Ссылка на комментарий
20 минут назад, Antonshka сказал:

Я изучаю с++ уже второй месяц, но написать такой программы как у тебя пока не могу.

Дело в том, что я обычно сразу делаю то что мне нужно, а не изучаю всё по порядку, мне кажется так удобней, и результат получишь, и научишься тому как делать подобное. К тому же у меня был небольшой опыт на С шарп и других языках, а они похожи. А написать это программу мне помогли знания ассемблера и работы с кодом, потому что тут как раз происходит внедрение своего кода, и после уже получение от него информации при прохождении потока. + 4 дня это и есть полных 4 дня, занятия только этим ?. Я думаю у тебя всё выйдет, в твоём способе тоже есть плюсы, изучишь всё по порядку - сможешь больше писать без залезания в интернет/ещё куда нибудь для разбора функций, так что сэкономишь время потом.

23 минуты назад, Antonshka сказал:

книга Лафоре

А вот за такую книгу спасибо, думаю потом тоже почитаю её ?

Ссылка на комментарий
12 часов назад, Antonshka сказал:

Я изучаю с++ уже второй месяц

Рекомендую почитать "Полный справочник С++. 4-е издание." Герберта Шилдта. И вообще, данную книгу лучше иметь в качестве настольной, если собираешься кодить на плюсах ) 

  • Плюс 1
Ссылка на комментарий

Почему то выдает ошибку при открытии процесса командой connect, вот такую - this process not send url's, dll not found. С чем это связано?

Ссылка на комментарий
13 минут назад, Nickson сказал:

Почему то выдает ошибку при открытии процесса командой connect

Это значит в этом процессе нету dll для присоединения, либо процесс 64 бит, либо использует библиотеку из Sys WOW64, либо использует свой метод для сборки и отправки URL, в таком случае присоединения не будет, что за процесс?
Гарантированное присоединение к не модифицированному клиенту flash и к браузеру который его использует (вкладка) на 32 бит. И другие программы использующие wininet.dll

Изменено пользователем imaginary
Ссылка на комментарий
В 18.05.2019 в 22:11, Hack сказал:

Сделай релиз.

Нету возможности теперь пересобрать.

4 часа назад, Hack сказал:

745d27eb0e66d4fcd5085ed9984dcc6d-full.pn

Установи, Microsoft Visual C++ пакеты.

Ссылка на комментарий

@imaginary, запустил от имени администратора, подключился к процессу, запустил "catch",но ничего не парсит, в консоль ничего не показывается. В чем может быть проблема?
 

Изменено пользователем Xhayla
Ссылка на комментарий
2 часа назад, Xhayla сказал:

ничего не парсит

скорей всего процесс использует другой способ формирования url, потому и не показывает их

Ссылка на комментарий
9 часов назад, imaginary сказал:

скорей всего процесс использует другой способ формирования url, потому и не показывает их

@imaginaryпроверяю на той же игре что и Вы в видео, поэтому непонятно почему так.

 

Изменено пользователем Xhayla
Ссылка на комментарий
10 часов назад, Xhayla сказал:

непонятно почему так.

Через что проверяешь то? может через браузер который по другому работает с плагином, попробуй через flashplayer_32_sa.exe

И сама статья с сайта танков:
https://help.tankionline.com/knowledge-bases/5/articles/2231-flash-player-standalone-flash-kak-obnovit-flesh

Ссылка на комментарий
6 минут назад, imaginary сказал:

Через что проверяешь то?

@imaginary, проверяю через туже программу что и в видео, на той же игре. Даже повторно сказал программу которую ты скинул(хотя я на ней до этого и проверял), ввел ссылку с сайта танков, запустился, подключился, пишу "catch", все... Чтобы не делал в игре, ни одной ссылки не выводит... 

 

Изменено пользователем Xhayla
Ссылка на комментарий
1 час назад, Xhayla сказал:

Чтобы не делал в игре, ни одной ссылки не выводит... 

Тогда без понятия, у меня всё работает, у тебя какая система? Как выяснилось только что, на windows 8 и 10 не работает.

Изменено пользователем imaginary
Ссылка на комментарий
43 минуты назад, imaginary сказал:

Тогда без понятия, у меня всё работает, у тебя какая система? Как выяснилось только что, на windows 8 и 10 не работает.

@imaginarywindows 7 32bit

Ссылка на комментарий
14 минут назад, Xhayla сказал:

windows 7 32bit

В таком случае ничем не могу помочь, должно работать, если когда ты пишешь catch, и заходишь в гараж - ничего не ловится (заходить надо при первом запуске игры, из списка битв, пока ничего не загружено), то могу тебе посоветовать только полную очистку сохраняемых данных игры, (хотя даже в таком случае ты должен видеть новости и прочие ссылки в программе).

Ссылка на комментарий
5 минут назад, imaginary сказал:

В таком случае ничем не могу помочь, должно работать, если когда ты пишешь catch, и заходишь в гараж - ничего не ловится (заходить надо при первом запуске игры, из списка битв, пока ничего не загружено), то могу тебе посоветовать только полную очистку сохраняемых данных игры, (хотя даже в таком случае ты должен видеть новости и прочие ссылки в программе).

@imaginary, имеются ли у Вас исходники этой программы на github,  хотелось бы взглянуть с Вашего позволения.

Изменено пользователем Xhayla
Ссылка на комментарий
2 минуты назад, Xhayla сказал:

имеются ли у Вас исходники

Не имеются, но могу сказать что работа основана на перехвате потока который заходит в wininet.dll и подмена/считывание информации из него

Изменено пользователем imaginary
Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.