Форум: "Прочее";
Текущий архив: 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]> может и так.
Не, ну ты должен был сказать: «Это я то незнаю? А вот как…», а так не интересно…
---
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