Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.30;
Скачать: CL | DM;

Вниз

Как обломать wine?   Найти похожие ветки 

 
Real ©   (2008-02-12 17:24) [0]

Есть такая задача - в своей программе сделать так, чтобы ее невозможно было запустить под wine. То есть как можно достоверно определить платформу (если это возможно) и скажем в этом месте вызвать halt :) Или обратится к какой либо экзотической функции, которая не реализована в wine, но точно есть в винде, чтобы по ее результату определить где мы и если в линухе, то завершиться? Может кто сталкивался или что посоветует? :)

P.S. Убедительная просьба приверженцев линукс не считать эту задачу какой-то дискриминацией или чем-либо подобным и соответственно не флудить на эту тему :)


 
ketmar ©   (2008-02-12 17:30) [1]

я, конечно, знаю, но не скажу.

но и флудить не буду, уговорил. %-)

---
Understanding is not required. Only obedience.


 
Джо ©   (2008-02-12 17:32) [2]

Посмотреть состояние дел в самом распоследнем дистре Вайна, найти функции Win32, которые он не знает и вызвать при старте программы :)


 
ketmar ©   (2008-02-12 17:34) [3]

>[2] Джо © (2008-02-12 17:32:00)
проще.

---
Understanding is not required. Only obedience.


 
Real ©   (2008-02-12 17:44) [4]


> проще.

Ну колись, плиз! :)


 
ketmar ©   (2008-02-12 17:45) [5]

>[4] Real © (2008-02-12 17:44:00)
вот ты меня сам на флуд провоцируешь.

---
Understanding is not required. Only obedience.


 
Real ©   (2008-02-12 17:50) [6]


> ketmar

Зачем флуд? Скажи по существу ;)


 
Джо ©   (2008-02-12 17:53) [7]

> [6] Real ©   (12.02.08 17:50)
> Зачем флуд? Скажи по существу ;)

По существу — глупость это...


 
tesseract ©   (2008-02-12 18:00) [8]

ага, особенно если не знаешь где искать. Тут статус, что поддерживаеться :

http://winehq.org/site/winapi_stats, CriptoAPI стопроцентно не пашет.


 
TUser ©   (2008-02-12 18:02) [9]


> ketmar ©   (12.02.08 17:34) [3]
> >[2] Джо © (2008-02-12 17:32:00)
> проще.

Анализировать ParamStr (-1) ?


 
clickmaker ©   (2008-02-12 18:02) [10]


> Или обратится к какой либо экзотической функции

GetSystemDEPPolicy
Client Requires Windows Vista SP1.
Server Requires Windows Server 2008.
DLL Requires Kernel32.dll.

или оно уже пробралось в wine?


 
ketmar ©   (2008-02-12 18:36) [11]

ещё проще.

---
Understanding is not required. Only obedience.


 
Kolan ©   (2008-02-12 18:38) [12]

Да ты сам не знаешь.

---
Я начальник — ты дурак


 
ketmar ©   (2008-02-12 18:41) [13]

>[12] Kolan © (2008-02-12 18:38:00)
может и так.

---
Understanding is not required. Only obedience.


 
Real ©   (2008-02-12 18:43) [14]

Ну ketmar прям заинтриговал... В чем же дьяволский секрет вайн, что можно (по словам кетмара) прям сходу понять что мы в эмуляторе? Он что версию винды возвращает в виде "must die"? :)


 
Palladin ©   (2008-02-12 18:45) [15]

интересно, а что getversion скажет...


 
boa_kaa ©   (2008-02-12 18:46) [16]


> ketmar ©   (12.02.08 17:30) [1]
>
> я, конечно, знаю, но не скажу.
>
> но и флудить не буду, уговорил. %-)
>

и тем самым развел флуд... :)


 
clickmaker ©   (2008-02-12 18:47) [17]


> что getversion скажет...

или GetWindowsDirectory...


 
Kolan ©   (2008-02-12 18:49) [18]

> может и так.

Не, ну ты должен был сказать: «Это я то незнаю? А вот как&#133», а так не интересно&#133

---
100 плачут 1 смеётся.


 
ketmar ©   (2008-02-12 18:57) [19]

>[14] Real © (2008-02-12 18:43:00)
эх… ветки у него свои в реестре завсегда есть. %-)


>[18] Kolan © (2008-02-12 18:49:00)
лень. %-)

---
Understanding is not required. Only obedience.


 
vrem_   (2008-02-12 19:37) [20]

нужно взять себя в руки и идти в милиционеры, всеравно придётся - призвание. :)


 
Real ©   (2008-02-12 19:41) [21]


> эх… ветки у него свои в реестре завсегда есть

У кого? У вайна? Реестр? В линуксе есть реестр? :))))


 
Черный Шаман   (2008-02-12 20:16) [22]


> Real ©   (12.02.08 17:24)


А мне вот другое интересно, а с чем  связана эта задача. Просто в голову ничего не приходит.


> Real ©   (12.02.08 19:41) [21]
>
>
> > эх… ветки у него свои в реестре завсегда есть
>
> У кого? У вайна? Реестр? В линуксе есть реестр?


Да, у вайна есть эмулируемый реестр, иначе как бы большинство программ работало?


 
antonn ©   (2008-02-12 20:41) [23]


> Или обратится к какой либо экзотической функции, которая
> не реализована в wine, но точно есть в винде, чтобы по ее
> результату определить где мы и если в линухе, то завершиться?
>  Может кто сталкивался или что посоветует? :)

UpdatelayeredWindow() %)


 
antonn ©   (2008-02-12 20:42) [24]

[23] правда на ОС ниже Win2k она тоже все порушит :)


 
Simpson   (2008-02-12 21:55) [25]

А в Wine можно выполнить команды Линуха?
Если можно выполняеш команду получил исключение Windows, не получил вот он Wine.


 
Местный   (2008-02-12 22:25) [26]

Удалено модератором


 
@!!ex ©   (2008-02-12 23:35) [27]

> UpdatelayeredWindow() %)

вроде в последних версиях есть?


 
@!!ex ©   (2008-02-12 23:36) [28]

Автор, а зачем тебе это?


 
antonn ©   (2008-02-12 23:36) [29]

у кетмара нету, этого достаточно %)


 
Petr V. Abramov ©   (2008-02-13 00:27) [30]

вендекапец настал реальный, надо винду добить на своей территории, чтоб запаху не было.
А у кого чето-то там под freebsd не пропатчено - чтоб обжегся об клаву. а лучше об проц и прыгнул об стену с северного моста.


 
Anatoly Podgoretsky ©   (2008-02-13 00:33) [31]

> Petr V. Abramov  (13.02.2008 00:27:30)  [30]

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


 
Германн ©   (2008-02-13 01:04) [32]


> Anatoly Podgoretsky ©   (13.02.08 00:33) [31]
>
> > Petr V. Abramov  (13.02.2008 00:27:30)  [30]
>
> А я завтра начну последний Линукс добивать, обещают что
> завтра придет мой новый сервер.
>

Ага. Значит пора последовать clickmaker ©   (07.02.08 18:11) [100] из http://delphimaster.net/view/15-1202350486/


 
miek   (2008-02-13 10:19) [33]

Большинство, если не 100%, способов нагадить вайну сделают прогу менее совместимой и под виндой (под прошлыми/будущими/серверными версиями, под ограниченным аккаунтом, под FAT etc). Опять же нет гарантии, что в будущих версиях вайна не реализут то, что ты наивно заюзал.


 
Rouse_ ©   (2008-02-13 11:17) [34]

function IsWine: Boolean;
var
 hLib: THandle;
begin
 Result := False;
 hLib := GetModuleHandleA("ntdll.dll");
 if hLib > HINSTANCE_ERROR then
   Result := Assigned(GetProcAddress(hLib, "wine_server_call"));
end;


как-то так...


 
Пробегал...   (2008-02-13 11:28) [35]

Удалено модератором
Примечание: Какой смысл тебе ходить на форум


 
ketmar ©   (2008-02-13 17:30) [36]

блин, я же сказал — в реестр глянуть. если автор ветки не хочет поставить *nix и wine, чтобы выяснить дальше — консультация стоит 400 EUR.

---
Understanding is not required. Only obedience.


 
Rouse_ ©   (2008-02-13 17:32) [37]

Ветка реестра может быть:
а: не доступна из-за отсутствия прав
б: созданна в рамках реестра обычного Windows :)


 
Игорь Шевченко ©   (2008-02-13 17:37) [38]


> а: не доступна из-за отсутствия прав


HKCU доступен


> б: созданна в рамках реестра обычного Windows :)


ССЗБ


 
Rouse_ ©   (2008-02-13 17:40) [39]


> HKCU доступен

Ну кетмарыч не сказал про какой именно раздел он кажет :) Мошт HKLM? :)

> ССЗБ

Ась? :)


 
matt ©   (2008-02-13 17:45) [40]


>
> > ССЗБ
>
> Ась? :)
>


сам себе злобный буратино )))))


 
Rouse_ ©   (2008-02-13 17:51) [41]


> matt ©   (13.02.08 17:45) [40]

Снк. Уже нашел :)))))))))))))


 
ketmar ©   (2008-02-13 17:53) [42]

>[39] Rouse_ © (2008-02-13 17:40:00)
я цену назвал.

---
Understanding is not required. Only obedience.


 
Real ©   (2008-02-13 18:26) [43]


> Да, у вайна есть эмулируемый реестр, иначе как бы большинство
> программ работало?

Мдя, это приведет только к перефразировке вопроса "как отличить реестр с которым мы работаем: эмулируемый или настоящий?" :)

Вопрос "а нафиг это надо?" - видимо самый популярный в этой ветке :) По сути, меня интересует вопрос: "как понять в программе, в реальной ли мы винде или под вайном?"  Наверное, если бы так стоял вопрос, то было бы меньше флуда :) Я его сформулировал так сказать в популярной форме :))) У меня нет задачи "гадить" вайну или боротся против линукса (он и так умирает, зачем же бить раненых).


 
Palladin ©   (2008-02-13 18:29) [44]

та я думаю самое простое поискать какой нибудь из файлов

boot.ini
Bootfont.bin
IO.SYS
MSDOS.SYS
NTDETECT.COM
ntldr
pagefile.sys

на c: диске :)


 
ketmar ©   (2008-02-13 18:30) [45]

>[43] Real © (2008-02-13 18:26:00)
ты вместо несения бреда про «мёртвый линукс» насобирал бы лучше денег. и я тебе проблему за 10 минут решу.

---
Understanding is not required. Only obedience.


 
ketmar ©   (2008-02-13 18:30) [46]

>[44] Palladin © (2008-02-13 18:29:00)
прикинь — а есть. абыдна, да?

---
Understanding is not required. Only obedience.


 
ketmar ©   (2008-02-13 18:31) [47]

>[44] Palladin © (2008-02-13 18:29:00)
а pagefile.sys у меня НИКОГДА на c: не было. у меня win2k являлась вайном? %-)

---
Understanding is not required. Only obedience.


 
Palladin ©   (2008-02-13 18:32) [48]

ну про pagefile.sys это ясно понятно я пошутил :)


> прикинь — а есть. абыдна, да?

абыдна... сча еще ченить попробую придумать...


 
Palladin ©   (2008-02-13 18:33) [49]

о... а subst работать будет?


 
Palladin ©   (2008-02-13 18:33) [50]

хотя не вариант... win9хэ идут лесом... там его нет...


 
Dmitry S ©   (2008-02-13 18:34) [51]

Полюбому в wine есть библиотеки которые позволяют его обнаружить и даже взаимодействовать с этим самым вайном. А если есть библиотеки, то можно из них и выдрать принципы:)


 
ketmar ©   (2008-02-13 18:37) [52]

>[49] Palladin © (2008-02-13 18:33:00)
лень проверять, но не вижу, отчего бы ему не работать. всё равно и так все пути виртуальные, внутри вайна отображаются на реальную FS. %-)

---
Understanding is not required. Only obedience.


 
Dmitry S ©   (2008-02-13 18:40) [53]

А шел под вайном какой?


 
ketmar ©   (2008-02-13 18:43) [54]

>[53] Dmitry S © (2008-02-13 18:40:00)
такой же, какой и без него.

---
Understanding is not required. Only obedience.


 
Пробегал...   (2008-02-13 18:44) [55]

Palladin ©   (13.02.08 18:33) [50]
хотя не вариант... win9хэ идут лесом... там его нет...


ты хочешь сказать, что subst"а нету в win9x? По-моему, он даже в DOS есть.


 
Rouse_ ©   (2008-02-13 18:49) [56]

Зачем что-то искать :) Я ж показал функцию которая вайн детектит :)


 
ketmar ©   (2008-02-13 19:00) [57]

>[56] Rouse_ © (2008-02-13 18:49:00)
т-с-с. быстро удали. баблом поделюсь.

---
Understanding is not required. Only obedience.


 
Palladin ©   (2008-02-13 19:04) [58]

какой нафих winnt.dll в win9x ? :)


 
ketmar ©   (2008-02-13 19:10) [59]

>[58] Palladin © (2008-02-13 19:04:00)
понятно, что ты опечатался, но не суть. %-) значит 9x — это и не винда, и не вайн. %-)

---
Understanding is not required. Only obedience.


 
Real ©   (2008-02-13 20:11) [60]


> ты вместо несения бреда про «мёртвый линукс»

Я не говорил что он мертвый, я сказал что он умирающий (причем с момента его появления :)

Спасибо всем за советы, буду тестить с использованием нескольких методов детекта, где нибудь да сработает.


 
Пробегал...   (2008-02-13 21:10) [61]

Palladin ©   (13.02.08 19:04) [58]
какой нафих winnt.dll в win9x ? :)


а какое нафиг отсутствие winnt.dll в wine? ;)
Rouse хороший пример привел ;)


 
Пробегал...   (2008-02-13 21:12) [62]

очевидно, что код розыча isWine вернет False, если он запущен на win9x. А поскольку win9x это и не wine - то все верно ;)


 
ketmar ©   (2008-02-14 14:25) [63]

>[60] Real © (2008-02-13 20:11:00)
расслабься. Розыч тебе рабочий код дал. на 100%. я не поленился, перевёл эту огромную программу на C и протестил — да, поймало вайн.

хотя я таки проверял ветки реестра. %-)

---
Understanding is not required. Only obedience.


 
homm ©   (2008-02-15 07:43) [64]

> [21] Real ©   (12.02.08 19:41)
> У кого? У вайна? Реестр? В линуксе есть реестр? :))))

Да у Вас, батенька, жар.


 
homm ©   (2008-02-15 07:50) [65]

> [44] Palladin ©   (13.02.08 18:29)
> на c: диске :)

А ежеле на д: ?


 
@!!ex ©   (2008-02-15 07:55) [66]

> А ежеле на д: ?

То это точно не вайн. :)



Страницы: 1 2 вся ветка

Текущий архив: 2008.03.30;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.036 c
2-1204112380
webpauk
2008-02-27 14:39
2008.03.30
определение констант


15-1202491427
KilkennyCat
2008-02-08 20:23
2008.03.30
Свершилось!


15-1203020423
KilkennyCat
2008-02-14 23:20
2008.03.30
Требуется специалист в самую лучшую компанию в мире.


2-1204633442
s_t_d
2008-03-04 15:24
2008.03.30
Как получить значение свойства Count рабочей книги Excel ?


4-1185779660
Максимм
2007-07-30 11:14
2008.03.30
Мониторинг сетевых принтеров.