Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Вниз

Как обломать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.61 MB
Время: 0.048 c
15-1203233243
smartleds
2008-02-17 10:27
2008.03.30
Народ , может кто помнит как в Делфи в степень возвести.


15-1203023268
Petr V. Abramov
2008-02-15 00:07
2008.03.30
как получить авто (или бытовой) кредит


15-1203061536
DVM
2008-02-15 10:45
2008.03.30
Какой Linux мне поставить?


2-1204457589
<code>
2008-03-02 14:33
2008.03.30
Подскажите как рисовать на форме без мерцания?


2-1204322758
ajsek
2008-03-01 01:05
2008.03.30
webbrowser открывался на новых вкладках





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский