PDA

Bekijk de volledige versie : KMSEmulator for Linux (including home routers with *WRT/Tomato)



TReX
09-11-2013, 23:15
How to compile:
For normal PC desktop/server Linux - just unpack and run make
For routers - target toolchain/build environment/SDK would be required, depends on specific firmware.
GCC and Glibc or derived/compatible libc probably required. I've tested with Glibc and uClibc.

How it works:
EPids are read from config file on every request. Config file path can be configured at compile time via Makefile (INI_FILE variable) or at run-time by -i <path/to/file> command-line option.

Config file format:
INI-like, <product guid> = <epid>, one per line. Example:


55c92734-d682-4d71-983e-d6ec3f16059f = 05426-00168-152-564055-03-1049-9200.0000-0912013
59a52881-a989-479d-af46-f275c6370663 = 55041-00096-200-026043-03-1049-7601.0000-0162013
0ff1ce15-a989-479d-af46-f275c6370663 = 55041-00096-200-625305-03-1049-7601.0000-0572013

http://rghost.ru/50063440

(с) http://forums.mydigitallife.info/threads/41010-KMSEmulator-KMS-Client-and-Server-Emulation-Source/page101?p=837970&viewfull=1#post837970

П.С. Исходники будут жить на хосте месяц, так что если кого заинтересует, перезалейте на более долгоживущий )

azhur
10-11-2013, 04:40
Никак не могу нарыть инфу, куда и по каким портам/протоколам лезет в интернет оригинальный майкрософтовский КМС для своей активации.
Может из здешних завсегдатаев кто случайно знает?

TReX
10-11-2013, 16:41
Никак не могу нарыть инфу, куда и по каким портам/протоколам лезет в интернет оригинальный майкрософтовский КМС для своей активации.
Может из здешних завсегдатаев кто случайно знает?

Бан на гугле очень страшная проблема, поэтому 1688/TCP

theMIROn
10-11-2013, 22:02
П.С. Исходники будут жить на хосте месяц, так что если кого заинтересует, перезалейте на более долгоживущий )
с какой лицензией эмулятор?
м.б имеет смысл его в entware сунуть?

TReX
10-11-2013, 23:04
с какой лицензией эмулятор?
м.б имеет смысл его в entware сунуть?

Лицензия GPL ) Там требуется небольшое допиливание кода, исходники есть в ссылке на форум с исходным сообщением...

MercuryV
11-11-2013, 05:24
с какой лицензией эмулятор?
м.б имеет смысл его в entware сунуть?

Лицензия GPL ) Там требуется небольшое допиливание кода, исходники есть в ссылке на форум с исходным сообщением...
В тех исходниках нет ни лицензии, ни указания авторства.
Кстати, на том же форуме есть версия на питоне (http://forums.mydigitallife.info/threads/41010-KMSEmulator-KMS-Client-and-Server-Emulation-Source?p=839748&viewfull=1#post839748)
Кто-нибудь тут пробовал эти варианты, оно работает?

ryzhov_al
11-11-2013, 06:08
В тех исходниках нет ни лицензии, ни указания авторства.
Кстати, на том же форуме есть версия на питоне (http://forums.mydigitallife.info/threads/41010-KMSEmulator-KMS-Client-and-Server-Emulation-Source?p=839748&viewfull=1#post839748)
Кто-нибудь тут пробовал эти варианты, оно работает?Пробовал первый вариант, предложенный TReX, но пока у меня ничего не получилось:

установил в виртуалке Windows,
убедился, что нужный Product ID у меня есть в ini-файле, подсмотрев текущий:

slmgr.vbs /dlv
указал Windows использовать свой KMS-сервер:

slmgr.vbs /skms 192.168.0.1
убедился, что сервер слушает порт TCP1688,

а дальше засада. Если я пробую выполнить активацию без установки Product Key, с помощью:

slmgr.vbs /ato
то получаю сообщение о том, что время ожидания ответа от KMS-сервера истекло. Если я устанавливаю Product Key и затем пытаюсь выполнить активацию:

slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs /ato
то мгновенно получаю сообщение об ошибке активации.



м.б имеет смысл его в entware сунуть?Ну не знаю. Мы в своё время хотели выпилить oscam для того, чтобы проект не прикрыли под предлогом пиратства. Не сто́ит, IMHO. В собранном виде сервер весит 40КБ, поэтому влезет даже в куцый флеш DIR-320:)

TReX
11-11-2013, 07:59
Пробовал первый вариант, предложенный TReX, но пока у меня ничего не получилось:

установил в виртуалке Windows,
убедился, что нужный Product ID у меня есть в ini-файле, подсмотрев текущий:

slmgr.vbs /dlv
указал Windows использовать свой KMS-сервер:

slmgr.vbs /skms 192.168.0.1
убедился, что сервер слушает порт TCP1688,

а дальше засада. Если я пробую выполнить активацию без установки Product Key, с помощью:

slmgr.vbs /ato
то получаю сообщение о том, что время ожидания ответа от KMS-сервера истекло. Если я устанавливаю Product Key и затем пытаюсь выполнить активацию:

slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs /ato
то мгновенно получаю сообщение об ошибке активации.


Ну не знаю. Мы в своё время хотели выпилить oscam для того, чтобы проект не прикрыли под предлогом пиратства. Не сто́ит, IMHO. В собранном виде сервер весит 40КБ, поэтому влезет даже в куцый флеш DIR-320:)

Первоначальный выложенный на MDL вариант имеет привязку ко времени(активация будет успешной только несколько часов с момента сборки), исправлено в Windows версии кода, стоит добавить и в юникс вариант, так же отсутствует возможность выбора случайного идентификатора из диапазона доступных, так же исправлено в windows версии.
Для успешной работы на сервере требуется точное время не отличающиеся от времени на клиенте.
Невозможна активация того же IP который имеет сервер.
Для правок можно использовать например это http://rghost.net/50071947 pass:2013

ryzhov_al
11-11-2013, 09:23
Дело может быть в том, что в этом варианте нет поддержки (http://forums.mydigitallife.info/threads/41010-KMSEmulator-KMS-Client-and-Server-Emulation-Source?p=837886&viewfull=1#post837886) протокола KMS версии 6. А значит, Win8.1, Оffice2013 и прочие новые продукты в пролёте.

Для правок можно использовать например это http://rghost.net/50071947С тем же успехом можно использовать /dev/random. Архив запаролен.

Hohmach
11-11-2013, 10:04
пароль 2013

TReX
11-11-2013, 11:21
Дело может быть в том, что в этом варианте нет поддержки (http://forums.mydigitallife.info/threads/41010-KMSEmulator-KMS-Client-and-Server-Emulation-Source?p=837886&viewfull=1#post837886) протокола KMS версии 6. А значит, Win8.1, Оffice2013 и прочие новые продукты в пролёте.
С тем же успехом можно использовать /dev/random. Архив запаролен.

) Эх, я же не даром рекомендовал почитать ветку форума MDL... Эта версия, требует доработки напильником из представленных исходников. Собственно с вашим опытом может и проще сразу портировать виндовые на юникс, мне вот архивчик юниксовых исходников помог, я не такой спец в написании по *nix платформы )

Horwatt
13-11-2013, 12:47
Поставил версию на pythone (http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms?p=840865&viewfull=1#post840865), вроде работает. Подскажите как правильно добавить в автозагузку, RT-N16 прошивка от мерлина.

ryzhov_al
13-11-2013, 12:50
Поставил версию на pythone (http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms?p=840865&viewfull=1#post840865), вроде работает. Подскажите как правильно добавить в автозагузку, RT-N16 прошивка от мерлина.Написать стартовый файл по примеру (http://wl500g-repo.googlecode.com/svn/trunk/packages/pyload/S51pyload).


PS Отлично, отпочковалась тема Emulated KМS Servers on non-Windows platforms (http://forums.mydigitallife.info/threads/50234), где развиваются рабочие варианты на python, js и С. Как и ожидалось, реализации (в т.ч. V6) стали появляться как грибы после дождя.

Horwatt
13-11-2013, 13:27
Написать стартовый файл по примеру (http://wl500g-repo.googlecode.com/svn/trunk/packages/pyload/S51pyload).
Да уж, для моих познаний это чересчур, но всё равно спасибо. Пока дописал сюда:

#!/bin/sh

sleep 10
/opt/etc/init.d/rc.unslung start
python /opt/kms/server.py

TReX
16-11-2013, 14:09
Готовая версия Юниксовых исходников с поддержкой протокола v6

KMS LINUX now working with v6
http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms/page15?p=842691&viewfull=1#post842691
http://rghost.ru/50213054
Today, 07:21

Мысли о том же другого автора )
http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms/page15?p=842807&viewfull=1#post842807
http://rghost.ru/50212879
Today, 11:04

Готовый бинарник для Dune
http://rghost.ru/50208787
Запуск сервера:
kms-server -p /var/run/kms-server.pid -i /D/appl/_kms-server/kms-server.ini

TReX
17-11-2013, 19:38
Works correctly on any endian now. Checked with x86 and my ar71xx router.
Also, I've tried to workaround GCC 4.2/3 bug. Funny even older GCC 3 used for mips work fine
http://rghost.ru/50248390 - kms_linux_src_2.zip

Couldn't test your big endian fixes but the diffs show you made the right changes.

gcc 4.2.3 doesn't know optimize("1") and shows rpc.c:132: warning: 'optimize' attribute directive ignored. However it works perfectly with -O2, -O3 and -Os.

Changing to



// Workaround for buggy GCC 4.2/4.3
#if __GNUC__ == 4 && __GNUC_MINOR__ < 4 //#if __GNUC__ < 4 || __GNUC_MINOR__ < 4 (small bug in condition)
__attribute__((noinline))
#endif
static void MakeHmacKey(void *ts, unsigned long long *key)
{
PUT_UA64LE( key,
( GET_UA64LE(ts) / 0x00000022816889BDULL ) * 0x000000208CBAB5EDULL + 0x3156CD5AC628477AULL );
}

works without warning and limits fix to 4.0, 4.1, 4.2 and 4.3.


brcm or ar71xx build

http://rghost.ru/50248281 - big-endian, just tested to work on my router.

http://rghost.ru/50248316 - little-endian, built with tomato toolchain, have no device to test on, but little-endian on x86 works.

DemonGloom
20-11-2013, 18:47
Works correctly on any endian now. Checked with x86 and my ar71xx router.
Also, I've tried to workaround GCC 4.2/3 bug. Funny even older GCC 3 used for mips work fine
http://rghost.ru/50248390 - kms_linux_src_2.zip


Собрал по такому случаю версию для -d ветки с указанным фиксом.
Брать там: http://demongloom.dyndns.info:81/asus/vlmcsd
Конфиг и pid перенесены в opt (/opt/var/run/vlmcsd.pid и /opt/etc/vlmcsd.ini)

TReX
20-11-2013, 20:52
Собрал по такому случаю версию для -d ветки с указанным фиксом.
Брать там: http://demongloom.dyndns.info:81/asus/vlmcsd
Конфиг и pid перенесены в opt (/opt/var/run/vlmcsd.pid и /opt/etc/vlmcsd.ini)

Вот если бы кто-нибудь под RT-AC68 ARM собрал )

ryzhov_al
29-11-2013, 07:20
Отсюда (http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms?p=845169&viewfull=1#post845169):
---

Thanks you all, this worked and activates my windows 8.1 vm no problem on my first try.
… I now have entware, transmission, mc and htop running on this and since I started with dos I feel like I am going back to the future with this Linux. I thought I would post my process in order to get points on things I did wrong and how to make it better. I also hope it may help those noobs like me who are just learning.

Во вложении три бинарника с последними правками:


vlmcsd-arm — для ARM-азусов с заводской\мерлиновской прошивкой,
vlmcsd-mipsel — для MIPSEL-азусов с заводской\мерлиновской прошивкой,
vlmcsd-rtn — для роутеров с энтузиасткой прошивкой.

TReX
07-12-2013, 21:47
vlmcsd-arm — для ARM-азусов с заводской\мерлиновской прошивкой,
vlmcsd-mipsel — для MIPSEL-азусов с заводской\мерлиновской прошивкой,
vlmcsd-rtn — для роутеров с энтузиасткой прошивкой.


Еще раз благодарю уважаемого ryzhov_al за сборку бинарников под все платформы!
Однако использование КМС на роутере рождает свои проблемы - невозможна автоматическая активация, на клиентах надо прописывать IP сервера KMS, однако при наличие на роутере BIND решается все просто -

Записи для DNS-сервера стандарта BIND 9.x.
Запись типа А в зоне прямого просмотра имеет следующий вид.
kms.example.ru. IN A 10.30.3.3
Вторая запись типа SRV непосредственно указывает на службу KMS.
_vlmcs._TCP SRV 0 0 1688 kms.example.ru.
Где
Имя службы = _vlmcs._TCP
Тип записи= SRV
Приоритет = 0
Вес = 0
Порт = 1688
Имя узла = kms.example.ru
example.ru – это имя домена организации, kms – имя узла активации. Вместо example.ru необходимо подставить имя домена, вашей DNS зоны. Следует отметить, что на клиентских машинах DNS–суффикс должен соответствовать имени домена.

DemonGloom
08-12-2013, 07:05
Еще раз благодарю уважаемого ryzhov_al за сборку бинарников под все платформы!
Однако использование КМС на роутере рождает свои проблемы - невозможна автоматическая активация, на клиентах надо прописывать IP сервера KMS, однако при наличие на роутере BIND решается все просто -

Записи для DNS-сервера стандарта BIND 9.x.
Запись типа А в зоне прямого просмотра имеет следующий вид.
kms.example.ru. IN A 10.30.3.3
Вторая запись типа SRV непосредственно указывает на службу KMS.
_vlmcs._TCP SRV 0 0 1688 kms.example.ru.
Где
Имя службы = _vlmcs._TCP
Тип записи= SRV
Приоритет = 0
Вес = 0
Порт = 1688
Имя узла = kms.example.ru
example.ru – это имя домена организации, kms – имя узла активации. Вместо example.ru необходимо подставить имя домена, вашей DNS зоны. Следует отметить, что на клиентских машинах DNS–суффикс должен соответствовать имени домена.

Тут есть неожиданный подвох. Обычно организации, в которых есть домен, используют немного другое железо. А там, где домена нет - этот трюк всё равно не поможет.
Кстати, есть ли у данного эмулятора ограничение на минимальное количество запросов до выдачи лицензий? Не нужно ли собрать к этой штуке клиент?

TReX
08-12-2013, 14:47
Тут есть неожиданный подвох. Обычно организации, в которых есть домен, используют немного другое железо. А там, где домена нет - этот трюк всё равно не поможет.
Кстати, есть ли у данного эмулятора ограничение на минимальное количество запросов до выдачи лицензий? Не нужно ли собрать к этой штуке клиент?

И в чем подвох? Собрать можно под любую платформу. Естественно есть версия под Win) Поскольку это эмулятор, а не реальный КМС никакая накрутка не нужна

DemonGloom
09-12-2013, 17:58
И в чем подвох? Собрать можно под любую платформу. Естественно есть версия под Win) Поскольку это эмулятор, а не реальный КМС никакая накрутка не нужна

Ну, подвох в том, что данная инструкция вряд ли пригодится в теме роутеров :)
А про накрутку - спасибо, буду знать. У меня тестовая вин8.1 и офис 2013 нормально активировались..

ryzhov_al
23-01-2014, 13:29
Автор очередной раз обновил свой эмулятор и теперь он вообще не требует никаких конфигов или ключей командной строки. При работающем бинарнике выполните в командной строке Windows с админскими правами:

cd C:\Program Files\Microsoft Office\Office15
cscript ospp.vbs /sethst:192.168.1.1
cscript ospp.vbs /act

для активации Office или

slmgr.vbs /skms 192.168.1.1
slmgr.vbs /ato
для активации Windows.

Работает это, естественно, только для Volume License (VL) версий (см. табличку в п.1.2 (http://technet.microsoft.com/en-us/library/jj134256.aspx)).
Бинарники для различных платформ автор теперь собирает сам (http://forums.mydigitallife.info/threads/50234).

andy2112
01-01-2015, 09:08
Бинарники для различных платформ автор теперь собирает сам (http://forums.mydigitallife.info/threads/50234).
А какой из всего этого многообразия бинарников нужно использовать для WL500gp с 1.9.2.7-rtn-r5450?

ryzhov_al
01-01-2015, 13:02
Однако использование КМС на роутере рождает свои проблемы - невозможна автоматическая активация, на клиентах надо прописывать IP сервера KMS, однако при наличие на роутере BIND решается все просто -

Записи для DNS-сервера стандарта BIND 9.x.
Запись типа А в зоне прямого просмотра имеет следующий вид.Да, с такой DNS-записью в консоли ничего вводить не надо. Большинство используют на роутерах dnsmasq, для него соответствующая строчка конфига будет выглядеть так (http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms/page83?p=962046&viewfull=1#post962046).


Тут есть неожиданный подвох. Обычно организации, в которых есть домен, используют немного другое железо. А там, где домена нет - этот трюк всё равно не поможет.Имеется в виду DNS-домен локальной сети, например, router.lan, а не домен Active Directory. В одноранговой сети всё заработает.


А какой из всего этого многообразия бинарников нужно использовать для WL500gp с 1.9.2.7-rtn-r5450?Linux\mips\little-endian\static\vlmcsd-mips32el-uclibc-static

Aleksey44
29-10-2016, 21:01
Файл для rt n56u Ralink MIPS 74Kc@533MHz Не подскажите?