Сейчас на форуме: (+8 невидимых) |
eXeL@B —› Крэки, обсуждения —› Как установить прогу обернутую InstallSield 7.x ес |
Посл.ответ | Сообщение |
|
Создано: 18 декабря 2004 03:41 · Личное сообщение · #1 Привет всем!!! Кто нибудь будте так добры обрисуйте мне не "грамотному" в етой области, как можно обойти проверку серийника в инсталяшке. Я пробовал ковырять в айсе, но етот InstallSield гонял меня по всяким isrt.dll , iscript.dll, ничего не накопал только запутался. Не давно узнал что такое файл сценария *.inx и если его подправить то все будот 'ок'. Ето канечно понятно только вот как его назад подсунуть инсталятору ведь он лежит в архиве IScab который просто RAR'ом не распокуеш в отличии от MS cab и не запокуеш, что важнее. Если кто нибудь сталкивался с такой задачей то помогите мне . |
|
Создано: 18 декабря 2004 06:19 · Личное сообщение · #2 |
|
Создано: 18 декабря 2004 08:33 · Личное сообщение · #3 Viper Тебе пригодятся несколько инструментов: i6comp - распаковщик (или соответственно i7), WinPack - как удобная оболочка для этого распаковщика, И самое главное что-то вроде той утилиты что я приатачил. Она вроде правит сценарий, сам я пользовался другой (только 9x), ну ещё исправить можно в hex-редакторе самому, только контрольную сумму поправить проще утилиткой. Там всё здорово читается даже в hex-виде. Те же 74 >75. _1064098377__SiD for inx.rar ----- Всем привет, я вернулся |
|
Создано: 19 декабря 2004 05:37 · Личное сообщение · #4 Все я понял, спасибо за помощь. Я правда уже решил этот вопрос с установкой, нашол серийник прям в файле сценария , декомпилировав его Sid'ом. Только вот чото сама прога не желает запускаться толи сама не работает толи как-то защищена. Хотелось бы знать причину, причом ни в XP ни в 98 винде не запускается. Ни кто с таким явлением не встречался ? А на васме я статейку читал, весьма интересная и полезная информация. |
|
Создано: 19 декабря 2004 11:47 · Личное сообщение · #5 |
|
Создано: 20 декабря 2004 07:29 · Личное сообщение · #6 |
|
Создано: 20 декабря 2004 10:24 · Личное сообщение · #7 |
|
Создано: 20 декабря 2004 13:06 · Личное сообщение · #8 |
|
Создано: 20 декабря 2004 13:25 · Личное сообщение · #9 |
|
Создано: 20 декабря 2004 14:39 · Личное сообщение · #10 Viper пишет: Т. е. как я понял ето подсадные серийники типа чтоб жизнь не казалась легкой. Нет, эти ключи были правильные, но потом попали в инет и на диски, следовательно, производитель исключил их из оборота. Viper пишет: А ведь где-то должен быть тот который настояший или функция какая для его генерации , или я не прав ? Где-то должна... Но реверс одного байта гораздо проще. А серийника в чистом виде ты не найдешь в inx файлах никогда. ----- Всем привет, я вернулся |
|
Создано: 21 декабря 2004 10:30 · Личное сообщение · #11 |
|
Создано: 22 декабря 2004 03:44 · Личное сообщение · #12 Bitfry Разбираясь с inx файлом обнаружил непонятную мне картину: Пароль имеет следующий формат xxx-xxxxxxxxxx-xxxx, это прям сто пудово. Так вот прикол втом, что если ввести первые три числа '008' а остальные любые, на сколко фантазии хватит, то инсталяшка проходит дальше, но результат - не запускается прога. Да я вроде понял, что три части серийника проверяются отдельно. Почему реакция только на первые три цифры ? label_5e48: StrSub(local_string8, global_string25, 0, 4); StrLengthChars(global_string25); local_number6 = LASTRESULT; local_number6 = (19 != local_number6); local_number7 = (local_string8 != "008-"); local_number6 = (local_number6 || local_number7); if(local_number6) then // ref index: 1 global_string25 = ""; function_269("WRONG_SERIAL"); local_string12 = LASTRESULT; function_302(local_string12, -65533); goto label_5ddb; {переход чуть выше где происходит очистка Edit и повторный ввод серийного номера} endif; label_5ee8: Как я понял исходя из данного кода первые три цифры должны быть 008 иначе серийник сразу неверный, может я ошибаюсь . |
|
Создано: 22 декабря 2004 10:03 · Личное сообщение · #13 if(local_number6 != 19 || local_string8 != "008-") local_number6 = false; if(local_number6 == false) { global_string25 = ""; function_269("WRONG_SERIAL"); local_string12 = LASTRESULT; function_302(local_string12, -65533); goto label_5ddb; }Хм, это если я сам нигде не ошибся. Терпеть не могу такую форму записи... |
|
Создано: 22 декабря 2004 12:45 · Личное сообщение · #14 |
|
Создано: 23 декабря 2004 09:03 · Личное сообщение · #15 Вот продолжение: label_5ee8: StrSub(global_string29, global_string25, 15, 4); {тут похоже оставшиеся 15 символов заносятся в G_S25, а в G_S29 первые 4 после '008-'} label_5efe: local_string6 = global_string8; local_string1 = ""; local_string2 = ""; function_414(local_string1, local_string2, local_string6, 0); local_number1 = LASTRESULT; local_number6 = (local_number1 = 12); if(local_number6) then // ref index: 1 goto label_5ddb; endif; label_5f60: if(global_number29) then // ref index: 1 ComponentSelectItem(global_string6, "ASIO Multimedia driver", 1); endif; label_5f95: local_number6 = (local_number1 = 303); if(local_number6) then // ref index: 1 local_string1 = ""; local_string2 = ""; local_string10 = global_string8; local_string9 = ""; local_number3 = 2; function_384(local_string1, local_string2, local_string10, local_string9, local_number3); local_number1 = LASTRESULT; local_number6 = (local_number1 = 12); if(local_number6) then // ref index: 1 goto label_5efe; endif; endif; label_6029: ShowObjWizardPages(local_number1); local_number1 = LASTRESULT; local_number6 = (local_number1 = 12); if(local_number6) then // ref index: 1 goto label_5efe; endif; label_6062: local_string1 = ""; local_string2 = ""; function_417(local_string1, local_string2); local_number1 = LASTRESULT; local_number6 = (local_number1 = 12); if(local_number6) then // ref index: 1 goto label_6029; endif; label_60b2: function_269("APP_NAME_FILE"); local_string12 = LASTRESULT; local_string6 = (global_string8 ^ local_string12); ComponentSetTarget(global_string6, "<RT Player path>", local_string6); ComponentSetTarget(global_string6, "<APPTARGET>", local_string6); function_269("APP_NAME_FILE"); local_string12 = LASTRESULT; function_465(local_string6, "\"%s\\%s\" %%1", global_string8, local_string12); ComponentSetTarget(global_string6, "<RT Player open>", local_string6); global_string26 = global_string25; StrSub(global_string25, global_string25, 0, 14); {тут вроде опять какието части от ключа рассовываются, только эту строку я чо-то не очень понял} // return coming return 0; end; // checksum: 79b2fd31 Если мои коментарии верны ? то выходит что надо отлавливать что- то связанное с global_string25, global_string29. Но идя по ходу действий ничего с ними связанного больше не увидел, дошол вот до чего RegDBSetDefaultRoot(-2147483646); local_string3 = global_string8; function_338(1, local_string3); local_string5 = (local_string3 ^ global_string18); function_338(2, local_string5); function_269("APP_MAIN_KEY"); local_string5 = LASTRESULT; function_339(local_string5, "s/n", 1, global_string25, -1); function_269("APP_MAIN_KEY"); local_string5 = LASTRESULT; function_339(local_string5, "Name", 1, global_string27, -1); function_269("APP_MAIN_KEY"); local_string5 = LASTRESULT; function_339(local_string5, "Company", 1, global_string28, -1); function_269("APP_MAIN_KEY"); local_string5 = LASTRESULT; function_339(local_string5, "Build", 4, global_string29, -1); local_string3 = (global_string8 ^ ""); function_269("APP_MAIN_KEY"); local_string5 = LASTRESULT; function_339(local_string5, "Help Path", 1, local_string3, -1); Это как я понял занесение в реестр каких-то ключей . В связи со всем этим у меня пока две версии либо проверка остальной части ключа идет где-то в dll , что врядли , либо что скарее всего после инсталяции при запуске программа проверяет эти ключи в реестре и серийник а потом уже делает для себя вывод 'да' или 'нет', да и еще это подтвердил RegMon ключики считывает. |
eXeL@B —› Крэки, обсуждения —› Как установить прогу обернутую InstallSield 7.x ес |