![]() |
eXeL@B —› Вопросы новичков —› Достать серийник из .msi |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 12 ноября 2012 15:43 · Личное сообщение · #1 |
|
Создано: 12 ноября 2012 15:48 · Поправил: ZaZa · Личное сообщение · #2 SaNTa76 Выложи файлик, посмотрим... А вообще то ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 12 ноября 2012 16:15 · Личное сообщение · #3 |
|
Создано: 12 ноября 2012 16:18 · Личное сообщение · #4 SaNTa76 А по меньше есть пример инсталятора -> этой конторы? Влом качать 25 метров для теста утилиты. ![]() |
|
Создано: 12 ноября 2012 16:26 · Личное сообщение · #5 |
|
Создано: 12 ноября 2012 16:28 · Личное сообщение · #6 |
|
Создано: 12 ноября 2012 16:53 · Личное сообщение · #7 Там надо декомпилировать InstallShield-скрипт чтоб увидеть что он делает. Но сразу скажу, это немного бессмысленно, так как там есть middleCA.dll, из которой вызывается функция проверки серийника. Вызывается как раз из скрипта инсталлятора. То есть надо брать эту dll-ку и изучать. Нет никакой гарантии что в разных дистрибутивах она будет одна и та же. Более того далее по скрипту он еще и регистрироваться предлагает для получения лицензии, хотя возможно это можно пропустить. ![]() |
|
Создано: 12 ноября 2012 16:56 · Поправил: ZaZa · Личное сообщение · #8 hypn0 Опередил )) Вот сама библиотека, если надо кому: А все начинается тут: Code:
----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 12 ноября 2012 17:11 · Поправил: SaNTa76 · Личное сообщение · #9 |
|
Создано: 12 ноября 2012 17:25 · Личное сообщение · #10 1. Открываем в Orca... 2. Кликаем на таблицу ControlEvent и ищем диалог SerNumDlg, Control=Next, Event=DoAction... Смотрим что у нас в столбце Argument, а там у нас IsValidRegInfoUI 3. Идем в таблицу CustomAction и ищем там этот загадочный IsValidRegInfoUI... Находим и смотрим что в столбце Source... А там у нас middleCA 4. Идем в таблицу Binary и ищем middleCA. Находим... Но вот незадача! В столбце Data фигня какая-то )) 5. Кликаем меню Tables -> Export tables. Выбираем директорию и экспортируемую таблицу Binary и нажимаем ОК... 6. Если все норм, тада напишет, что экспортирована 1 таблица! 7. Заходим в папку и видим там другую папку: Binary, а там все файлы... Берем и нагло меняем расширение у файла middleCA.ibd на middleCA.dll 8. Смотрим каким-либо инструментом экспортируемые функции с указанием оффсета (в данном случае 0x4400). 9. Грузим в отладчик - переходим на нужный адрес (у меня: 0x10004400). Это и есть начало функции... Ну а дальше разбираем! ) ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 12 ноября 2012 17:27 · Поправил: mysterio · Личное сообщение · #11 SaNTa76 ZaZa опередил ;) ----- Don_t hate the cracker - hate the code. ![]() |
|
Создано: 12 ноября 2012 17:39 · Личное сообщение · #12 Вообще нужно не обойти серийник а узнать его (их). Нужен для регистрации на форуме - чтоб потом качать обновки. mysterio, спасибо за помощь...., без обид.... хотелось не готового лекарства, а как самому лечить. ZaZa впринципе библиотеку я выгружал утилитками из wasm.ru но и такой метод (ручной практически) ну очень мне полезен. Спасибо!. Поясни пожалуйста только пункт 9. Каким инструментом и как посмотреть. Остальное все понятно. Еще расскажите потом как назад впихнуть излеченую библиотеку в msi и чтобы она не ругнулась? Или проще хексом подправить сам мси? (знаю что через опу - но я так иногда делаю ![]() ![]() |
|
Создано: 12 ноября 2012 17:45 · Поправил: ZaZa · Личное сообщение · #13 SaNTa76 пишет: 9. Каким инструментом и как посмотреть. Остальное все понятно. Я пользуюсь FileInfo Lister plugin for Total Commander ( А обратно впихнуть можно тем же самым Orca... Меню Tables -> Import Tables. Выбирай файл Binary.idt, он напишет, отличаются ли файлы или нет... А потом сохраняй да и все! Но можно и через HEX редактор конечно! )) ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 12 ноября 2012 18:01 · Личное сообщение · #14 |
|
Создано: 13 ноября 2012 13:30 · Личное сообщение · #15 Что-то не получается у меня выйти на генерацию и сверку серийника. msi так просто не запустить под ольгой. Вообще в комплекте есть setup.exe через него я попытался придти к генерации серийника. Поставил бряк на функции MsiGetPropertyW и после нажатия на некст ждал бряка. Вышел на чтение параметров. Но обращение к знакомым функциям из middleCA.dll я не нашел. Вообще если пускать через setup.exe то msi копируется во временную папку и там запускается. А как можно запустить под Ольгой msi не пользуясь setup.exe? Подскажите как копать? ![]() |
|
Создано: 13 ноября 2012 14:38 · Личное сообщение · #16 |
|
Создано: 13 ноября 2012 14:43 · Личное сообщение · #17 |
|
Создано: 13 ноября 2012 16:15 · Поправил: ZaZa · Личное сообщение · #18 SaNTa76 Смотрел бегло и чисто интуитивно. Просто загрузил middleCA.dll в отладчик и без отладки просмотрел... Code:
Вот там пробегись по коду, там есть сравнение которое нужно занопить... Должно помочь... Ориентируйся по строковым переменным... ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 13 ноября 2012 17:14 · Личное сообщение · #19 |
|
Создано: 13 ноября 2012 17:28 · Личное сообщение · #20 |
|
Создано: 13 ноября 2012 17:42 · Личное сообщение · #21 Думаю что нашел, но чета сходу не соображу как там все проверяется. Когда голую библиотеку запускаю там же серийник пустой поэтому непонять как там проверяется, куда записывается. Я вот и думал как поживому увидеть все эти проверочки. Походу проверочка идет на 10004AA0. Если проходим ее то топаем на 10004BB0. Если нет то на 10004B4A. ![]() ![]() |
|
Создано: 13 ноября 2012 21:21 · Личное сообщение · #22 |
|
Создано: 13 ноября 2012 22:11 · Личное сообщение · #23 |
|
Создано: 13 ноября 2012 22:37 · Поправил: uncleua · Личное сообщение · #24 |
|
Создано: 14 ноября 2012 00:30 · Личное сообщение · #25 |
|
Создано: 14 ноября 2012 06:14 · Поправил: ZaZa · Личное сообщение · #26 SaNTa76 пишет: А как извлечь и всунуть назад файл в msi? Экспортом только таблица извлекается... ZaZa пишет: Создано: 12 ноября 2012 17:45:00 А обратно впихнуть можно тем же самым Orca... Меню Tables -> Import Tables. Выбирай файл Binary.idt, он напишет, отличаются ли файлы или нет... А потом сохраняй да и все!Но можно и через HEX редактор конечно! )) Это не то, не? ![]() SaNTa76 пишет: Файл из таблицы File, а не Binary. Ну и ладно! Мое дело предложить - Ваше дело: отказаться! ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 14 ноября 2012 09:36 · Личное сообщение · #27 ZaZa не то. Файл из таблицы File, а не Binary. Просто хочется сделать дистриб чтоб не патчить потом ручками. uncleua, попробую MSI Studio Pro - может получится. CSoft выкладывает не для всех продуктов серийники. В данном случае так полезнее решается вопрос. В любом случае все работы по лечению выполнены - остались только рюшечки сделать для удобства установки. ![]() |
|
Создано: 15 ноября 2012 02:07 · Личное сообщение · #28 SaNTa76 пишет: Что-то не получается у меня выйти на генерацию и сверку серийника Это удобней смотреть при запросе лицензий и на сколько я помню, середина серийника это покриптованная контрольная сумма первой и последней части серийника, на все продукты CSoft алгоритм был одинаковый, да и сейчас наверно тоже. SaNTa76 пишет: Вообще нужно не обойти серийник а узнать его (их). Нужен для регистрации на форуме - чтоб потом качать обновки. Сгенерированный серийник в этом не поможет, при регистрации идет сверка с базой клиентов. ![]() |
|
Создано: 15 ноября 2012 10:45 · Личное сообщение · #29 Так и не смог подменить файл в msi. MSI Studio Pro красивая прожка - но вот что-то ничего она не сделала. c7111981 остался исключительно спортивный интерес по расшифровке серийника. Кстати не обязательно делать обходы в файле проверки серийника - достаточно удалить его вообще из msi и поудалять все поля с обращением к нему. Где-то сделал обходом, а где обойти не получилось поудалял все обращения к dllке. Регистрироваться с ним на форуме уже не надо. Нашел другой путь ![]() P.S. еще есть философско-этические моменты по варезу: "А стоит ли выкладывать?" Ну и так как никогда этим не занимался есть моменты опасения за свою шкуру. ![]() |
|
Создано: 15 ноября 2012 13:38 · Личное сообщение · #30 SaNTa76 пишет: Кстати не обязательно делать обходы в файле проверки серийника - достаточно удалить его вообще из msi и поудалять все поля с обращением к нему. Где-то сделал обходом, а где обойти не получилось поудалял все обращения к dllке. По мне так проще длл в одном месте подправить, чем кучу в инсталляторе править. P.S. еще есть философско-этические моменты по варезу: "А стоит ли выкладывать?" Ну и так как никогда этим не занимался есть моменты опасения за свою шкуру. Дело ваше, припугнуть могут, но со стороны CSoft выпадов вроде не было. Так и не смог подменить файл в msi. MSI Studio Pro красивая прожка - но вот что-то ничего она не сделала. В таких случаях никогда не подводил InstallShield ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Вопросы новичков —› Достать серийник из .msi |