Сейчас на форуме: _MBK_, ut2004, vsv1 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› exe to cpl
Посл.ответ Сообщение

Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 марта 2007 10:26
· Личное сообщение · #1

Собственно возник вопрос по превращению любого ехе файла в файл панели управления *.cpl. при простом переиминовании ехешка отказывается работать. Некий человек под ником extHack предложил следущее:
"Привет, сижу я как-то, пишу программу, точно не помню, но помню, что юзал реестр. Искал новые способы автозагрузки, наткнулся я на CPL -файлы. Как всем известно, эти файлы используются в панели управления. Тогда я решил их осмотреть подробней. Достал я тестовый файл (access. cpl ), кстати, все основные CPL , находятся в System32.
Открыл его HEX-редактором, вроде бы не к чему придираться, сигнатура, как и у exe , все секции соблюдены, юзаются ресурсы. Тогда я сменил этому файлу расширение на EXE. Но он отказался работать! Типа не является приложением Win32. Решил я тут раскинуть мозгами, если это компонент панели управления, то мы не должны отрицать, что CPL может являться библиотекой.

Я сразу же, не теряя времени, открыл PE Tools. И действительно, я нашел некоторые различия. Теперь мы рассмотрим это на примерах. Мы возьмем обычный EXE-файл, и CPL-файл.


Характеристика обычного EXE файла:
- Relocation Stripped
- Executable Image
- Line numbers stripped
- Locale symbols stripped
- 32 bit machine expected

И в целом, текущее значение получается 010F.

Характеристика CPL-файла:
- Executable Image
- Line numbers stripped
- Locale symbols stripped
- 32 bit machine expected
- Dll

И в целом, текущее значение получается 210E. Почему-то в access.cpl тип приложение установлен как Window Console и в нем четыре секции (.text .data .rsrc .reloc).
Вот в принципе и вся статья, можете переделать приложение из EXE и CPL или наоборот. Это не составит особого труда…
extHack"

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




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 25 марта 2007 14:29
· Личное сообщение · #2

HALYAVA_ пишет:
Искал новые способы автозагрузки, наткнулся я на CPL -файлы.

HALYAVA_ если интересно про способы автозагрузки то почитай http://www.saitov.km.ru/publik/avto_zapusk_4.htm#az15 http://www.saitov.km.ru/publik/avto_zapusk_4.htm#az15 , или поищи в Google другие статьи.


HALYAVA_ пишет:
если это компонент панели управления, то мы не должны отрицать, что CPL может являться библиотекой

Так если посмотреть свойства access.cpl то там написанно - "Общая библиотека оболочки Windows"

HALYAVA_ пишет:
можете переделать приложение из EXE и CPL или наоборот

А потвоему можно *.EXE переделать в *.DLL

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 марта 2007 15:56
· Личное сообщение · #3

Ок. Вопрос в другом а вообще возможен ли запуск из под cpl файла какой либой exeшки?



Ранг: 68.8 (постоянный)
Активность: 0.120
Статус: Участник

Создано: 26 марта 2007 02:02
· Личное сообщение · #4

HALYAVA_ пишет:
Ок. Вопрос в другом а вообще возможен ли запуск из под cpl файла какой либой exeшки?


sysdm.cpl запускает mmc.exe - что тут прям такого невероятного, сам бы мог догадаться



Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 марта 2007 13:08
· Личное сообщение · #5

2bash Tnx!
А я вот пробую заинжектить свой код в любую cpl.
Ну вот к примеру timedate.cpl
Только пока безуспешно. Если кто может помочь пишите. Всегда буду рад сотрудничеству =-)



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 26 марта 2007 16:13
· Личное сообщение · #6

HALYAVA_ пишет:
Только пока безуспешно.

А ты не забыл про dllcache - сначала дубль надо оттуда вычистить, а иначе система мгновенно убьет твой инжект



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 26 марта 2007 17:07
· Личное сообщение · #7

Ну и позтифф : нашел Дельфийский проект для построения CPL - он существует со времен delphi5.
Взял демо из Дельфи 7 - все работает.

Ключ в двух строчках.
uses CtlPanel
exports CPlApplet;

Тексты, работающий CPL и текст самого CtlPanel(из 7-ки) прилагаю.


9254_26.03.2007_CRACKLAB.rU.tgz - Cpl.rar




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 26 марта 2007 18:52
· Личное сообщение · #8

bash пишет:
sysdm.cpl запускает mmc.exe - что тут прям такого невероятного, сам бы мог догадаться


Чтото немогу я найти в sysdm.cpl mmc.exe. (при поиске использовал Restorator,FlexHex)
Может подскажешь где в sysdm.cpl вызов mmc.exe.

-----
Что один человек сделал , другой всегда сломать может...





Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 26 марта 2007 20:28
· Личное сообщение · #9

Вот ,что я про CLP нашел.


1875_26.03.2007_CRACKLAB.rU.tgz - CPL.doc

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 68.8 (постоянный)
Активность: 0.120
Статус: Участник

Создано: 27 марта 2007 00:48
· Личное сообщение · #10

MACKLIA пишет:
Может подскажешь где в sysdm.cpl вызов mmc.exe

Хм... да я и сам не нашёл, так что извините за лажу. Я вызов и из rundll32.exe даже что-то не нашёл...
Отцы, просветите.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 27 марта 2007 12:23
· Личное сообщение · #11

bash пишет:
Я вызов и из rundll32.exe даже что-то не нашёл...

Просто mmc из другой оперы : она обрабатывает файлы с расширением msc - Файлы консоли управления. CPL обрабатывает control.exe Правда в ней порылся lusrmgr.msс
=================================
Забыл приложить CPL.PAS Там описаны все мессаджи.

73d5_27.03.2007_CRACKLAB.rU.tgz - Cpl.pas



Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 марта 2007 19:25
· Личное сообщение · #12

О! Как достаточно много инфы. Всем спасибо. Кстати а насчет sysdm.cpl так она действительно вызывает mmc.exe .....ведь mmc.exe это диспетчер устройств насколько я понял. =-))))
bash был прав сказав что она вызывает mmc.exe.
=-)



Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 марта 2007 19:27
· Личное сообщение · #13

Кхм поправлюсь точнее через sysdm.cpl можно вызывать mmc.exe



Ранг: 68.8 (постоянный)
Активность: 0.120
Статус: Участник

Создано: 27 марта 2007 21:47
· Личное сообщение · #14

HALYAVA_ пишет:
bash был прав сказав что она вызывает mmc.exe

Да тут прав скорее tundra37, чем я...
Апплеты (*.cpl) можно вызвать как через control.exe, так и из rundll32.exe с нужными параметрами.
Когда я запускаю просто sysdm.cpl, то в свойствах процесса я вижу с какими он параметрами был вызван:

"rundll32.exe" shell32.dll,Control_RunDLL "C:\WINDOWS\system32\sysdm.cpl",

А когда запускаю как "control.exe sysdm.cpl", то получаю такое:

"C:\WINDOWS\system32\rundll32.exe" Shell32.dll,Control_RunDLL sysdm.cpl

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

А файлы *.msc это действительно просто файлы с параметрами для mmc.exe
Но вопрос был в том HALYAVA_ пишет: вообще возможен ли запуск из под cpl файла какой либой exeшки . cpl-файлы называют апплетами, т.е. маленькими приложениями и то что через них можно запустить другие программы я не сомневаюсь.



Ранг: 68.8 (постоянный)
Активность: 0.120
Статус: Участник

Создано: 27 марта 2007 21:49 · Поправил: bash
· Личное сообщение · #15

HALYAVA_ пишет:
mmc.exe это диспетчер устройств насколько я понял. =-))))


Запусти mmc без параметров и ты обретёшь целый мир


 eXeL@B —› Вопросы новичков —› exe to cpl
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати