Сейчас на форуме: (+7 невидимых)

 eXeL@B —› Протекторы —› Вопрос по WinLicense
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 23 мая 2009 19:58 · Поправил: ToBad
· Личное сообщение · #1

Играюсь с уже второй по счёту версией, скачал с их сайта утилитку GetHardwareID. В общем если в двух словах, то генерируется нормальный ключевой файл только если в опциях hardware lock не использовать привязку к HDD Serial. Проверял на нескольких компах. Если опция стоит, защищённый модуль после генерации ключевого файла выдаёт мессадж что мой хвид другой. В чём может быть дело? Может кто-то сталкивался с этим? 




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 23 мая 2009 21:46 · Поправил: Модератор
· Личное сообщение · #2

Капитан очевидность как бы говорит вам, писать в саппорт фимы.
З.Ы. И подпись у вас неполиткорректная.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 23 мая 2009 23:28 · Поправил: ToBad
· Личное сообщение · #3

Ну я в саппорт написать постыжусь, так как имел честь скачать сабж с рапиды. А спросить решил по тому, что вдруг не понимаю очивидного. Получается, что если использовать hdd serial lock то утилита и сама защита на программе генерирует разный хвид.
Вы модератор, подпись можете убрать если смущает, к тому же меня всё равно туда не приняли.... 




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 24 мая 2009 01:26
· Личное сообщение · #4

ToBad пишет:
Ну я в саппорт написать постыжусь, так как имел честь скачать сабж с рапиды.


В чем проблема купить? Саппорт отвечает быстро и оперативно. И главное не шаблонными ответами а реально решает поставленные задачи.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 24 мая 2009 08:27
· Личное сообщение · #5

Сдаётся мне просто, что это их бажина, в этом случае не совсем понятно, что должны сказать на этом форуме. Даже если лицензии нет, в саппорте должны хотя бы сказать, баг это или что, если не совсем неадекваты, вроде ильфака.
З.Ы. Возможности модератора ограничиваются модерацией постов и топиков, они не могут править подписи, читать лички или летать аки нео.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 24 мая 2009 10:57
· Личное сообщение · #6

GPcH пишет:
В чем проблема купить?

Ух ты...А у них, что сетевой маркетинг?
//Сам купил и ещё троих приведи...

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 24 мая 2009 11:59 · Поправил: ToBad
· Личное сообщение · #7

GPcH пишет:
В чем проблема купить?


Я же в первом посте написал, что просто ради интереса смотрю. Покупать смысла нет, так как некуда применить. Увидел нестыковку и решил спросить.

Archer пишет:
Сдаётся мне просто, что это их бажина, в этом случае не совсем понятно, что должны сказать на этом форуме.


Во, вот это и был бы ответ на мой вопрос который готов услышать на этом форуме. Меня именно интересовало это их бажина или у меня кривые руки. Если кто-то заметил подобное у себя - скажите, буду знать, что у всех так-же и вопрос исчерпан. Знаю, что есть люди которые пользуют этот софт.

Archer пишет:
Возможности модератора ограничиваются модерацией постов и топиков, они не могут править подписи, читать лички или летать аки нео.


Буду знать. Но Вы можете написать в личку и я уберу.




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 24 мая 2009 13:41
· Личное сообщение · #8

ToBad пишет:
Я же в первом посте написал, что просто ради интереса смотрю.


Ну пришли мне проект на мыло (админ@vb-decompiler.org) - протестирую у себя на последней версии WL.

Bronco пишет:
Сам купил и ещё троих приведи...


Хороший продукт обычно так и покупают. Сначала купит один, потом приведет другого, другой третьего и т.д.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 25 мая 2009 15:56
· Личное сообщение · #9

ToBad
GetHardwareID есть 2 разных варианта с ring0 и обычный. у них значения по HDD разные. поэтому убери у себя в проекте галку защиты с ring0 и тогда все будет сходиться.



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 22 декабря 2009 08:30
· Личное сообщение · #10

Кто-нить может сказать, как в последних версиях проверяется файл на предмет патча (кроме CheckSumMappedFile). Мож сигнатурки есть какие?




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 22 декабря 2009 10:25 · Поправил: Maximus
· Личное сообщение · #11

SVLab нету там ничего, все осталось так же как и раньше...
Есть аж целых 4 способа как можно пропатчить программу слету, без палева и проверки CRC.

-----
StarForce и Themida ацтой!




Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 22 декабря 2009 12:37
· Личное сообщение · #12

Maximus
Что-то все-таки есть. Пытаюсь инлайнить, патчу CRC по второму способу PE_Kill'а, ты должен помнить. С той программой, что он приводил в пример, все нормально получается. С этой не выходит. В отладчике вижу, что CRC получаю нормальную (такую же, как и до патча), значит дело, по-идее, не в этом. Пробовал просто поменять имя секции (как в статье) или изменить несущественный байт и поправить CRC - палится. Вроде нарыл место, где замапленный файл считывается повторно уже самим протом и происходит что-то типа подсчета суммы. А вот где происходит сравнение и счем, никак не прорвусь.
Не поделишься этими четырьмя способами?




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 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 ацтой!




Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 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, что бы не перекомпилить ее каждый раз на новый файл:


7950_22.12.2009_CRACKLAB.rU.tgz - calc.rar



Ранг: 85.5 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 23 декабря 2009 09:34
· Личное сообщение · #15

метод 2 не обеспечивает ОС-совместимости.
впрочем, для локального применения - вполне применим.

ps/
если есть возможность, лучше не системную




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 23 декабря 2009 10:19 · Поправил: Maximus
· Личное сообщение · #16

DMD почему не обеспечивает совместимости?
Надо брать dll с наименьшим количества импорта из нее. Про не системную полностью согласен.
Метод старый, опробованный многими. Для Темиды самое то...

-----
StarForce и Themida ацтой!




Ранг: 85.5 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 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/
метод действительно неплох - под последние аспирины просачиваться тоже "то самое"



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 06 января 2010 03:44
· Личное сообщение · #18

Возник еще вопросик. Программа не запускается под виртуальными машинами (VmWare, Virtual PC), пишет "Sorry, this application cannot run under a Virtual Machine". На oreans инфы о таком ограничении не нашел, предыдущая версия программы, накрытая ASProtect'ом, нормально работала под виртуалками. Есть ли такое ограничение у WL? И, вообще, каким образом это может проверяться?



Ранг: 114.8 (ветеран), 41thx
Активность: 0.10
Статус: Участник

Создано: 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 )) ...сорри



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 06 января 2010 07:28
· Личное сообщение · #20

_ruzmaz_, спасибо. Блин, память совсем дырявая, смотрел же этот топ.




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 06 января 2010 09:28
· Личное сообщение · #21

virtual pc вродe чeрeз опкод кривой. Нaчинaeтся с 0f длинa 3 бaйтa. Нa виртуaлкe он выполняeтся. А дeтeкт вмвaри чeрeз порты отключaeтся в нaстройкaх.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 06 января 2010 12:38 · Поправил: Модератор
· Личное сообщение · #22

для vmware в конфиг пишим (*.vmx):

Code:
  1. isolation.tools.getPtrLocation.disable = "TRUE"
  2. isolation.tools.setPtrLocation.disable = "TRUE"
  3. isolation.tools.setVersion.disable     = "TRUE"
  4. isolation.tools.getVersion.disable     = "TRUE"
  5. monitor_control.restrict_backdoor      = "TRUE"
  6. monitor_control.virtual_rdtsc          = "FALSE"


-----
[nice coder and reverser]




Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 06 января 2010 15:34
· Личное сообщение · #23

Nightshade, Hellspawn, спасибо, возьмем на вооружение. С другой стороны, не будешь ведь к каждому патчу еще и иструкцию по настройке виртуальной машины прикладывать. Надо фиксить WL. Собственно, все нашлось, но что-то я не врублюсь в этот код:
Code:
  1. 00CD96FA    BB 65D48586     MOV EBX,8685D465
  2. 00CD96FF    BA 40B63400     MOV EDX,34B640
  3. 00CD9704    81EA E85F3400   SUB EDX,345FE8
  4. 00CD970A    ED              IN EAX,DX
  5. 00CD970B    81FB 68584D56   CMP EBX,564D5868
  6. 00CD9711    75 0A           JNZ SHORT blogfind.00CD971D

Как здесь завязан EBX? IN ведь читает в EAX.



Ранг: 61.4 (постоянный), 1thx
Активность: 0.020
Статус: Участник

Создано: 06 января 2010 15:40
· Личное сообщение · #24

типа магическая последовательность.
что именно не понятно?



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 06 января 2010 15:48
· Личное сообщение · #25

n0name
Непонятно, в каком случае джамп будет выполняться, а в каком не будет.



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 06 января 2010 16:46
· Личное сообщение · #26

не проще ли hex-редактором по vmware.exe пройтись и заменить VMXh на какой-нибудь мусор?



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 06 января 2010 17:40
· Личное сообщение · #27

SVLab
Данный метод основан на использовании специфического порта с номером 5658h. Данный
порт является своеобразным шлюзом между виртуальным миром Vmware и реальной
машиной. В этот порт посылается специфическое число (магическое число, если угодно),
на которое реагирует система виртуальной машины и выполняет номер команды,
переданный через регистр ecx с переданными параметрами через регистр ebx. Кстати
говоря, это магическое число равно следующей последовательности символов: “VMXh”.

После выполнения команды результат передается виртуальной машине также через
регистры. Анализируя эти регистры, мы можем не только определить, выполнилась ли
команда и получить результат, но и определить, выполняется ли наша программа в среде
VMware.
Среди действительно «опасных», с точки зрения безопасности обнаружения VMware,
функций следует отметить две: определение версии VMware и вывод POPUP сообщения о
том, что загрузочный диск недоступен.
Первая возвращает в регистрах eax и ecx версии программы. При этом в регистре ebx
возвращается магическое число. Таким образом, используя данную функцию, мы можем
определить, загружен ли VMware.

SVLab пишет:
Непонятно, в каком случае джамп будет выполняться, а в каком не будет.


Если мы не под VMWare то в EBX останется 8685D465 и jnz прыгнет



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 06 января 2010 19:24 · Поправил: SVLab
· Личное сообщение · #28

Av0id
Если б это было нужно только мне, я бы так и сделал, вернее, прописал бы в конфиге то, что показал Hellspawn. Вроде как это проще

RSI
Получается, что IN EAX,DX в данном случае является каким-то аналогом программного прерывания? Я извиняюсь, что привел код не полностью. Вот почищенный код:
Code:
  1. 00CD96D4    64:FF35 00000000   PUSH DWORD PTR FS:[0]
  2. 00CD96DE    64:8925 00000000   MOV DWORD PTR FS:[0],ESP
  3. 00CD96EB    B9 0A000000        MOV ECX,0A
  4. 00CD96F0    B8 04D75548        MOV EAX,564D5868
  5. 00CD96FA    BB 65D48586        MOV EBX,8685D465
  6. 00CD96FF    BA 40B63400        MOV EDX,5658
  7. 00CD970A    ED                 IN EAX,DX
  8. 00CD970B    81FB 68584D56      CMP EBX,564D5868
  9. 00CD9711    75 0A              JNZ SHORT 00CD971D
  10. 00CD9713    C785 951EFB17 0100>MOV DWORD PTR SS:[EBP+17FB1E95],1
  11. 00CD971D    64:8F05 00000000   POP DWORD PTR FS:[0]

Такой вопрос. Обработка производится в любом случае SEH'ом? Если да, значит флаг VM должен меняться (если под ВМ) где-то в обработчике исключений и три предпоследние команды просто не нужны. Если нет (под ВМ исключение не происходит), то как такая простая команда (IN) может поменять несколько регистров. Vmware у меня нет, не могу проверить, как там делается. А без виртуалки после обработки исключения я вываливаюсь уже после POP FS:[0] и флаг наличия VM, конечно, не меняется.

Может, я не до конца понимаю, как обрабатываются исключения, и, если работаем под виртуалкой, то после обработки можно оказаться сразу после IN?

Или IN не такая простая команда, как везде описывается?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 06 января 2010 19:42 · Поправил: Модератор
· Личное сообщение · #29

IN-чтение с порта. Под варей тихо запишет магики и пойдёт дальше. Без вари исключение, ибо привилегированная инструкция.



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 06 января 2010 20:03
· Личное сообщение · #30

Archer пишет:
IN-запись в порт


Разве? Я почему-то всегда считал, что чтение из порта. Но даже если допустить, что запись, как это может поменять EBX? Вот это непонятно.


. 1 . 2 . >>
 eXeL@B —› Протекторы —› Вопрос по WinLicense
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати