Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
ВнизОбман программы Найти похожие ветки
← →
Ricks © (2007-07-17 19:50) [0]Можно ли так:
полазив ResourceHacker"ом в DFM ресурсе чужой программы заменяем напирмер btnOk:TButton на btnOk:TMyButton. После этого, открывая эту программу мы видим сообщение "Class TMyButton not found".
Так вот, можно ли как-то "внедриться" в чужую программу и зарегестрировать в ней свой класс.
Ожидая вопрос "А НАФИГА" – отвечаю - ПРОСТО ТАК! :)
← →
Anatoly Podgoretsky © (2007-07-17 19:54) [1]> Ricks (17.07.2007 19:50:00) [0]
А ты не лазь, плохо кончишь.
← →
Ricks © (2007-07-17 19:57) [2]Та ладно!
← →
Dib@zol © (2007-07-17 20:02) [3]Декомпилируем ресурсы, шурудим в них как следовает, а затем запихиваем обратно! Что мож быть проще?
← →
TUser © (2007-07-17 20:02) [4]DeDe попробуй, но лучше не надо. :)
← →
Ricks © (2007-07-17 20:03) [5]
> Dib@zol ©
И что?
> DeDe
что это?
← →
TUser © (2007-07-17 20:07) [6]В ресурсах код не хранится, там только dfm.
DeDe - это программа, которая умеет (якобы) из exe-файла получить Delphi- проект. Разумеется, там исходного кода не будет, только асм, но класс можно найти и заменить на свой. Если ты старательный. :)
← →
Dib@zol © (2007-07-17 20:11) [7]Запускаем чужой процесс, получаем его HINST, прописываем EnumResourceNames для типа RCDATA, если имя не DVLCALL и не PACKAGEINFO, то добавляем в какойнить список. Затем последовательно читаем ресурсы, имена к-рых в списке, находим в каждом некий тип (тот же TButton), и заменяем. Прописать всю эту хренотень в файл если не ошибаюсь можно с помощью UpdateResource. Что неясно?
← →
vpbar © (2007-07-17 20:16) [8]>>Ricks © (17.07.07 19:50)
Можно. Например,примерно так: выясняем как регистрируется класс. Добавляем секцию к проге. Делаем переход с OEP в нашу секцию в которой инициализируется класс и сожержится код методов.
Но это НЕ ТАК ПРОСТО
← →
vpbar © (2007-07-17 20:17) [9]>>Dib@zol © (17.07.07 20:11) [7]
А не тоже самое ли делает ResourceHacker? Следовательно см тему
← →
Dib@zol © (2007-07-17 20:18) [10]
> vpbar © (17.07.07 20:16) [8]
Да нафига? В ресурсах храницца ДФМ-форма, так? Если подменить какой угодно класс в ней на несуществующий, прога и так будет завалена, что видимо и требуется.
← →
Dib@zol © (2007-07-17 20:20) [11]
> vpbar © (17.07.07 20:17) [9]
> Так вот, можно ли как-то "внедриться" в чужую программу
> и зарегестрировать в ней свой класс.
Я так понимаю, что из самописной проги, а не из РесурсХакера.
← →
Dib@zol © (2007-07-17 20:23) [12]А ваще, занятная идея! Наглядно доказывает несостоятельность ВЦЛ! Щас может чё и напишу. Следим за веткой! =D
← →
vpbar © (2007-07-17 20:23) [13]полазив ResourceHacker"ом в DFM ресурсе чужой программы заменяем напирмер btnOk:TButton на btnOk:TMyButton. После этого, открывая эту программу мы видим сообщение "Class TMyButton not found".
Так вот, можно ли как-то "внедриться" в чужую программу и зарегестрировать в ней свой класс.
Просто поменяв или добавив имя класса в dfm ресурс его не зарегистрируешь, о чем и написал Ricks ©
← →
Dib@zol © (2007-07-17 20:25) [14]Удалено модератором
Примечание: Флудить завязываем
← →
oxffff © (2007-07-17 20:28) [15]
> Так вот, можно ли как-то "внедриться" в чужую программу
> и зарегестрировать в ней свой класс.
Все можно.
← →
Panel (2007-07-17 21:56) [16]Наглядно доказывает несостоятельность ВЦЛ!
Если тебе мозги вынуть и на их место вшить собачьи, ты, видимо, будешь продолжать функционировать так же, как и раньше. Возможно, даже лучше. Что наглядно доказывает твою состоятельность.
← →
Ricks © (2007-07-18 22:59) [17]
> Можно. Например,примерно так: выясняем как регистрируется
> класс. Добавляем секцию к проге. Делаем переход с OEP в
> нашу секцию в которой инициализируется класс и сожержится
> код методов.
> Но это НЕ ТАК ПРОСТО
Короче говоря, это надо в asm"е программы лазить, а так просто "внедриться" не получиться?
> Panel
Зачем же так грубо?
← →
oxffff © (2007-07-18 23:14) [18]
> а так просто "внедриться" не получиться?
Конечно нет. Тебе тут предлагают изменить точку входа, но не все так
просто, для начала нужно все дать отработать initExe из Sysinit.
Вообщем без знания некоторых тонкостей и достаточного знания ассемблера никак.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.053 c