Flash Info Changer

Небольшая утилита, позволяющая менять некоторые данные, выдаваемые Flash-плагином под Windows.

flash_info_changer

Позволяет менять версию ОС, язык, разрешение, версию Flash.
Например, так:

info_example

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

Проверялось в Mozilla Firefox на Windows XP x86/Windows 7 x64.
Google Chrome не поддерживает, так как процесс, содержащий Pepper Flash, защищен от инжекта (можно убедиться, посмотрев вкладку Security в свойствах процесса с помощью утилиты Process Explorer).

Для работы необходим .NET Framework 2.0.

Скачать: flash-info-changer
Исходный код: flash-info-src
GitHub: flash-info-changer

Защищаем пароль в TeamViewer

TeamViewer, как и большинство программных продуктов, обладает опцией сохранения пароля от своего профиля (профиль используется для упорядоченного хранения перечня идентификаторов удаленных компьютеров с реквизитами доступа к ним). При включенной опции сохранения, пароль прозаично сохраняется в реестре по адресу HKCU\Software\TeamViewer\Version* в переменной BuddyLoginPWAES.


Как видно из названия переменной, да и непосредственно из реестра, перед сохранением пароль шифруется, однако это не является проблемой, т.к. ключи шифрования легко получить, а также никто не мешает просто скопировать содержимое переменной из реестра, перенести на другой компьютер и там успешно авторизоваться. Отсюда возникает некоторое опасение, так как всегда существует вероятность запустить очередной password stealer, который всё благополучно утащит.
Попробуем решить эту проблему костыльно-велосипедным способом. Для этого напишем небольшую библиотеку, которая будет перехватывать обращения к реестру и осуществлять дополнительное шифрование пароля, а также лаунчер для тимвьювера, который будет запускать его и заодно подгружать нашу библиотеку.
Читать далее «Защищаем пароль в TeamViewer»

Класс-инжектор на C++

Давеча наелся всяких плацебо"витаминчиков" и захотелось странного, а именно - выучить C++ за неделю. Начинание примечательно тем, что это первый раз, когда я изучаю что-то, связанное с программированием, по книге (обычно руководствовался примерами из гугла). Да и подобные языки мне до этого не приходилось изучать, в общем-то. Книжку выбрал первую попавшуюся на Amazon - Herbert Schildt "C++: The Complete Reference".
Результат своего непродолжительного изучения оформил в следующий класс, который позволяет грузить DLL или произвольный код в 32- и 64- разрядные процессы. Код, правда, написан не в соответствии с модным стандартом C++0x, и в нем не используется такая мощная вещь как шаблоны (хотя сомневаюсь, что они тут серьезно пригодились бы), но, тем не менее, базовые возможности языка я постарался задействовать.
Использовать класс довольно просто, например:

Доступные методы:

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

Скачать: cpp-injector-class
GitHub: cpp-injector-class

LastFM broadcast add-on

По жизни я довольно часто слушаю музыку и, в частности, интернет-радио Last.fm (благо, в США оно бесплатное). Однако, постоянно сидеть за компьютером утомляет, и возникает желание послушать радио в другой комнате, развалившись в кресле.
Читать далее «LastFM broadcast add-on»

Делаем собственный инжектор

Давным-давно, во времена мифов и легенд, когда древние Боги были мстительны и жестоки и обрушивали на программистов все новые и новые проклятия... На хабре была опубликована статья про сплайсинг.

В качестве примера в статье был приведен довольно масштабный код, который воспринимался не особо легко. Захотелось разобраться в процессе инжекта, а также написать более простой и менее громоздкий код.
Вкратце, инжектинг - это подгрузка нашей библиотеки в сторонний процесс, а сплайсинг - перехват какой-либо функции (мы перехватывали WinAPI) и модификация её работы средствами этой самой библиотеки.
Пример будет состоять из двух частей: 1 - библиотека, 2 - инжектор, который будет внедрять библиотеку в целевой процесс. Библиотеку будем писать на masm, что позволит в разы сократить объемы кода, а инжектор - на Си.
Читать далее «Делаем собственный инжектор»

Vkontakte Inviter Pro injector

Инжектор для VIP v2.
Как использовать:
1. Запускаем инвайтер, ждем появления окна авторизации
2. Запускаем инжектор, нажимает кнопку Inject! - должно появиться сообщение Successfully injected
3. Вводим произвольный логин в окне авторизации и нажимаем Вход
4. Пользуемся инвайтером бесплатно

На некоторых системах инжект может не сработать, с чем это связано - не знаю, видимо какие-то хитрости с инжектом .net-приложений (по-крайней мере при разработке обнаружились отличия в методике под win xp и под win 7).
Возможно, позже сделаю вариант с использованием LSP, и совместимость улучшится.

Скачать: vip injector

P.S. В версии 2.7.0.1 изменен алгоритм генерации ответа, поэтому для неё данный инжект неактуален.

VkBot injector

Наверное, многие знают программу VkBot. С недавнего времени автор сделал функции спама в программе доступными только в pro-версии и ввел необходимость ежемесячной платы за пользование в размере аж 400р.
Захотелось как-то исправить данную несправедливость. В результате, благодаря огромной помощи dx'а в области программирования, а также дистрибутиву pro-версии и дампу пакетов из Wireshark'a, (спасибо товарищу C*****) была написана программа, которая позволяет пользоваться всеми функциями pro-версии без необходимости приобретения ключа.

Инструкция по использованию:
1. Качаем архив
2. Распаковываем
3. Запускаем injector.exe, запускаем вкбота
4. Нажимаем кнопку Inject! - в программе должно появиться сообщение Successfully injected
5. Пользуемся всеми функциями бесплатно

И напоследок небольшая программа для шифровки/дешифровки пароля, который хранится в vkbot.ini. Интерфейс элементарен, надеюсь, кому-нибудь пригодится.

Скачать: vkbot injector (пароль на архив: kaimi.ru)

Update: исходные коды бота