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

 eXeL@B —› Вопросы новичков —› Прошу помоч разобраться
Посл.ответ Сообщение

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

Создано: 13 сентября 2014 20:37 · Поправил: AVanti_473
· Личное сообщение · #1

Есть программа Easy AutoInstaller PRO v4.0.3
Программа позволяет устанавливать все виды программ, эмулирует нажатие кнопок клавиатуры и движение мышки, вводит пароли и пути установок, нажимает галочки, точки и т.д. Автоустановка программ с помощью Silent команд позволяет перегружать компьютер и продолжать установку. Автоматическая установка программ и windows.
Оф. сайт программы
Она уже взломана



Дело в том, что программа, после введения регистрационных данных создаёт в реестре такой вот хитрый ключ:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\Ey4w h-
`{{]
"D1"=dword:00000001
"D2"="54332236444D2E3C"
"D3"="54332236444D2E3C"
"R1"="B4F7879D849025AE9598938583480773176E5F04090B531A0F6C"
"R2"="53375447354D5A4C4B383B4D244B2542452826442449453D5134"


всё бы ничего, но при попытке импортировать его на другую машину, именно только два последних параметра отвечающих за регистрацию:
"R1"="B4F7879D849025AE9598938583480773176E5F04090B531A0F6C"
"R2"="53375447354D5A4C4B383B4D244B2542452826442449453D5134"
НЕ ИМПОРТИРУЮТСЯ!

Как так может быть, чтобы часть параметров импортировалась, а часть нет? Что это за странное название ключа? Как можно исправить это название, чтобы и импорт в реестр проходил нормально и чтобы программа понимала своё ключ?

Вообще интересно, как такой ключ возможен в реестре и от чего зависит такое странное юникодовое название у него?

Прошу не закрывать тему согласно п.3+8 правил, так как, я дал ссылку на программу, на офсайт, на готовый взлом, и рассказал о ключе реестра, с которым сам не в состоянии справится, несмотря на мои многочисленные попытки.

e846_13.09.2014_EXELAB.rU.tgz - install.reg



Ранг: 19.4 (новичок), 11thx
Активность: 0.020
Статус: Участник

Создано: 13 сентября 2014 22:40 · Поправил: elch
· Личное сообщение · #2

AVanti_473
Написал программку (в fasm unicode) ради интереса , которая создаёт странный ключ и добавляет все параметры из install.reg - на XP работает, как на других осях, хз.

7b64_13.09.2014_EXELAB.rU.tgz - curvekey.zip

Из других решений - где-то чёто встречалось, что в батниках можно всякие левые символы юзать, по типу, как в данном ключе - так что ещё можно попробовать поиграться с вариантом батник + reg.exe.



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

Создано: 13 сентября 2014 23:51 · Поправил: AVanti_473
· Личное сообщение · #3

elch, на Win7x86 и Win7x64 программка тоже добавляет всё как надо. Мне просто интересно почему не срабатывает обычный импорт всех значений рег. файла в реестр?
Кстати, а можно как-то раскодировать этот юникод, чтобы он имел какое-нибудь стандартное решение типа XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX принятое в CLSID. И если возможно, то примет его программа, или потребует ключ именно с юникодом в названии?




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 14 сентября 2014 02:53 · Поправил: DimitarSerg
· Личное сообщение · #4

AVanti_473 пишет:
Мне просто интересно почему не срабатывает обычный импорт всех значений рег. файла в реестр?

Вопросом на вопрос: а почему винда должна своими (обычными) средствами принять файл не совсем корректной структуры ?

Программно можно много чего вносить в реестр, и такое, чего вы даже не увидите ! в обычных редакторах реестра (пример - ключи ExeCryptor'a, для записи используются NativeApi).

-----
ds




Ранг: 19.4 (новичок), 11thx
Активность: 0.020
Статус: Участник

Создано: 14 сентября 2014 05:47 · Поправил: elch
· Личное сообщение · #5

AVanti_473 пишет:
Кстати, а можно как-то раскодировать этот юникод, чтобы он имел какое-нибудь стандартное решение типа XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX принятое в CLSID. И если возможно, то примет его программа, или потребует ключ именно с юникодом в названии?

Хз, наверно только если exeшник патчить. Эта белиберда там спецом вшита: --> Link <--



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

Создано: 14 сентября 2014 08:21 · Поправил: AVanti_473
· Личное сообщение · #6

DimitarSerg пишет:
Вопросом на вопрос: а почему винда должна своими (обычными) средствами принять файл не совсем корректной структуры ?


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



Ранг: 19.4 (новичок), 11thx
Активность: 0.020
Статус: Участник

Создано: 14 сентября 2014 11:14 · Поправил: elch
· Личное сообщение · #7

AVanti_473 пишет:
Как так может быть, чтобы часть параметров импортировалась, а часть нет?

AVanti_473 пишет:
Если бы винда вообще не импортировала ни одного значения из этого файла, я бы Вас понял, но ведь винда и ключик в реестре корректно создаёт и четыре значения в него импортирует, а вот последние два (отвечающий именно за регистрацию программы) - облом.

Вчера не пробовал из выложенного install.reg импортировать, а сейчас глянул - у меня на XP, из данного файла ничего не импортируется и кривой ключ не создаётся. Т. е. облом везде.

| Сообщение посчитали полезным: AVanti_473

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

Создано: 14 сентября 2014 22:46 · Поправил: AVanti_473
· Личное сообщение · #8

elch пишет:
у меня на XP, из данного файла ничего не импортируется и кривой ключ не создаётся. Т. е. облом везде


У меня на Win7, как я уже описывал ранее, импортируется лишь часть значений, а ключик в реестре создаётся как надо. Может это особенности более новой версии винды... Пока понятно только то, что ничего не понятно... На самом деле, я, в идеале, хотел бы сделать эту программу портабельной на VMware ThinApp. Но, VMware ThinApp не может собрать проект с кривым ключом. Импортировать ключик скриптом тоже получается невозможным из-за его кривизны и "недокомплекта" импортируемых значений в реальной системе. Не самым лучшим вариантом регистрации портабельного приложения будет "костыль" в виде скрипта, импортирующего необходимые значения из какого-то bat или exe, лежащего рядом с файлом готовой портабельной сборки...
Но, позволю себе повториться - более всего сейчас меня интересуют не какие-то мои цели и виды на эту программу, а именно кривой ключ! В интернете об этом я особо ничего найти не смог. Как автор софта до этого додумался, или где прочитал, да и зачем такой вот выкрутас ему потребовался??? Программа и так прекрасно и быстро сломалась, к тому же устанавливается в оригинальном виде и регистрируется без проблем. Зачем эта фича вообще понадобилась и кому она призвана осложнить жизнь? Если портабелизаторам, то опять не в "кассу", так как можно собрать приложение без этого ключа, а готовая сборка прекрасно принимает регданные и пишет кривой ключ в виртуальный реестр. Тоесть, вполне реально сделать портабельное приложение, которое нужно будет регистрировать лишь первый раз при первом запуске. Это просто такие как я, желают чтобы сразу сделать как надо и работало, но это иногда не обязательно и можно даже портабл регистрировать в виде исключения... Таким образом я вообще не понимаю цель этого ключа в реестре!?!? Но самое главное КАК, и ЧТО с ним можно сделать в плане удобоваримости разными системами относительно регистрационных данных программы...




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 15 сентября 2014 03:18
· Личное сообщение · #9

AVanti_473 пишет:
Таким образом я вообще не понимаю цель этого ключа в реестре!?

Извращенная фантазия автора

AVanti_473 пишет:
ЧТО с ним можно сделать в плане удобоваримости разными системами относительно регистрационных данных программы

Возможно попробовать запатчить так, чтобы она не читала и не писала эту ересь в реестр, при этом считала себя зареганной.

-----
ds


| Сообщение посчитали полезным: AVanti_473

Ранг: 19.4 (новичок), 11thx
Активность: 0.020
Статус: Участник

Создано: 15 сентября 2014 11:36 · Поправил: elch
· Личное сообщение · #10

AVanti_473 пишет:
Но самое главное КАК, и ЧТО с ним можно сделать в плане удобоваримости разными системами относительно регистрационных данных программы...

Как вариант, запуск через лаунчер, хотя пропатчить было бы лучше. Пример лаунчера на fasm:
Code:
  1. start:
  2. ;проверяем наличие EAI.exe (заодно получаем полный путь к нему) рядом с лаунчером
  3.   invoke GetCurrentDirectory,256,curdir
  4.   invoke lstrcat,curdir,prog
  5.   invoke CreateFile,curdir,GENERIC_READ,0,0,OPEN_EXISTING,0,0
  6.   cmp eax,0FFFFFFFFh
  7.   je nothing_error
  8.   mov [fHandle],eax
  9.   invoke CloseHandle,[fHandle]
  10.  
  11. ;создаём кривой ключ в реестре и добавляем рег. данные
  12.   invoke RegCreateKeyEx,HKEY_LOCAL_MACHINE,subkey,0,0,\
  13.   REG_OPTION_NON_VOLATILE,KEY_WRITE,0,hKey,0
  14.   invoke RegSetValueEx,[hKey],szparam1,0,REG_DWORD,szvalue1,4
  15.   invoke RegSetValueEx,[hKey],szparam2,0,REG_SZ,szvalue2,32
  16.   invoke RegSetValueEx,[hKey],szparam3,0,REG_SZ,szvalue3,32
  17.   invoke RegSetValueEx,[hKey],szparam4,0,REG_SZ,szvalue4,104
  18.   invoke RegSetValueEx,[hKey],szparam5,0,REG_SZ,szvalue5,104
  19.   invoke RegCloseKey,[hKey]
  20.  
  21. ;запускаем EAI.exe (с проверкой на запуск, на всякий случай) и ждём его завершения
  22.   invoke CreateProcess,curdir,0,0,0,FALSE,0,0,0,sinfo,pinfo
  23.   cmp eax,0
  24.   je clean
  25. @@:
  26.   invoke Sleep,3000
  27.   invoke GetExitCodeProcess,[pinfo.hProcess],exitcode
  28.   cmp [exitcode],STILL_ACTIVE 
  29.   je @b
  30.  
  31. ;после завершения процесса EAI.exe удаляем кривой ключ из реестра
  32. clean:
  33.   invoke SHDeleteKey,HKEY_LOCAL_MACHINE,subkey
  34.  
  35. ;закрываем лаунчер
  36. exit:
  37.   invoke ExitProcess,0
  38.  
  39. nothing_error:
  40.   invoke MessageBox,0,szmsg,caption,MB_ICONINFORMATION
  41.   jmp exit

03e3_15.09.2014_EXELAB.rU.tgz - Easy AutoInstaller PRO Launcher.7z

На других языках, думаю, примерно так же будет.



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

Создано: 15 сентября 2014 20:54
· Личное сообщение · #11

elch пишет:
Как вариант, запуск через лаунчер, хотя пропатчить было бы лучше.


Тоже вариант, благодарю. Решений уже в принципе достаточно, всё это довольно интересно, тоесть план по решениям даже перевыполнили! Другой вопрос, что исследование "кривого" ключа как такового не продвинулось, но, к большому сожалению это не в моей сегодняшней компетенции, так как я не обладаю достаточными знаниями.

Благодарю Вас elch и Вас DimitarSerg за отзывчивость и помощь! Я обычно уже привык не торопиться в решениях, поэтому, если данную тему не закроют, и у меня получится какой-либо адекватный портабельный вариант этой программы, обещаю дать здесь на него ссылку.

Ещё раз большое всем спасибо!


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


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