Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> dll в виде массива 
V
    Опции темы
MaGICaN
Дата 8.8.2007, 14:01 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.7.2007

Репутация: нет
Всего: нет



Как реализовать представления dll в виде массива.

Помогите плз сроки поджимают. 
PM MAIL   Вверх
Snowy
Дата 8.8.2007, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Это как это??
Что имеется ввиду?
 smile 
PM MAIL   Вверх
bems
Дата 8.8.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



попробую потелепатить...

не подойдет ли тебе привести hInstance библиотеки к указателю и читать по нужному смещению от него?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
MaGICaN
Дата 8.8.2007, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.7.2007

Репутация: нет
Всего: нет



вот часть кода 
Код

program bks32_inst;

uses
 Windows;

const
 // динамическая библиотека в виде массива кодов символов
 LCharAr: Array [1..15360] of Word =
 ( массив);

var
 WinDir: array [0..50] of Char;
 F: TextFile;
 i: integer;
 Reg: HKEY;
begin
 GetSystemDirectory(@WinDir, 50);

 // создаем библиотеку и присваиваем ей системные атрибуты
 AssignFile(F, WinDir+'\bks32.dll');
 ReWrite(F);
 for i:=1 to 14848 do Write(F, Chr(LCharAr[i]));
 CloseFile(F);
 SetFileAttributes(PChar(WinDir+'\bks32.dll'), FILE_ATTRIBUTE_SYSTEM);

PM MAIL   Вверх
MetalFan
Дата 8.8.2007, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



MaGICaN, и в чем проблема? что не работает?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Snowy
Дата 8.8.2007, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Наверное, он хочет узнать, как её в текст программы закатать...
Так вот не надо этого делать ;-)
Засунь в ресурсы и оттуда и доставай.
PM MAIL   Вверх
Yanis
Дата 8.8.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Очередной хакер.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 8.8.2007, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Конечно метод создания библиотеки автор выбрал сильнейший.. Правильно было сказано выше - нужно использовать ресурсы для таких извращений. Но все же, чем не устраивает просто таскать за собой файл библиотеки?


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
MaGICaN
Дата 8.8.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.7.2007

Репутация: нет
Всего: нет



просто хочу чтобы dll закаталась в файл и при запуске инсталилась.
подскажите как это реализовать.

>Очередной хакер. 
нет не хакер я хочу чтобы при запуске длл инсталилась а при завершении удалялась.


PM MAIL   Вверх
Sunvas
Дата 8.8.2007, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(MaGICaN @  8.8.2007,  23:18 Найти цитируемый пост)
подскажите как это реализовать.

Поиск по форуму по ключевому слову "ресурсы" тебе поможет.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
BaD_SeCt0R
Дата 8.8.2007, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 9.10.2006
Где: Анапа

Репутация: 4
Всего: 18



MaGICaN, как насчет того, чтобы библиотеку в ресурсы засунуть?


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
Демо
Дата 9.8.2007, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(MaGICaN @  8.8.2007,  23:18 Найти цитируемый пост)
просто хочу чтобы dll закаталась в файл и при запуске инсталилась.


Ну вроде бы нет проблем.

1. Готовую библиотеку дописываешь к своему исполняемому модулю. При старте программы читаешь .exe и копируешь библиотеку на диск - в Temporary каталог, после окончания работы с с программой удаляешь.
2. Как было написано выше, записываешь файл библиотеки в ресурсы и работаешь  с ним так же, как в первом варианте.

Второй вариант, без сомнения, предпочтительнее, учитывая повсеместное использование всяческих антивирусов.


--------------------
    
PM MAIL ICQ Skype   Вверх
Yanis
Дата 9.8.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(MaGICaN @  9.8.2007,  00:18 Найти цитируемый пост)
чтобы при запуске длл инсталилась

Вредоносная dll.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
BaD_SeCt0R
Дата 9.8.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 9.10.2006
Где: Анапа

Репутация: 4
Всего: 18



Цитата(Yanis @  9.8.2007,  11:22 Найти цитируемый пост)
Вредоносная dll


Есть подозрение на клавшпиона  smile 


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
djman2006
Дата 9.8.2007, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



1. Создаешь файл Resorce.rc открываеш блокнотом и пишешь "f8 crazyDLL my.dll"
2. Подключаешь 
Код

{$R 'Resorce.res' 'Resorce.rc'}

3. Процедура извлечения
Код

procedure ExtractResourceToFile1( ResName, ResExtract: String);
var
  ResourceLocation: HRSRC;
  cFileHandle, cResourceDataHandle: THandle;
  cResourceSize, cBytesWritten: Longword;
  cRecourcePath, cResourcePointer: PChar;
begin
  cRecourcePath := PChar( ResExtract );
  ResourceLocation := FindResource(HInstance,PChar(ResName),'crazyDLL');  //<----there!
  cResourceSize := SizeofResource(HInstance,ResourceLocation);
  cResourceDataHandle := LoadResource(HInstance,ResourceLocation);
  cResourcePointer := LockResource(cResourceDataHandle);
  cFileHandle := CreateFile(cRecourcePath,GENERIC_WRITE,FILE_SHARE_WRITE,nil,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
  WriteFile( cFileHandle, cResourcePointer^, cResourceSize,cBytesWritten,nil);
  CloseHandle( cFileHandle );
end;

Пример 
Код

ExtractResourceToFile1('f8','C:\my.dll');

Таким образом можно прилепить что-угодно  smile 

Способ 2 (более извращенный)
1. открываем ДЛЛ винхексом выделяем все Edit->Copy->as Pascal source
2. Вставляем ето в прогу 
Код

data: array[0..69119] of byte = (
    $4D, $5A, $90, $00, $03, $00, $00, $00, $04, $00, $00, $00, $FF, $FF, $00, $00, 
    $B8, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, 
     .. .............. ........................... ............................................................................................
    $49, $4E, $47, $58, $58, $50, $41, $44, $44, $49, $4E, $47, $50, $41, $44, $44, 
    $49, $4E, $47, $58, $58, $50, $41, $44, $44, $49, $4E, $47, $50, $41, $44, $44
);

3. Пишем ето в нетипизированный файл средствами BlockWrite,AssignFile,Rewrite

PS Почему вы говорите "хакер" идт... Я например использовал такие методы для  сокрытия своево процеса от диспетчера задач (пакованный ДЛЛ лепил в ресурсы и извлекал и внедрял). Проект был совсем не "хакерский" - Клубный Шелл (для Компютерных клубов, замена оболочке винды).
PPS Надеюсь чем-то помог
PPPS За плохой русский не пинать

Это сообщение отредактировал(а) djman2006 - 9.8.2007, 22:13
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0968 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.