Перехватить запросы командной строки.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Перехватить запросы командной строки.

Сообщение TrueTrue » 15.02.2014 (Сб) 2:07

Ситуация следующая.

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

Хочу попробовать отловить запрос, который я так понимаю она посылает Windows, что-то типа: start "C:\Program Files\Internet Explorer\iexplore.exe" http://купи про версию.ru/" и убивать его на корню.

Возможно ли это? Есть у кого-то идеи? Посоветуйте кто-то решение.

Sam777e
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 157
Зарегистрирован: 16.09.2010 (Чт) 4:33

Re: Перехватить запросы командной строки.

Сообщение Sam777e » 15.02.2014 (Сб) 3:46

Вариант, но, возможно, он грозит разными неудобствами и т.п.; и будет хуже, чем в исходной ситуации.

Привожу просто как 1-ую пришедшую в голову идею.

Пишем обертку для iexplore.exe, даем ей это имя, ... короче, подменяем iexplore.exe. В обертке отслеживаем "купи про версию.ru" - если оно, так тихо закрываемся, а если другое - то зовем подлинный [ переименованный ] iexplore.exe и, опять же [ с некоторой временнОй задержкой ] тихо закрываемся.
Здоровья и удачи

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 15.02.2014 (Сб) 3:59

Ключевой вопрос: причём тут VB6?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 15.02.2014 (Сб) 15:53

Sam777e писал(а):Вариант, но, возможно, он грозит разными неудобствами и т.п.; и будет хуже, чем в исходной ситуации.

Привожу просто как 1-ую пришедшую в голову идею.

Пишем обертку для iexplore.exe, даем ей это имя, ... короче, подменяем iexplore.exe. В обертке отслеживаем "купи про версию.ru" - если оно, так тихо закрываемся, а если другое - то зовем подлинный [ переименованный ] iexplore.exe и, опять же [ с некоторой временнОй задержкой ] тихо закрываемся.

Идея интересная, подумаю...

Хакер писал(а):Ключевой вопрос: причём тут VB6?

Вот никогда не понимал, зачем вопросом отвечать на вопрос? Просто поумничать? Ну так я и так вижу что Вы "умный". Я помоему всё очень доходчиво описал. Есть возможные варианты? Нет? Идеи? Нет - тогда вопрос для себя закрываю. Если бы я в чём-то был уверен, то не задавал бы вопросов.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 15.02.2014 (Сб) 18:24

TrueTrue писал(а):Вот никогда не понимал, зачем вопросом отвечать на вопрос?

Заданный вопрос никоим образом не относится к VB6.

Задача решается так: открывает Hex-рекдатор и правим определённый байтик. Или открываем OllyDbg и правим определённый байтик. Или открываем — одну из тысячи других программ и правим определённый байтик.

VB6, как видно, тут никак не замешан. Поэтому мой долг — перед тем как закрыть тему и выдать автору предупреждение за неправильное размещение темы в нецелевом разделе, спросить, может всё-таки есть какое-то отношение. Дать ему последний шанс.

То ты не хочешь объясниться, а встаёшь в позу, изображая из себя жертву? Учтём.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alex77755
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 97
Зарегистрирован: 24.03.2009 (Вт) 11:40

Re: Перехватить запросы командной строки.

Сообщение alex77755 » 16.02.2014 (Вс) 10:09

Ключевой вопрос: причём тут VB6?

А я так понял, что автор не хочет открывать Hex-рекдатор или любую другую похожую программу, а хочет написать свою программу именно на VB6!
И это его право!
ИМХО: Не надо навязывать ему свои "правильные" идеи

alex77755
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 97
Зарегистрирован: 24.03.2009 (Вт) 11:40

Re: Перехватить запросы командной строки.

Сообщение alex77755 » 16.02.2014 (Вс) 10:13

правим определённый байтик

А вот при чём батник?! Разве автор что-то говорил о батнике?
Есть программа, бесплатная,

Не батник!
Внимательней надо читать!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 10:25

а хочет написать свою программу именно на VB6!

Какую программу? Что она должна делать?
А если автор хочет забить гвоздь, то вместо того, чтобы брать молоток, надо тоже писать какую-то программу?


правим определённый байтик

А вот при чём батник?! Разве автор что-то говорил о батнике?

alex7775, наверное надо меньше пить пиво, трезвый мозг легко различает слова «байтик» и «батник».
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Перехватить запросы командной строки.

Сообщение Mikle » 16.02.2014 (Вс) 13:29

Хакер писал(а):причём тут VB6?

Это вполне по силам VB6:
Sam777e писал(а):Пишем обертку для iexplore.exe

Другое дело, что мне такой вариант очень не нравится, но если делать вариант только для себя и только для сейчас, и не быть перфекционистом - то сойдёт.
alex77755 писал(а):Не батник!
Внимательней надо читать!

LOL

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 13:39

Mikle писал(а):Это вполне по силам VB6:

Во-первых, речь вовсе не о том, что это невозможно в VB6.

Речь о том, что у тебя, например, есть txt-файл с каким-то рассказом. И тебе нужно вырезать оттуда все слова «видимо». Ты можешь просто взять Блокнот, открыть им txt-файл, выбрать в меню пункт ПравкаЗаменить, и заменить все вхождения слова «видимо» на пустую строчку. Клик-клик-клик-клик и готово. А можешь взять VB6 и написать какую-то программу, которая что-то делает. Но во-первых что делает? Сама открывает файл и вырезает оттуда ненужные слова? Или перехватывает отрисовку текстов и убирает ненужные слова в момент отрисовки? Во-вторых, зачем что-то писать, если можно просто открыть блокнот и выбрать ПравкаЗаменить?

Во-вторых, писать обёртку для iexplore.exe — это чушь. Приложение открывает браузер скорее всего не через запуск iexplore.exe, а через вызов ShellExecute. И ShellExecute вызывает не iexplore.exe, а просто браузер, зарегистрированный в системе как браузер по-умолчанию. К тому же SFP. К тому же что должен делать фильтр-перехватчик? Обламывать открытие по соответствию URL некоему шаблону? А если NAG-адрес изменится? Переделывать обработчик?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Перехватить запросы командной строки.

Сообщение Mikle » 16.02.2014 (Вс) 14:32

Хакер писал(а): Приложение открывает браузер скорее всего не через запуск iexplore.exe, а через вызов ShellExecute

Очень даже возможно, просто я, как обычно, непосредственно ответил на вопрос:
TrueTrue писал(а):Хочу попробовать отловить запрос, который я так понимаю она посылает Windows, что-то типа: start "C:\Program Files\Internet Explorer\iexplore.exe" http://купи про версию.ru/" и убивать его на корню.

Хакер писал(а):А если NAG-адрес изменится? Переделывать обработчик?

Я же написал:
Mikle писал(а):мне такой вариант очень не нравится, но если делать вариант только для себя и только для сейчас

На счёт блокнота, в котором можно "выбрать в меню пункт Правка→Заменить" - если в той проге строки хранятся в явном виде, то да, это - лучший способ.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 15:08

Mikle писал(а):На счёт блокнота, в котором можно "выбрать в меню пункт Правка→Заменить" - если в той проге строки хранятся в явном виде, то да, это - лучший способ.

Ты не понял. Я не предлагаю менять строку с адресом. Я предлагаю заNOPить вызов API-функции. Блокнот и замена были упомянуты всего лишь в рамках приведения аналогии.

Mikle писал(а):просто я, как обычно, непосредственно ответил на вопрос:

Обрати внимание, что это совершенно не вопрос. Предложение утвердительное. В нём ничего не спрашивает. В нём автор высказывает своё пожелание: перехватить и убить на корню.

Перехватывать — не видно никакого смысла. Убить на корню — занопить. Для того, чтобы заnopить, нужен инструмент, который позволяет это сделать (их миллион). Вопрос: причём тут VB6 был и остаётся вполне законным. Автор хочет на VB6 написать отладчик/дизассемблер/хекс-редактор? Или патчер, который правит exe-файл сразу? Или программу, которая в реальном времени патчит нужный процесс? Или обёртку над iexplore? Или ошибся разделом? Или один из ста вариантов, до которых я не догадался?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 16.02.2014 (Вс) 20:45

Хакер писал(а):
Mikle писал(а):На счёт блокнота, в котором можно "выбрать в меню пункт Правка→Заменить" - если в той проге строки хранятся в явном виде, то да, это - лучший способ.

Ты не понял. Я не предлагаю менять строку с адресом. Я предлагаю заNOPить вызов API-функции. Блокнот и замена были упомянуты всего лишь в рамках приведения аналогии.

Mikle писал(а):просто я, как обычно, непосредственно ответил на вопрос:

Обрати внимание, что это совершенно не вопрос. Предложение утвердительное. В нём ничего не спрашивает. В нём автор высказывает своё пожелание: перехватить и убить на корню.

Перехватывать — не видно никакого смысла. Убить на корню — занопить. Для того, чтобы заnopить, нужен инструмент, который позволяет это сделать (их миллион). Вопрос: причём тут VB6 был и остаётся вполне законным. Автор хочет на VB6 написать отладчик/дизассемблер/хекс-редактор? Или патчер, который правит exe-файл сразу? Или программу, которая в реальном времени патчит нужный процесс? Или обёртку над iexplore? Или ошибся разделом? Или один из ста вариантов, до которых я не догадался?

Вот сколько реально флуда и ненужного обсуждения!!! И всё благодаря опытному человеку, который я так понимаю, уже не первый год на этом форуме...

Автору нужно решить вопрос! Автор, привык всё решать самостоятельно, Автор Всё делает под себя! Если бы Автор хотел найти какое-то другое решение, то Автор писал бы бы запрос в Гугл.

Автора полностью устраивает решение для себя! Здесь и сейчас, какое-бы оно нибыло! Автор специально задал вопрос: Возможно ли на VB6? Если Да, то как?!

Зачем писать тучу ненужной инфы и убеждать кого-то в своих великих познаниях?!
Если не возможно, достаточно просто написать: "Нет - нельзя!" или "Это сложно." или в данном, случае: " Это сложно, есть более простое решение..." И просто в кратце, по человечески намекнуть, куда копать. Вероятно Автора устроит данный вариант.

А так и тему засорили, и я толком ничего не понял из Вашего обсуждения, кроме самого первого поста... Спасибо.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 20:49

TrueTrue писал(а):Возможно ли на VB6? Если Да, то как?!

Зачем писать тучу ненужной инфы и убеждать кого-то в своих великих познаниях?!
Если не возможно, достаточно просто написать: "Нет - нельзя!" или "Это сложно." или в данном, случае: " Это сложно, есть более простое решение..." И просто в кратце, по человечески намекнуть, куда копать.

До тебя так и не доходит, что здесь нет ни капли издевательства, а есть реальное непонимание того, что вообще тебе нужно?

Ещё раз: последний шанс. На VB6 можно писать программы. Что должна делать программа, которую ты хочешь написать? У тебя хватит самообладания ответить на этот вопрос не уклоняясь и не ерничая?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 16.02.2014 (Вс) 20:51

Хакер писал(а):Перехватывать — не видно никакого смысла. Убить на корню — занопить. Для того, чтобы заnopить, нужен инструмент, который позволяет это сделать (их миллион). Вопрос: причём тут VB6 был и остаётся вполне законным. Автор хочет на VB6 написать отладчик/дизассемблер/хекс-редактор? Или патчер, который правит exe-файл сразу? Или программу, которая в реальном времени патчит нужный процесс? Или обёртку над iexplore? Или ошибся разделом? Или один из ста вариантов, до которых я не догадался?

Теперь по делу. Хотелось бы всё таки получить более понятный ответ, возможно ли перехватить запуск сайта в браузере средствами VB6, перехватить И ПРЕРВАТЬ! запуск(передачу запроса в браузер), это очень сложно или это вообще не возможно... (Я почему-то думал, что можно как-то перехватить в памяти запрос и убить его, возможно я ошибся.)

Если есть какие-то варианты, пожалуйста, намекните на них, вкратце хотя бы. Или где почитать. Mikle, хотелось бы твой вариант услышать.
Последний раз редактировалось TrueTrue 16.02.2014 (Вс) 20:54, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 20:53

А тебе что важнее: шашечки или ехать перехватить или прервать?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 16.02.2014 (Вс) 20:55

Хакер писал(а):А тебе что важнее: шашечки или ехать перехватить или прервать?

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

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Перехватить запросы командной строки.

Сообщение The trick » 16.02.2014 (Вс) 20:56

А так и тему засорили, и я толком ничего не понял из Вашего обсуждения, кроме самого первого поста... Спасибо.
Действительно не понятно при чем тут VB6? Такое легче сделать в любом отладчике/дизассемблере в пару кликов. Можно конечно написать патчер на ВБ, но это что из пушки по воробьям. Другое дело, если бы тебе нужно было написать программу которая будет это делать для группы программ или аналогичные действия для чего действительно нужна программа.
Последний раз редактировалось The trick 16.02.2014 (Вс) 21:00, всего редактировалось 2 раз(а).
UA6527P

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 20:57

Если я расскажу тебе о способе, при котором не нужно перехватывать, а можно сразу убить на корню — ты будешь доволен такому способу?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 16.02.2014 (Вс) 20:59

Хакер писал(а):Если я расскажу тебе о способе, при котором не нужно перехватывать, а можно сразу убить на корню — ты будешь доволен такому способу?

Буду счастлив :)

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 16.02.2014 (Вс) 21:04

Кривоус Анатолий писал(а):
А так и тему засорили, и я толком ничего не понял из Вашего обсуждения, кроме самого первого поста... Спасибо.
Действительно не понятно при чем тут VB6? Такое легче сделать в любом отладчике/дизассемблере в пару кликов. Можно конечно написать патчер на ВБ, но это что из пушки по воробьям. Другое дело, если бы тебе нужно было написать программу которая будет это делать для группы программ или аналогии.
Хм... Вы забылись, господин Гуру, что тут не все профессора. :) Я увлекаюсь VB, а не взломами и дебагерами, но вот вместо Ваших "пустых" слов, для меня было бы значительно полезнее, получить конкретную инфо! Я ещё и спасибо сказал бы :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 21:04

Ок. Теперь следующий вопрос.

Для того, чтобы убить на корню этот запрос, нужно модифицировать некие байты в памяти процесса.
  • Можно модифицировать их непосредственно в памяти этого процесса. Это придётся делать каждый раз после запуска твоей нехорошей программы.
  • Можно воспользоваться тем фактом, что эти байтики попадают туда из EXE-файла каждый раз при старте программы, и модифицировать их прямо в exe-файле. Это придётся сделать один раз и навсегда.

У тебя есть предрассудки против второго способа или он тоже тебя устроит?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 16.02.2014 (Вс) 21:07

Хакер писал(а):Ок. Теперь следующий вопрос.

Для того, чтобы убить на корню этот запрос, нужно модифицировать некие байты в памяти процесса.
  • Можно модифицировать их непосредственно в памяти этого процесса. Это придётся делать каждый раз после запуска твоей нехорошей программы.
  • Можно воспользоваться тем фактом, что эти байтики попадают туда из EXE-файла каждый раз при старте программы, и модифицировать их прямо в exe-файле. Это придётся сделать один раз и навсегда.

У тебя есть предрассудки против второго способа или он тоже тебя устроит?

У меня вообще нет предрассудков. Меня устроит и второй вариант, но мне всё же очень хотелось бы узнать и про первый. :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 21:19

TrueTrue писал(а):Меня устроит и второй вариант, но мне всё же очень хотелось бы узнать и про первый.


Для первого способа, изменять байты памяти чужого процесса можно одной из многочисленных утилит, уже давно написанных для этого, или же ты можешь написать свою аналогичную утилиту на VB6. Для этого тебе потребуется найти нужный процесс среди запущенных, получить его хендл с правом записи в его память и перезаписать нужные байтики нужными значениями при помощи функци WriteProcessMemory.

Для второго способа, изменять байты в файле можно одной их многочисленных утилит, уже давно написанных для этого, или же ты можешь написать свою аналогичную утилиту на VB6. Для этого тебе придётся открыть файл, например с помощью Open filename$ For Binary as #1, модифицировать нужные байты, например с помощью Put #1, x, y (и закрыть файл).

Гораздо большую проблему представляет собой задача узнать:
  • По каким адресам/смещениям находятся нужные байты.
  • Какими значениями их перезаписать

Перейдём к обсуждению этой поблемы, или что-то непонятно с перезаписью памяти / перезаписью файла?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Перехватить запросы командной строки.

Сообщение The trick » 16.02.2014 (Вс) 21:24

Мой вариант - если в рантайме, находим адрес функции ShellExecuteExW, первыми байтами пишем что-то типа
Код: Выделить всё
or al,01 ; 0C01
retn 4  ; C20400

Все через WriteProcessMemory для нужного процесса
Последний раз редактировалось The trick 16.02.2014 (Вс) 22:11, всего редактировалось 2 раз(а).
UA6527P

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 21:26

Анатолий, подожди, дай итеративно дойти до логичного финала.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 16.02.2014 (Вс) 21:39

Хакер писал(а):
TrueTrue писал(а):Меня устроит и второй вариант, но мне всё же очень хотелось бы узнать и про первый.


Для первого способа, изменять байты памяти чужого процесса можно одной из многочисленных утилит, уже давно написанных для этого, или же ты можешь написать свою аналогичную утилиту на VB6. Для этого тебе потребуется найти нужный процесс среди запущенных, получить его хендл с правом записи в его память и перезаписать нужные байтики нужными значениями при помощи функци WriteProcessMemory.

Для второго способа, изменять байты в файле можно одной их многочисленных утилит, уже давно написанных для этого, или же ты можешь написать свою аналогичную утилиту на VB6. Для этого тебе придётся открыть файл, например с помощью Open filename$ For Binary as #1, модифицировать нужные байты, например с помощью Put #1, x, y (и закрыть файл).

Гораздо большую проблему представляет собой задача узнать:
  • По каким адресам/смещениям находятся нужные байты.
  • Какими значениями их перезаписать

Перейдём к обсуждению этой поблемы, или что-то непонятно с перезаписью памяти / перезаписью файла?

Нет, с записью и в файл и в память всё просто, как найти нужные байты в памяти и в файле?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 21:48

TrueTrue писал(а):как найти нужные байты в памяти и в файле.

Для этого потребуется дизассемблер и твоя голова.

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

Проанализировать вывод дизасемблера и по нему определить нужные адреса и нужные байты ты можешь либо сам, либо ты можешь написать некий код (в том числе и на VB6), который автоматизирует эту задачу на случай, если каждый день будет появляться новая, слегка модифицированная версия exe-файла.

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

Отладчик ты можешь взять один из многочисленных уже созданных, либо написать свой на VB6.

Дальнейшие вопросы?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Перехватить запросы командной строки.

Сообщение TrueTrue » 16.02.2014 (Вс) 22:18

Я так понимаю, это для файла, а что касается памяти? Как в памяти найти нужные байты?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перехватить запросы командной строки.

Сообщение Хакер » 16.02.2014 (Вс) 22:33

Это в равной степени касается обоих вариантов.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 56

    TopList