Страница: 1 | 2 |
Вопрос: Несколько вопросов
Добавлено: 20.11.05 22:38
Автор вопроса: Sacred Phoenix | ICQ: 304238252
1. Как получить прямой доступ к диску (A:, например)?
2. Как получить значения ячеек памяти (ф-ции GetMem* не катят)?
3. Можно "обрисовать" контролы из MSCOMCTL.DLL под стиль WXP, а не из COMCTL32.DLL?
4. Если кто-нить пытался написать софтину на подобие Chameleon Clock, как расширить область Clock'а (знаю, что очень сложно, но можно. Может, у кого-нить есть список API ф-ции из DLL с Chameleon Clock'ом)?
5. Можно ли однозначно идентифицировать CD/DVD (типа заводской S/N)? Как примерно это делает StarForce?
P.S. Если кто спросит, нафига мне ответы на столько разных вопросов - для обучения и из-за востребованности (не раз такие вопросы возникали).
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #1
Добавлено: 20.11.05 23:01
половину вопросов, ИМХО, легче решить на С++, но это сайт про VB, => это будет немного труднее
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 21.11.05 12:16
1) что знач прямой? Низкоуровневый что-ли?
2) почему GetMem некатит?
3) юзай манифесты
4) было, где-то видел, щас найти немогу.. может позже..
5) нет, старый форс на низком уровне диск читает
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 21.11.05 14:48
5) а как получить этот уровень?
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 21.11.05 16:16
на ассемблере, должны быть примеры низкоуровневого чтения диска, каждый цылиндр, дорожку итп... единички с ноликами преобразовывая в данные итп...
Номер ответа: 5
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #5
Добавлено: 21.11.05 21:19
2 HACKER:
1) да, низкоуровневый
2) VB вылетает (лучше напиши, как ты ей пользуешься, а то экзамплы с сайта не катят)
3) манифесты под COMCTL32.OCX, контролы из MSCOMCTL32.OCX не разрисовываются
5) а новый? может у кого-нить есть dll-ка низкоуровневого чтения диска?
Номер ответа: 6
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #6
Добавлено: 21.11.05 21:36
+ 3 вопроса:
6) Как получить список и инфу о запущенных процессах (типа taskman'а в Win)? Особо интересуют адрес процесса и занимаемое место в памяти.
7) Можно ли записать в файл инфу из Waveout-буффера (т.е. воспроизводимый звук)?
8) Можно удалить файл/папку, не взирая на запреты ОС?
Номер ответа: 7
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #7
Добавлено: 21.11.05 21:38
2 Noviks: все вопросы imho решаются на VB (включая юзинг DLL, написанных на других языках)
Номер ответа: 8
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #8
Добавлено: 22.11.05 02:05
1. Через \\.\a: , подробнее на http://bib.com.ua/conf/topic_12_317.html
2. Функция ReadProcessMemory если виртуальная процесса, читать устройство \device\PhysicalMemory, если физическая
3. Нет, контролы mscomctl.dll рисуются в самой DLL без вызова системных библиотек UI.
4. Список функций, экспортируемых DLL, можно просмотреть, юзая программы типа exeScope.
5. StarForce опознает диск не по S/N, а по субканальным данным, т.е. параметрам скорости чтения и числа ошибок, делает он это на уровне драйвера. В журнале "Системный администратор" недавно печаталась статья о том, как именно это делается.
6. Поиск по форуму Process32First, Process32Next. Адреса виртуальной памяти в физической можно найти в структуре HAT (Hardware Address Translation). Кроме того стоит посмотреть NtQueryInformationProcess, GetProcessIoCounters, QueryInformationJobObject.
7. С помощью MCI или DirectX
8. Смотря какие запреты.
Номер ответа: 9
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #9
Добавлено: 22.11.05 10:50
2 Sharp:
2. Как прочесть ус-во \device\PhysicalMemory?
3. Т.е. для разрисовки контролов MSCOMCTL.OCX нужна MSCOMCTL.DLL?
4. Список ф-ций без их деклараций получаю, юзая PE Explorer. ExeScope показывает декларации ф-ций?
7. Если можешь, плиз, по-подробней (команды MCI и/или код DirectX)
8. "Данн(ый,ая) файл/папка используется друг(ой,им) программой/процессом. Закройте все программы/процессы, которые могут использовать данн(ый,ую) файл/папку."
Номер ответа: 10
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #10
Добавлено: 22.11.05 10:52
2 Sharp: ссылка битая
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 22.11.05 21:38
Короче большенство твоих вопросов не для VB.
4) Деларации можно найти в инете.
8) Видел где-то прогу, типа вируса что-то, затирает всё на C: и ей пофиг на винду, процессы итп... Работает она опять таки с винтом на низком уровне, затерая не весь файл а только его оглавление...
Номер ответа: 12
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #12
Добавлено: 22.11.05 22:34
1.; 5.; 8. Imho, низкоуровневый доступ к диску действительно на VB сложный...
4. А где искать-то? HACKER, ты знаешь где их можно найти?
6. Список процессов есть. Как получить адрес процесса в памяти и занимаемое тамже место?
7. Кто знает, что записывает DirectSoundCapture: in-канал, out-канал или может и первое, и второе?
Номер ответа: 13
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #13
Добавлено: 23.11.05 01:07
6. Адреса загрузки ехе в память и всех подгруженных процессом модулей и их размеры сидят в структуре MODULEENTRY32
Номер ответа: 14
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #14
Добавлено: 23.11.05 04:22
1) У меня открывалась, попробуй через кэш Яндекса или Гугла
2) CreateFile
3) афаик
4) Декларации можно найти в документации или исследованием дизассемблерированного кода (количество аргументов, иногда можно понять их смысл)
7) Ботай MSDN
8) Можно попробовать переименовать файл и удалить, если не получается, внедриться в адресное пространство процесса, который открыл файл и закрыть хендл файла.
Номер ответа: 15
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #15
Добавлено: 23.11.05 20:51
2 Sharp:
2) Часа 2 мучался, в т.ч. и на MSDN заходил - возвращает -1. Напиши код открытия, чтения и записи устройства, плиз!
3) "Афаик" - шо цэ такэ?
4) Документации нет, дизассемблер юзать не умею...
8) Его и переименовать нельзя, а удалить тем более! А искать процесс, открывший файл, imho, нудно.
В общем, пока пойду еще по Инету и MSDN полажу