Сейчас на форуме: zds, -Sanchez- (+8 невидимых)

 eXeL@B —› Протекторы —› Loader for Armadillo Hardware ID Protection
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 29 сентября 2005 14:46
· Личное сообщение · #1

Друг откуда-то достал одну известную программу и рег. инфо к нему (имя,код,ID харда) и попросил что-то сделать. Она была защищена Armadillo 4.??. Я вот написал лоадер который заставляет армадилло думать что его запускают на "правильном" компьютере... Может кому-нибудь еще пригодится, так что публикую сорцы, рег. информацию в сорцах я изменил, так что это не варез...

c28e_loader.c



Ранг: 8.3 (гость)
Активность: 0.010
Статус: Участник

Создано: 15 января 2008 19:24
· Личное сообщение · #2

To Arcker: Большое спасибо -- прочёл -- супер статья.
Я пытаюсь подсунуть FINGERPRINT громоздилле №5.0.
В туторе автор делает брейк на GetDlgItem, а в версии 5.0 так не получается, т.к. файл сразу создает с помошью CreateProcessW копию себя и начинает что-то с ней делать, после чего данная копия выводит окошко "введите ключ" ну и по-идее в этот момент к данному процессу надо прицепиться. Olly не хочет к нему цепляться, т.к. он уже отлаживается первой копией программы.
Тогда я попробовал вот что сделать: нашел место где вызывается CreateProcessW. Дальше арма что-то делает с этим процессом, после чего следует:
PUSH ECX
CALL DWORD PTR DS:[<&KERNEL32.ResumeThre>; kernel32.ResumeThread
MOV EDX,DWORD PTR DS:[10723F8]
MOV EAX,DWORD PTR DS:[EDX+8]
PUSH EAX
<------------------ Вот в этот момент можно прицепиться к созданному процессу.
CALL DWORD PTR DS:[<&KERNEL32.DebugActiv>; kernel32.DebugActiveProcess

Цепляюсь, дальше жму SHIFT+F9 в отладчике №1 а вновь прицепившимуся процессу говорю View->Threads-> выбираю основной поток программы и говорю Resume.

Тут я ожидал что данная копия всё сделает и можно будет мухлевать с Fingerprint-ом.
Ан нет -- видимо из-за того что процесс №1 не может отлаживать процесс №2, то процесс №2 создает еще одну копию, которая работает нормально (т.к. ее отладкой занимается процесс №2).

Вот тут совет нужен -- что делать: пытаться в отладчике №2 симулировать события для WaitDebugEven-a а потом его реакцию дублировать в отладчике №2 ?




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

Создано: 15 января 2008 20:58
· Личное сообщение · #3

В данном случае лучше почитать туторы по отделению сына армы от процесса-отца, таких туторов просто море. Или в крайнем случае заюзать подходящую тулзу типа ArmDetach (если название не спутал).



Ранг: 8.3 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 января 2008 10:13
· Личное сообщение · #4

На скорую руку попробовал ArmaDetach: версии 1.2 и 1.3 крашатся, а вот плагин для Olly сработал на ура -- дальше всё как в туторе запускается
Попробую сделать лоадер с отцеплением отца !



Ранг: 8.3 (гость)
Активность: 0.010
Статус: Участник

Создано: 17 января 2008 19:19
· Личное сообщение · #5

Возник вопрос про хранение ключей армой.
Вот она говорит что "Key was stored" а вот куда он был stored -- я понять не смог.
В туторах ничего не нашел интересного, regmon и filemon тоже ничего не подсказали
Кто знает ?

Дело в том, что если один раз на фэйковом HWID запустить и порадоваться, а потом без ольги запустить (тут то он сам HWID посчитает), то арма говорит, что ключ в системе сохраненный -- лажа и второй раз вводить его не получается... из-за этого повторять эксперимент сложно




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 17 января 2008 20:22
· Личное сообщение · #6

Pavel_
запусти TrashReg | TrialReset - они должны показать, где арма хранит инфу о триале
если после удаления файлов/ключей арма всё равно не будет давать установить ключ, то попробуй параметры командной строки:

FIXCLOCK – shows a screen where the user can enter a FIXCLOCK code.

HWCHANGELOG – shows a hardware change log, itemizing which components of a hardware fingerprint have changed.

INFO – displays registration name and key*.

QUIETEXIT – added in v4.10, this will programmatically exit your program (with no dialogs).

QUIETREGISTER – same as REGISTER without the confirmation dialog box.

QUIETUNREGISTER – same as UNREGISTER without the confirmation dialog box.

REGISTER – displays the built-in Enter Key dialog*.

SHOWNETUSERS – displays all computers running your peer-to-peer protected program.

TRANSFER – used for transferring a hardware locked key to a new machine.

UNREGISTER – unregisters a hardware locked program by changing the hardware fingerprint*.

* - may be disabled

-----
EnJoy!





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

Создано: 17 января 2008 20:22
· Личное сообщение · #7

Pavel_
Там, вроде, несколько вариантов хранения ключа. Или в файле (в темповом каталоге где-то) или в реестре, в CLSID, что ли. Но давно смотрел это дело, могу и ошибаццо.



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 17 января 2008 21:25
· Личное сообщение · #8

Ключ (триал инфо) хранится в нескольких экземплярах в реестре, и в файле. Если хотя бы один из них остался не удалён - остальные при запуске восстанавливаются по нему.

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




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

Создано: 18 января 2008 15:41
· Личное сообщение · #9

лоадер на x64 никто не тестил?



Ранг: 8.3 (гость)
Активность: 0.010
Статус: Участник

Создано: 19 января 2008 01:17 · Поправил: Pavel_
· Личное сообщение · #10

Я не тестил (не на чем ).

А ключи хранятся в x:\Documents and settings\[user_name]\Local Settings\Temp\<рандомное имя>.TMP
(TMP большими буковками)
+ 2 ключа в HKLM\Licenses : пара ключей один с именем "0<циферки>" - длинна разная -- это имя, HWFingerprint, ключ и наверно что то еще (длинна в 0x98 байт это многовато) - всё шифрованое страшно А второй ключ с именем "I<те же циферки>" -- 4 байта -- это походу число запусков программы.
Кстати интересная фича -- арма как то генерит имя ключа и имя файла в темпе основываясь на системной информации -- ведь она не перебирает ключи и файлы, а сразу знает что открывать.



Ранг: 12.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 19 января 2008 07:16
· Личное сообщение · #11

Hi
Anybody can help me to unpack this DAMN? (file size is 1.7 mb):
rapidshare.com/files/84904170/decryptor_setup_v0.5.150.exe
================
!- Protected Armadillo
Protection system (Professional)
!- <Protection Options>
Standard protection or Minimum protection
CopyMem-II
Enable Strategic Code Splicing
Enable Memory-Patching Protections
!- <Backup Key Options>
Variable Backup Keys
Fixed Backup Keys
!- <Compression Options>
Minimal/Fastest Compression
!- <Other Options>
Store Environment Vars Externally
Use Digital River Edition Keys
========
thanks in advance



Ранг: 8.3 (гость)
Активность: 0.010
Статус: Участник

Создано: 19 января 2008 14:36
· Личное сообщение · #12

Try to post your requets here :
гыгыгы://cracklab.ru/f/action=vthread&forum=2&topic=10399



Ранг: 8.3 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 января 2008 11:12
· Личное сообщение · #13

Возник вопрос про Olly:
Пока разбирался в отличии обычной защиты от enhanced столкнулся со странным поведением olly - после старта отцепленного процесса олли останавливается с мессаджем в строке статуса Break-on-access when Executing <....> (адрес кривой еще какой-то)...
Бряков я никаких не ставил. Вот и думаю -- как его убрать ????


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


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