Сейчас на форуме: bartolomeo, asfa, HaRpY, Vicshann (+4 невидимых)

 eXeL@B —› Оффтоп —› Определение Hardware ID для разных протекторов не выходя из дома
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 08 февраля 2007 04:24
· Личное сообщение · #1

Как то ранее поднимался вопрос об определении Hardware ID для генерации ключей под АСПР.
Помимо Аспра ряд других протов (SVKP, WInLicence, Арма)также просит Hardware ID компа в целом или деталей от него по отдельности. Формат Hardware ID для разных протов может быть разным. Вопрос: какие варианты определения Hardware ID на собственной, а еще важнее на чужой машине существуют, и каковы их конкретные реализации для того или ирого прота.



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

Создано: 08 февраля 2007 04:35
· Личное сообщение · #2

серийный номер раздела
функция - GetVolumeInformation

размер памяти
функция - GetMemoryStatus

MAC адрес
функция - GetAdaptersInfo (lphlpapi.dll)
функция - NetBios (nb30.dll)

имя компа
функция - GetComputerName

тип проца
функция - GetSystemInfo

частота проца
команда - rdtsc

параметры жесткого диска
функция - CreateFile(x:); ???

биос
чтение строки в реестре в NT
через порты в 9x

серийный номер жесткого диска
через драйверы винды

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

Удовлетворил познания?




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

Создано: 08 февраля 2007 04:41 · Поправил: Red Bar0n
· Личное сообщение · #3

API прота :\
читайте юзер мануал к конкретному проту, и запускайте exe на той машине на которой хотите определить HWID... учу будет весить не хило от 300 кб обычно...




Ранг: 105.9 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 08 февраля 2007 05:01
· Личное сообщение · #4

Enigma пишет:
тип проца
функция - GetSystemInfo

тип проца обычно определяется другим способом.

Enigma пишет:
параметры жесткого диска
функция - CreateFile(x; ???

???????

Enigma пишет:
серийный номер жесткого диска
через драйверы винды

Вот это, правильный ответ. Я даже скажу больше, почти все параметры копьютера определяются через драйвера виндовз(для NT).

Sey
описывать на паблике алгоритм вычисления Hardware ID, для определенного протектора нет смысла. Так или иначе, этих способов конечное количество.




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 08 февраля 2007 05:07
· Личное сообщение · #5

Enigma пишет:
параметры жесткого диска
функция - CreateFile(x; ???

Небольшая поправочка - ЛОГИЧЕСКОГО диска.
Для физического - PhysicalDriveX, X - номер диска.



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

Создано: 08 февраля 2007 05:09
· Личное сообщение · #6

seeq пишет:
тип проца обычно определяется другим способом.


Ну так и этим же способом определяется!!! Имеено ТИП процессора! Если так судить, то каждую из вышеперечисленных функций можно реализовать самому, это только твое воображение... Так каким же, другим способом?




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 08 февраля 2007 06:07
· Личное сообщение · #7

причем здесь апи или я чего то не понял. топик стартеру надо смотреть сдк протов и их либы..

-----
Тут не могла быть ваша реклама




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

Создано: 08 февраля 2007 08:41 · Поправил: Smon
· Личное сообщение · #8

Enigma пишет:
размер памяти
функция - GetMemoryStatus

Ан нет такой апи
Может GlobalMemoryStatus ? )

Enigma пишет:
частота проца
команда - rdtsc

бред...

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





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 08 февраля 2007 09:14
· Личное сообщение · #9

Smon пишет:
частота проца
команда - rdtsc
бред...

+1
и когда это частота проца для привязки юзалась.. она ведь меняется :]

-----
Тут не могла быть ваша реклама




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

Создано: 08 февраля 2007 11:49
· Личное сообщение · #10

lord_Phoenix пишет:
и когда это частота проца для привязки юзалась.. она ведь меняется :]


Качай Арму и смотри хелп!!!


Smon пишет:
бред...


Бред чего? Что частоту проца таким методом узнают? Набери в гугле "Как узнать частоту процессора", найдешь ссылки с примерами использования rdtsc!!!



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

Создано: 08 февраля 2007 13:00
· Личное сообщение · #11

rdtsc - считает такты процессора, но собственно процессор должен эту инструкцию поддерживать. Intel указывает что надо выполнять именно эту команду.



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

Создано: 08 февраля 2007 14:02 · Поправил: Smon
· Личное сообщение · #12

Enigma

CPU Information: This takes the CPU manufacturer, type, version, and other information into account. If used on a serial-number-enabled Pentium III, it will use that as well. There is a potential problem with it though: on certain systems (which are reportedly getting more common) it can change when the system is suspended or put into hibernation, or hooked to some pieces of hardware (such as a docking station or charger); in this case, it will revert back to the original code when the system is rebooted, or when the original hardware configuration is restored. On some such systems, it will change with no apparent rhyme or reason, and may or may not change back. For this reason, we no longer recommend it, or use it in our default settings.

Это из мануала к арме. Покажи, где тут частота.

Дополнительно:
rdtsc (Read Time Stamp Counter) — ассемблерная инструкция для платформы x86, читающая счётчик TSC (Time Stamp Counter) и возвращающая в регистрах EDX:EAX 64-битное количество тактов с момента последнего сброса процессора. rdtsc поддерживается в процессорах Pentium и старше. Опкод: 0F 31.

rdtsc чаще всего используется:
* для точного измерения временных интервалов;
* в антиотладочных приёмах;
* как источник случайности для генераторов псевдослучайных чисел.
Для измерения частоты использовать rdtsc не только ненадёжно, но и бессмысленно, ибо разные поколения процессоров исполняют разное кол-во инструкций за такт (не забываем про HT и DualCore, и про то, что rdtsc доступен начиная еще с первого Pentium'а).

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





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 08 февраля 2007 22:30
· Личное сообщение · #13

Enigma пишет:
Качай Арму и смотри хелп!!!

сам скачай и прочти ;) вообще какой смысл вязаться к частоте, если например на пнях последних(и не очень) он сама может меняться в зависимости от нагрузки? не смеши меня.. а про rdtsc ты вообщееее загнул

-----
Тут не могла быть ваша реклама




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

Создано: 08 февраля 2007 22:46
· Личное сообщение · #14

Smon Да, ты прав, про арму я загнул, не прочитал т.ч. не дочитал

lord_Phoenix пишет:
а про rdtsc ты вообщееее загнул


Млин, последний мой пост в этой теме, Загнул чего? То что нет таких методов которыми частоту проца узнают методами rdtsc...? в аттече пример (писал не я)!!! Тема закрыта!

lord_Phoenix пишет:
вообще какой смысл вязаться к частоте,


А какой тогда смысл арме привязываться к "Size of Physical Memory"? Частоту проца тоже можно узнать приблизительно, и разных вариантов будет больше чем с при использовании Size of Physical Memory. Так что смотри сам, что тупее, CPU или SPM...



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

Создано: 08 февраля 2007 22:48
· Личное сообщение · #15

Млять, аттач забыл :-D

1c24_08.02.2007_CRACKLAB.rU.tgz - cpu_speed.htm



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

Создано: 09 февраля 2007 01:35
· Личное сообщение · #16

seeq пишет:
описывать на паблике алгоритм вычисления Hardware ID, для определенного протектора нет смысла

Прям таки, суперсекретная инфа

Sey прав: действительно удобно одним движением снять с компа HWid-ы для всех нужных протов.
Естесстно, для этого необходимо повыковыривать соответствующие алго собстно из прота.

В свое время я расковырял Аспирин, но потом чет забросил...




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 09 февраля 2007 01:49
· Личное сообщение · #17

0xy пишет:
Естесстно, для этого необходимо повыковыривать соответствующие алго собстно из прота.

можно даже не ковырять.. для армы,аспра - aspr_ide.dll, armaccess.dll и хвид есть, вообщем сдк юзать и можно не реверсить ничего :]
Enigma пишет:
А какой тогда смысл арме привязываться к "Size of Physical Memory"?

или я чего то не понял, или размер физической памяти не меняется

-----
Тут не могла быть ваша реклама




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

Создано: 09 февраля 2007 09:37
· Личное сообщение · #18

Вариант Enigma не прокатит в силу того, что большинство протов не используют ID того или иного железа в том виде, в каком его можно получить через через API функции или посредством системных команд (чтения реестра). Как формируется суммарный ID для большинства протов тоже в общем то не ясно.
lord_Phoenix верно указывает на SDK и aspr_ide.dll для Аспра, но для Армы определение Hardware ID уже проблематичней. Для других протов, использующих Hardware ID привязку вообще нет шансов найти соответствующий SDK или хотябы мало - мальски приличный топ.
Способ, на который намекнул Red Bar0n весьма работоспособен, но в тоже время и коряв в реализации. Конечно, можно запротектить Блокнот, к примеру, разными протами и запуская их по очереди на нужной машине, смотреть на то, какие Hardware ID они выдают, но, во первых, не каждый прот будет ругаться Hardware ID, а во вторых, этот способ намекает на не очяень высокий IQ того, кто им пользуется.




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

Создано: 09 февраля 2007 11:04
· Личное сообщение · #19

Sey
лол я мб не так выр0зелся но я имел в виду именно то что сказал феникс а не то что вы предумале сейчас...




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 09 февраля 2007 11:22
· Личное сообщение · #20

Sey
Барон имел ввиду - написать прожку, которая юзая апи прота получает хвид, запротекить прожку протом и вуаля..с аспрои иармой можно их длл юзать и не протектить ехе

-----
Тут не могла быть ваша реклама




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

Создано: 10 февраля 2007 08:11
· Личное сообщение · #21

Дико извиняюсь если кого обидил.



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

Создано: 14 февраля 2007 04:38
· Личное сообщение · #22

Может она из реестра всё тащит: там тебе и о процессоре и о видяхе...
А идея неполхая.



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

Создано: 14 февраля 2007 06:54
· Личное сообщение · #23

lord_Phoenix пишет:
написать прожку, которая юзая апи прота получает хвид

Ну, этот ламерский способ и обсуждать не стоит. Он и коню понятен: кол-во этих прожек=кол-во протов*кол-во вариантов hwid для каждого прота

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

А и сам непрочь иметь в хозяйстве такую прожку. По Аспру алго есть (правда, не полностью, да и подзабыл малеха...). Кому интересно--ковыряйте другие проты (арму, криптор, wl...), или dll из их СДК, если это проще. А прогу написать--не проблема




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 14 февраля 2007 16:57
· Личное сообщение · #24

lord_Phoenix пишет:
или я чего то не понял, или размер физической памяти не меняется


физически память увеличивается только в магазине.

-----
have a nice day




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

Создано: 16 февраля 2007 00:35 · Поправил: wingrime
· Личное сообщение · #25

Все проги одного зверя имеют тот-же алгоритм но для каждой проги портектор генерит личный ключ, надо как-то выдрать его: ID +key = reg_code но как это сделать?




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 16 февраля 2007 00:56
· Личное сообщение · #26

0xy пишет:
Ну, этот ламерский способ и обсуждать не стоит.

Ага, лучше неделю сидеть и воевать с антиотладкой и прочем гавном (ВМ например).
ASProtect DeviceIoControl юзает, но имхо ковырять создание хвида не имеет смысла, лучше ковырят метод его подмены или отвязки ключа от него.

-----
Yann Tiersen best and do not fuck





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 16 февраля 2007 01:33 · Поправил: lord_Phoenix
· Личное сообщение · #27

PE_Kill пишет:
метод его подмены или отвязки ключа от него.

хы, что подменять его, что вообще отвязать..патч 1 байта =)

-----
Тут не могла быть ваша реклама





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 16 февраля 2007 01:37
· Личное сообщение · #28

Я не про аспротект, я вообще про проты

-----
Yann Tiersen best and do not fuck




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

Создано: 16 февраля 2007 13:18
· Личное сообщение · #29

PE_Kill пишет:
но имхо ковырять создание хвида не имеет смысла,

Смысл в том, чтобы написать одну прожку, которая забирает с компа HWID-ы всех нужных протов.
лучше ковырят метод его подмены
Само собой, но это уже другая тема.
А сперва HWID нужно поиметь, чтоб было чем подменять



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

Создано: 16 февраля 2007 21:09
· Личное сообщение · #30

Кто-то может пояснить конечную цель этого чуда?
Допустим, напишу я такую прожку для Armadillo.
Даю ее юзеру, он запукает и присылает мне отчет.
В котором 5 тысяяч вариантов HWID для его компа,
(потому что при упаковке, выбирается какое железо включать в HWID)
и что мне с этим делать дальше?


. 1 . 2 . >>
 eXeL@B —› Оффтоп —› Определение Hardware ID для разных протекторов не выходя из дома

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати