Добрый день!
Есть ли какая возможность определить кто передал управление моей программе? Например, у меня есть загрузчик и я хочу определить, что его вызывает именно BIOS.
Возможно ли определить сколько приложений запущенно на х86 процессоре? Опять-таки из загрузчика смотреть не происходит ли эмуляция загрузки (VirtualPC).
Буду признателен за любую информацию.
> Есть ли какая возможность определить кто передал управление моей > программе? >
Разве что по адресу возврата в стеке и то не всегда он есть!!!
> Например, у меня есть загрузчик и я хочу определить, что его вызывает > именно BIOS. >
Загрузчик чего и где он находится? В 0-м секторе винта?
> Возможно ли определить сколько приложений запущенно на х86 процессоре? >
Для процессора нет такого понятия, он всего лишь выполняет одну команду за другой!!! Чтоб это сделать нужно написать свою мини-ось!!!
> Опять-таки из загрузчика смотреть не происходит ли эмуляция загрузки (VirtualPC). >
Не совсем понял, можно поподробней?
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Здравствуйте, Stanky, Вы писали:
S>Загрузчик чего и где он находится? В 0-м секторе винта?
Загрузчик моего образа операционной системы, находится он допустим в 0-м секторе винта (хотя носители могут быть разные (FDD, USB) или это принципиально?)
S>Для процессора нет такого понятия, он всего лишь выполняет одну команду за другой!!! Чтоб это сделать нужно написать свою мини-ось!!!
Так, а анализ режима работы процессора(реальный, защищенный) что-нибудь даст?
S>Не совсем понял, можно поподробней?
Просто под VMWare можно стартовать несколько операционок, из своего загрузчика хотелось бы понять работаю я один или нас тут много.
В общем когда мой загрузчик получит управление мне нужно определить, что управление мне передал BIOS и он единственный кто выполняется на этом процессоре, а так же есть ли попытка трассировки и отладки загрузчика другими программами. С последним более менее понятно, а вот с первым не очень...
> Загрузчик моего образа операционной системы, находится он допустим в > 0-м секторе винта (хотя носители могут быть разные (FDD, USB) или это > принципиально?) >
Нет, не принципиально!!!
> Так, а анализ режима работы процессора(реальный, защищенный) что-нибудь > даст? >
Всмысле? Что ты хочешь чтоб анализ тебе дал?
> Просто под VMWare можно стартовать несколько операционок, из своего > загрузчика хотелось бы понять работаю я один или нас тут много. >
Это уже зависит от того как работает VMWare — я с ним не сталкивался!!!
> В общем когда мой загрузчик получит управление мне нужно определить, > что управление мне передал BIOS и он единственный кто выполняется на > этом процессоре >
Ну если все ресурсы у тебя в полном распоряжении, то никто не помешает тебе быть единственным!!!
> а так же есть ли попытка трассировки и отладки загрузчика другими программами. >
Не совсем понимаю чего ты хочешь!!!
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Здравствуйте, Stanky, Вы писали:
S>Не совсем понимаю чего ты хочешь!!!
Я хочу определить идет ли загрузка с моего устройства (т.е. BIOS передает управление) или кто-то пытается с эмулировать процесс загрузки и пытается снять защиту. У меня программа лежит на винте зашифрованная и я хочу сделать зашиту от копирования.
2UT>Есть ли какая возможность определить кто передал управление моей программе? Например, у меня есть загрузчик и я хочу определить, что его вызывает именно BIOS. 2UT>Возможно ли определить сколько приложений запущенно на х86 процессоре? Опять-таки из загрузчика смотреть не происходит ли эмуляция загрузки (VirtualPC).
просто абстракно думаем:
если Ваша прогамма научится распознавать работает ли она на реальном железе или на виртуальном — то это баг виртуальной машины. Вся идея чтобы Ваша программа не смогла этого узнать — отсюда мне видится тупиковость честных методов (независящих от особенностей реализации каких-то конкретных VM) в этом направлении.
Хотя возможно стоит полазить по VMWare SDK & Sources например — они сами дергают некий приватный интерфейс для общения с хостом изнутри VM по надобности.. правда не уверен что это сработает на самой ранней стадии загрузки (я так понимаю речь идет о MBR code или около того)
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
> Я хочу определить идет ли загрузка с моего устройства (т.е. BIOS > передает управление) или кто-то пытается с эмулировать процесс загрузки > и пытается снять защиту. >
Как я уже сказал, с VMWare не сталкивался!!!
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Здравствуйте, 2UT, Вы писали:
2UT>Здравствуйте, Stanky, Вы писали:
S>>Не совсем понимаю чего ты хочешь!!! 2UT>Я хочу определить идет ли загрузка с моего устройства (т.е. BIOS передает управление) или кто-то пытается с эмулировать процесс загрузки и пытается снять защиту. У меня программа лежит на винте зашифрованная и я хочу сделать зашиту от копирования.
ну вообще-то идея сама по себе порочна. хранить что-то дорогое на жестком диске
с целью защиты от копирования — это как минимум не логично. с жёсткго диска
программу очень легко считать, потом полазить по нему хорошим дизассемблером
(слава богу x86 ассемблер знает огромная туча народа), потом взломать вашу
защиту и продать за огромные деньги =). Конечно, если оно действительно того
стоит. А если не стоит, то может и не стоит париться?
Кстати, если уж действительно хотите немного защитить свой код — смотрите в сторону
микроконтроллёров различных фирм (atmel, texas instruments) и микросхем памяти
flash с физической защитой от чтения...
Здравствуйте, tacit_one, Вы писали:
_>Кстати, если уж действительно хотите немного защитить свой код — смотрите в сторону _>микроконтроллёров различных фирм (atmel, texas instruments) и микросхем памяти _>flash с физической защитой от чтения...
Дык, как раз такой девайс и спаяли и прикрутили к нему USB Mass Storage. Вот хочу с него загрузиться и хоть как-то защитить свой код.
Что тут еще можно придумать, у кого какие идеи есть???
Здравствуйте, 2UT, Вы писали:
2UT>Дык, как раз такой девайс и спаяли и прикрутили к нему USB Mass Storage. Вот хочу с него загрузиться и хоть как-то защитить свой код. 2UT>Что тут еще можно придумать, у кого какие идеи есть???
Ну имхо с него грузиться точно не стоит, т.к. процесс загрузки PC очень хорошо известен, а это
сильно облегчит процесс реверсинга, имхо (если этим кто-то вообще будет заниматься).
Если не секрет каково рода девайс приблизительно ваяете? а то немного непонятна задача.
Здравствуйте, 2UT, Вы писали:
2UT>Дык, как раз такой девайс и спаяли и прикрутили к нему USB Mass Storage. Вот хочу с него загрузиться и хоть как-то защитить свой код. 2UT>Что тут еще можно придумать, у кого какие идеи есть???
Для VMWare (до пятерки точно) & VirtualPC есть способы обнаружения. Видел где-то в районе wasm.ru/forum/
Но это не значит, что не найдется другой ВМ.
+ Ожидается выход интересных ключей защиты, основанных на подобной технологии — можете воспользоваться услугами профессионалов
Здравствуйте, PVA, Вы писали:
PVA>Для VMWare (до пятерки точно) & VirtualPC есть способы обнаружения. Видел где-то в районе wasm.ru/forum/ PVA>Но это не значит, что не найдется другой ВМ.
Ну так на VMWare и VPC свет клином не сощёлся — если очень нужно можно банальным bocheм всё посмотреть.
PVA>+ Ожидается выход интересных ключей защиты, основанных на подобной технологии — можете воспользоваться услугами профессионалов
Взлом любой защиты вопрос только экономической целесообразности...
Здравствуйте, PVA, Вы писали:
PVA>+ Ожидается выход интересных ключей защиты, основанных на подобной технологии — можете воспользоваться услугами профессионалов
Интересно, а можно по подробней?
_>Ну так на VMWare и VPC свет клином не сощёлся — если очень нужно можно банальным bocheм всё посмотреть.
_>Взлом любой защиты вопрос только экономической целесообразности...
Когда речь заходит о чем-то действительно нужном и дорогои, то берется in-target probe (хрень, втыкаемая между процессором и материнкой), ею пишутся логи всех выполнявшихся инструкций (а можно и просто отлаживать) и наступает взломщику счастье. Одна проблема — стоят такие штуки от десяти штук баксов и софт там не самый удобный (soft-ice куда лучше).