Сейчас на форуме: (+7 невидимых) |
![]() |
eXeL@B —› Протекторы —› Вопрос по WinLicense |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 23 мая 2009 19:58 · Поправил: ToBad · Личное сообщение · #1 Играюсь с уже второй по счёту версией, скачал с их сайта утилитку GetHardwareID. В общем если в двух словах, то генерируется нормальный ключевой файл только если в опциях hardware lock не использовать привязку к HDD Serial. Проверял на нескольких компах. Если опция стоит, защищённый модуль после генерации ключевого файла выдаёт мессадж что мой хвид другой. В чём может быть дело? Может кто-то сталкивался с этим? ![]() |
|
Создано: 23 мая 2009 21:46 · Поправил: Модератор · Личное сообщение · #2 |
|
Создано: 23 мая 2009 23:28 · Поправил: ToBad · Личное сообщение · #3 Ну я в саппорт написать постыжусь, так как имел честь скачать сабж с рапиды. А спросить решил по тому, что вдруг не понимаю очивидного. Получается, что если использовать hdd serial lock то утилита и сама защита на программе генерирует разный хвид. Вы модератор, подпись можете убрать если смущает, к тому же меня всё равно туда не приняли.... ![]() |
|
Создано: 24 мая 2009 01:26 · Личное сообщение · #4 ToBad пишет: Ну я в саппорт написать постыжусь, так как имел честь скачать сабж с рапиды. В чем проблема купить? Саппорт отвечает быстро и оперативно. И главное не шаблонными ответами а реально решает поставленные задачи. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! ![]() |
|
Создано: 24 мая 2009 08:27 · Личное сообщение · #5 Сдаётся мне просто, что это их бажина, в этом случае не совсем понятно, что должны сказать на этом форуме. Даже если лицензии нет, в саппорте должны хотя бы сказать, баг это или что, если не совсем неадекваты, вроде ильфака. З.Ы. Возможности модератора ограничиваются модерацией постов и топиков, они не могут править подписи, читать лички или летать аки нео. ![]() |
|
Создано: 24 мая 2009 10:57 · Личное сообщение · #6 |
|
Создано: 24 мая 2009 11:59 · Поправил: ToBad · Личное сообщение · #7 GPcH пишет: В чем проблема купить? Я же в первом посте написал, что просто ради интереса смотрю. Покупать смысла нет, так как некуда применить. Увидел нестыковку и решил спросить. Archer пишет: Сдаётся мне просто, что это их бажина, в этом случае не совсем понятно, что должны сказать на этом форуме. Во, вот это и был бы ответ на мой вопрос который готов услышать на этом форуме. Меня именно интересовало это их бажина или у меня кривые руки. Если кто-то заметил подобное у себя - скажите, буду знать, что у всех так-же и вопрос исчерпан. Знаю, что есть люди которые пользуют этот софт. Archer пишет: Возможности модератора ограничиваются модерацией постов и топиков, они не могут править подписи, читать лички или летать аки нео. Буду знать. Но Вы можете написать в личку и я уберу. ![]() |
|
Создано: 24 мая 2009 13:41 · Личное сообщение · #8 ToBad пишет: Я же в первом посте написал, что просто ради интереса смотрю. Ну пришли мне проект на мыло (админ@vb-decompiler.org) - протестирую у себя на последней версии WL. Bronco пишет: Сам купил и ещё троих приведи... Хороший продукт обычно так и покупают. Сначала купит один, потом приведет другого, другой третьего и т.д. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! ![]() |
|
Создано: 25 мая 2009 15:56 · Личное сообщение · #9 |
|
Создано: 22 декабря 2009 08:30 · Личное сообщение · #10 |
|
Создано: 22 декабря 2009 10:25 · Поправил: Maximus · Личное сообщение · #11 |
|
Создано: 22 декабря 2009 12:37 · Личное сообщение · #12 Maximus Что-то все-таки есть. Пытаюсь инлайнить, патчу CRC по второму способу PE_Kill'а, ты должен помнить. С той программой, что он приводил в пример, все нормально получается. С этой не выходит. В отладчике вижу, что CRC получаю нормальную (такую же, как и до патча), значит дело, по-идее, не в этом. Пробовал просто поменять имя секции (как в статье) или изменить несущественный байт и поправить CRC - палится. Вроде нарыл место, где замапленный файл считывается повторно уже самим протом и происходит что-то типа подсчета суммы. А вот где происходит сравнение и счем, никак не прорвусь. Не поделишься этими четырьмя способами? ![]() |
|
Создано: 22 декабря 2009 13:57 · Поправил: Maximus · Личное сообщение · #13 SVLab там еще есть мемори срц чек. Запускается отдельным тредом, от этого можешь плясать. Выложи саму прогу, посмотрим... Про патчи без анпака и изменения проги.. 1. Лоадер (банально) 2. Подложить в папку с прогой dll одноименную с какой нить системной (естественно что эта dll должна работать как прокладка между программой и настоящей dll) 3. Подложить файл название_проги.manifest и в манифесте указать нужную dll для загрузки, которая будет патчить. 4. Использовать ветку реестра SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Debugger (самое изящное решение, попалить невозможно вообще, пример alexforum.ws/showpost.php?p=58318&postcount=85 ) ----- StarForce и Themida ацтой! ![]() |
|
Создано: 22 декабря 2009 15:04 · Личное сообщение · #14 Maximus Спасибо за способы. Первый не интересен, над вторым и третьим поразмыслим, четвертый пока посмотреть не могу, сообщение скрыто, но посмотрим. ![]() По поводу моей проги. В ней все-таки повторная проверка замапленного файла. До разрабов видно наконец дошло, что про CheckSumMappedFile уже все знают, и они добавили свой подсчет CRC. Вобщем, пофиксить это дело тоже очень просто - по завершении вычисления поправить получившееся значение на нужное, просто после долгого копания мозги немного засираются и не замечаешь порой очевидных вещей. Файл положил здесь http://www.sendspace.com/file/45uosq , сама программа - отстой, просто как пример двойной проверки CRC, если кому интересно. Немного подделал утилю PE_Kill'а из статьи http://exelab.ru/rar/dl/CRACKLAB.rU_82.rar для подсчета дельты CRC, что бы не перекомпилить ее каждый раз на новый файл: ![]() ![]() |
|
Создано: 23 декабря 2009 09:34 · Личное сообщение · #15 |
|
Создано: 23 декабря 2009 10:19 · Поправил: Maximus · Личное сообщение · #16 |
|
Создано: 23 декабря 2009 11:32 · Поправил: DMD · Личное сообщение · #17 Maximus потому что в общем случае все зависит от набора используемых в target'е системных api и в каких длл они "живут" в разных ОС да, согласен, можно "руками" написать "прокладку" под сис.длл с min экспортом, если хватит терпения и усидчивости. и при условии что target не занимается самостоятельно GetProcAddress в противном случае и что бы не заниматься выискиванием Min импорта, и Max автоматизировать парсинг экспорта длл и создания заготовок переходников для написания "прокладки", целесообразно пользоваться результатами dumpbin.exe /exports. те. "прокладка" в_полный_рост в этом случае совместимость как раз и будет отсутствовать в любом случае - простор для творчества имеет место быть! (как пример, частично) W2K__kernel32.dll 1 0 0001B65B AddAtomA 2 1 0000DF58 AddAtomW 3 2 0004639D AddConsoleAliasA 4 3 00046366 AddConsoleAliasW . 823 336 0000FA6D lstrcpynA 824 337 0000BE4E lstrcpynW 825 338 00015D89 lstrlen 826 339 00015D89 lstrlenA 827 33A 0000D20C lstrlenW XP__kernel32.dll 1 0 0000A6E4 ActivateActCtx 2 1 0003551D AddAtomA 3 2 000326F1 AddAtomW 4 3 00071DFF AddConsoleAliasA 5 4 00071DC1 AddConsoleAliasW . 950 3B5 000101B1 lstrcpynA 951 3B6 0000BA8F lstrcpynW 952 3B7 0000BE56 lstrlen 953 3B8 0000BE56 lstrlenA 954 3B9 00009AA9 lstrlenW ps/ метод действительно неплох - под последние аспирины просачиваться тоже "то самое" ![]() |
|
Создано: 06 января 2010 03:44 · Личное сообщение · #18 Возник еще вопросик. Программа не запускается под виртуальными машинами (VmWare, Virtual PC), пишет "Sorry, this application cannot run under a Virtual Machine". На oreans инфы о таком ограничении не нашел, предыдущая версия программы, накрытая ASProtect'ом, нормально работала под виртуалками. Есть ли такое ограничение у WL? И, вообще, каким образом это может проверяться? ![]() |
|
Создано: 06 января 2010 04:25 · Поправил: _ruzmaz_ · Личное сообщение · #19 SVLab пишет: И, вообще, каким образом это может проверяться? VMWare например так http://exelab.ru/f/action=vthread&topic=14863&forum=13&pag e=0#25 (пост #25) Virtual PC наверно можно так http://www.exelab.ru/f/action=vthread&forum=7&topic=13414 // тьфу ...там VirtualBox )) ...сорри ![]() |
|
Создано: 06 января 2010 07:28 · Личное сообщение · #20 |
|
Создано: 06 января 2010 09:28 · Личное сообщение · #21 |
|
Создано: 06 января 2010 12:38 · Поправил: Модератор · Личное сообщение · #22 для vmware в конфиг пишим (*.vmx): Code:
----- [nice coder and reverser] ![]() |
|
Создано: 06 января 2010 15:34 · Личное сообщение · #23 Nightshade, Hellspawn, спасибо, возьмем на вооружение. С другой стороны, не будешь ведь к каждому патчу еще и иструкцию по настройке виртуальной машины прикладывать. Надо фиксить WL. Собственно, все нашлось, но что-то я не врублюсь в этот код: Code:
Как здесь завязан EBX? IN ведь читает в EAX. ![]() |
|
Создано: 06 января 2010 15:40 · Личное сообщение · #24 |
|
Создано: 06 января 2010 15:48 · Личное сообщение · #25 |
|
Создано: 06 января 2010 16:46 · Личное сообщение · #26 |
|
Создано: 06 января 2010 17:40 · Личное сообщение · #27 SVLab Данный метод основан на использовании специфического порта с номером 5658h. Данный порт является своеобразным шлюзом между виртуальным миром Vmware и реальной машиной. В этот порт посылается специфическое число (магическое число, если угодно), на которое реагирует система виртуальной машины и выполняет номер команды, переданный через регистр ecx с переданными параметрами через регистр ebx. Кстати говоря, это магическое число равно следующей последовательности символов: “VMXh”. После выполнения команды результат передается виртуальной машине также через регистры. Анализируя эти регистры, мы можем не только определить, выполнилась ли команда и получить результат, но и определить, выполняется ли наша программа в среде VMware. Среди действительно «опасных», с точки зрения безопасности обнаружения VMware, функций следует отметить две: определение версии VMware и вывод POPUP сообщения о том, что загрузочный диск недоступен. Первая возвращает в регистрах eax и ecx версии программы. При этом в регистре ebx возвращается магическое число. Таким образом, используя данную функцию, мы можем определить, загружен ли VMware. SVLab пишет: Непонятно, в каком случае джамп будет выполняться, а в каком не будет. Если мы не под VMWare то в EBX останется 8685D465 и jnz прыгнет ![]() |
|
Создано: 06 января 2010 19:24 · Поправил: SVLab · Личное сообщение · #28 Av0id Если б это было нужно только мне, я бы так и сделал, вернее, прописал бы в конфиге то, что показал Hellspawn. Вроде как это проще ![]() RSI Получается, что IN EAX,DX в данном случае является каким-то аналогом программного прерывания? Я извиняюсь, что привел код не полностью. Вот почищенный код: Code:
Такой вопрос. Обработка производится в любом случае SEH'ом? Если да, значит флаг VM должен меняться (если под ВМ) где-то в обработчике исключений и три предпоследние команды просто не нужны. Если нет (под ВМ исключение не происходит), то как такая простая команда (IN) может поменять несколько регистров. Vmware у меня нет, не могу проверить, как там делается. А без виртуалки после обработки исключения я вываливаюсь уже после POP FS:[0] и флаг наличия VM, конечно, не меняется. Может, я не до конца понимаю, как обрабатываются исключения, и, если работаем под виртуалкой, то после обработки можно оказаться сразу после IN? Или IN не такая простая команда, как везде описывается? ![]() |
|
Создано: 06 января 2010 19:42 · Поправил: Модератор · Личное сообщение · #29 |
|
Создано: 06 января 2010 20:03 · Личное сообщение · #30 |
. 1 . 2 . >> |
![]() |
eXeL@B —› Протекторы —› Вопрос по WinLicense |