Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.041 c
2-1184900752
vegarulez
2007-07-20 07:05
2007.08.19
Вопрос: Как привязать процедуру (click) к созданной кнопке?


2-1185538354
R.O.O.T
2007-07-27 16:12
2007.08.19
проблема перевода DOS-Win кодировки


1-1181179291
Igor_K_A
2007-06-07 05:21
2007.08.19
Обработка Bitmap двумя Thread


2-1185342922
gen
2007-07-25 09:55
2007.08.19
*.gif, *.jpeg


15-1184688693
Riply
2007-07-17 20:11
2007.08.19
Первая проба пера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский