Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ассемблерные вопросы:файлы и DLL

7
17 октября 2006 года
@pixo $oft
3.4K / / 20.09.2006
Быстрое усечение файла,создание DLL
7
17 октября 2006 года
@pixo $oft
3.4K / / 20.09.2006
Усечение файла
Имеется контейнер в виде ехешника,содержащия в конце себя оверлей(ещё один ехешник).Как быстро(не перемещая никуда оверлейный ехешник) запустить его?
DLL
Имеется АссЕблер ML+MAsm32(скачано с Piter.com\Download,файлы к книге "Assembler.Практикум.2-е издание" и "Assembler.Учебник.2-е издание".При компиляции DLL-ки у неё отсутствует экспорт(кстати,чтобы опаблишить функцию,требуется написать PublicDLL <имя функции>,а ассемБлятор говорит,что не знает PublicDLL;при написании Public <имя функции> он не матерится,но функция в экспорте не появляется),работает она только при её загрузке.Как её скомпилировать,чтобы экспорт был?
261
17 октября 2006 года
ahilles
1.5K / / 03.11.2005
для создания экспортов вроде надо использовать def файлы
или я не так понял вопрос
334
17 октября 2006 года
HexEdit
809 / / 27.07.2006
[QUOTE=@pixo $oft]
Имеется контейнер в виде ехешника,содержащия в конце себя оверлей(ещё один ехешник).Как быстро(не перемещая никуда оверлейный ехешник) запустить его?
[/QUOTE]
Насколько я понимаю, сделать это не получится.
1. Для того, чтобы иметь возможность выполнять программу, нужно загрузить образ в память.
2. Чтобы это работало надо либо загрузить в адресное пространство с адреса 0x00400000 (ну или какая там база указана в екзешнике) либо загрузить в адресное пространство твоего процесса и редактировать адреса по таблице перемещения.........
3
18 октября 2006 года
Green
4.8K / / 20.01.2000
[QUOTE=HexEdit]Насколько я понимаю, сделать это не получится.
[/QUOTE]
Легко сделать на получится, но получится.

[QUOTE=HexEdit]
2. Чтобы это работало надо либо загрузить в адресное пространство с адреса 0x00400000 (ну или какая там база указана в екзешнике) либо загрузить в адресное пространство твоего процесса и редактировать адреса по таблице перемещения.........[/QUOTE]
Обычно экзешники неперемещаемы.
7
18 октября 2006 года
@pixo $oft
3.4K / / 20.09.2006
а нельзя ли просто изменить размер файла или создать новый,установив указатель начала файла на начало оверлея(правда,получится,что файлы будут иметь общую область,а такеи фокусы FAT/NTFS вряд ли выдержит).То есть мой ехешник с оверлеем похудеет(в глазах Explorder'а,Total Цommander'а и др. броузеров),а оверлей станет новым файлом
3
18 октября 2006 года
Green
4.8K / / 20.01.2000
нифига не понял...
для чего тогда тебе вообще первый EXE?
запускай сразу оверлей, который оверлеем уже не будет.
7
18 октября 2006 года
@pixo $oft
3.4K / / 20.09.2006
Не,ты не понял.Есть файл(основной).При его запуске надо быстро запустить оверлей.Просто сохранять этот файл би запускать его потом будет долго,поэтому хотелось бы сделать это быстро,например просто урезав гл. ехешник и представив оверлей другим файлом
261
18 октября 2006 года
ahilles
1.5K / / 03.11.2005
не пойму зачем нужен этот оверлей
что его запустить просто jmp и всё
или может я что то не так понял
349
18 октября 2006 года
Phantom-84
656 / / 27.10.2005
Немного смахивает на вирусописание :)
261
19 октября 2006 года
ahilles
1.5K / / 03.11.2005
если сразу сказать зачем это надо то проблема намного быстрей решается
13K
20 октября 2006 года
ant-str
36 / / 01.04.2006
[QUOTE=@pixo $oft]Усечение файла
Имеется контейнер в виде ехешника,содержащия в конце себя оверлей(ещё один ехешник).Как быстро(не перемещая никуда оверлейный ехешник) запустить его?
[/QUOTE]
Срезай первый экзешник (пиши прогу):
1. Открыть файл.
2. Прочитать в буфер часть файла, содержащего второй экзешник.
3. Закрыть файл.
4. Создать новый файл.
5. Записать буфер в новый файл.
6. Закрыть файл.

Запускай новый файл.
7
28 октября 2006 года
@pixo $oft
3.4K / / 20.09.2006
[QUOTE=ant-str]2. Прочитать в буфер часть файла, содержащего второй экзешник.
3. Закрыть файл.
4. Создать новый файл.
5. Записать буфер в новый файл.
[/QUOTE]
А если второй ехе-шник офигеть большой?Да и память не резиновая.Хотя,конечно,можно вставить ограничение на размер поедаемых файлов,но это будет уже не по хацкерски
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог