MacroMonkey multi dll enjector
Скрипт исправлен) И полностью работает. От вас требуется поместить библиотеки для иньекта в папку /windows/system32/ а в переменных писать только имена самих библиотек т.к. с полным путём он не видит библиотеку, по каким причинам мне не известно)
Не уверен что выбрал правильную тему, т.к. это более гайд или даже тутор, как сделать иньекцию библиотеке на ММ скрипте(Lua)
Если что, надеюсь тов. Dwar поместит тему куда нужно =) (Извеняюсь если всё же тема не та, но я играю только в рек, и писал скрипт под рек, теоретически он будет работать с любой другой програмой, практически тоже должен, но я не проверял )
Так вот начну я с амого простого, т.к. скрипт написан мной, прозьба соблюдать копирайт если выкладываете его куда либо ещё, если не выкладываете, то можно и без него
Вот мой Копирайт для данного скрипта:
-- **********************************
-- Dll Injector by TemTriss v0.1
-- visit http://macromonkey.com
-- visit http://progamercity.net
-- tnx to Sirmabus <3 MM
-- tnx to ADACH
-- tnx to Dwar
-- with <3 TemTriss
-- **********************************
если вы выкладываете готовый скрипт, куда либо прозьба что бы в нём присутствовали данные строчки =)
Далее если они не будут присутствовать, будет обидно что люди не ценят чужого труда, а так в принципе не очень страшно, хотя данный скрипт отнял у меня 5 минут моего времени, но мне кажется не каждый сможет его написать. Спасибо за внимание(За вынемание вашей головый из потока мыслей благодарить ещё рано Х) )
Начнём. =)
-- текст после "--" можно добавить в скрипт это коментарий игнорируемый интерпретатором
-- (что это вопрос к гугулу, я расчитываю данную статью на тех кто хоть примерно понимает
-- что это, но копи паст спасё тех кто не понимает)
-- обьявим функцию принтф которую будм использовать для вывода сообшений в консоль
-- Даная функция задаёт цвет нашему тексту и т.д. тут не чего сложного.
-- Тем кто гне понимает может тупо копировать как я и писал.
local function printfc(foreground, background, ...)
local szText = nil
local function wrapper(...)
console.SetColor(foreground, background)
io.write(string.format(...))
console.SetColor(console.WHITE, console.BLACK)
end
local status, err = pcall(wrapper, ...)
if not status then
error(err, 2)
end
end
-- Поехали дальше, тем кто скопировал, не чего не поняв копируем дальше =)
-- Обьявим функцию ерорбокс( Корбка ошибки) которая выдаст нам
-- Окошко с ошибкой и кодом ошибки, так же заимствовано с рек бюта
-- Мне было лень писать своё, но роли это не сыграет т.к. разница была бы
-- мизерная =)
local function ErrorBox(szError)
printfc(console.BRIGHTYELLOW, console.RED, "nn ====== Error ======n"..szError)
gui.MessageBox("Program loader Error!", szError, bit.bor(gui.MB_OK, gui.MB_ICONHAND))
os.exit(1)
end
-- далее обьявим перемнные ))
-- Первая строчка, копируем все.
-- Для тех кто не понимает о чём реч, без этого работать не будет
-- Для тех кто понимает хрен с вами Х))
local szVersion = "Dll Injector v0.1 by TemTriss"
-- Обьявляем путь до рабочей папки проги
-- в моём случае это рек =)
local szProgPath = "C:\GAMES\Gravity\Requiem\Requiem"
-- тут обьявляем сам обьект
-- у река рабочая папка та где лежит лаунчер и т.д.
-- а сам ехешник лежит в систем по этому такая ж... =)
local szProgName = szProgPath.."\system\Requiem.exe"
-- параметры запуска програмы(для амофа годятся)
-- можно опустить данную переменную оставив ковычки пустыми, без пробела!!!
local szProgParam = " 128.241.93.161 -FromLauncher 0/0 0 0 1 3 0"
-- 2 длл(Динамик линк либрари) короче библиотеки
-- можно добавть свои с уникальным именем переменной =)
local szFirstDll = "unShaders.dll"
local szSecDll = "msvcr100.dll"
-- выводим в консоль во избежании ошибок.
printfc(console.GREEN, console.WHITE, szVersion.."n")
printfc(console.BRIGHTGREEN, console.BLACK, "Program Path: "%s"n", szProgName)
printfc(console.BRIGHTGREEN, console.BLACK, "Program Parametrs: "%s"n", szProgParam)
-- Создаём процесс(запускаем) и иньектим библиотеку
local Handle = process.Create(szProgName, szProgParam, szProgPath, szFirstDll)
if not Handle then
ErrorBox("Failed to inject DLL!")
os.exit(1)
end
-- Вторую
if (process.InjectDLL(Handle, szSecDll) == false) then
ErrorBox("Failed to inject DLL!")
os.exit(1)
end
-- если хотим третью
-- if (process.InjectDLL(Handle, "ТутНазваниеПеременнойТре� �ейБиблиотеки") == false) then
-- ErrorBox("Failed to inject DLL!")
-- os.exit(1)
-- end
-- выводим сообшение что все команды завершены
-- И то что при нажатие любой кнопки консоль закроется =)
console.KeyPause( )
-- Так же вместо console.KeyPause( ) можно использовать:
-- print("nnnnSuccess")
-- time.Sleep(0.25)
-- Данная команда выдаст сообшении Success через 3 строчки.
-- и автоматически закроет консоль MM =)
Вот и весь скрипт удачных иньекций =)
Надеюсь у тех кто не понимает что тут написано всё получится =) ыыыы))
Если где ошибка отпишите, я как всегда не трезв =)))