Как запустить файл с ключом
Перейти к содержимому

Как запустить файл с ключом

  • автор:

Запуск программы с ключами

Как зделать батник чтобы он запсукал программу с ключами к файлу, и показывал надпись "Идёт обновление. (Желательно чтобы точки двигались ну типо . .. . )" а когда процесс setup.exe завершался, батник выводил сообщение "Обновление завершено, нажмите любую клавишу"
Вот из этого:

Запуск программы с ключами (с параметрами)
Программа должна печатать результат в зависимости от трех ключей: -p, -u и -l. В консоли захожу в.

Запуск программы с ключами.Как такую написать?
Здравствуйте, помогите написать программу которою можно-бы было запускать с ключами Например, .

Как исправить ошибку: одинаковый запуск программы с разными ключами
case 0 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break; case 1 : FullPath =.

Запуск скрипта с ключами
Мой скрипт приведенный здесь https://www.cyberforum.ru/python/thread336360.html#post1868544 выдает.

Добавлено через 5 часов 38 минут
Блин,а на самом деле не работает!

может нужно написать
start "" "setup.exe" —install-archive="CHROME_PATCH.PACKED.7Z" —multi-install —chrome —do-not-launch-chrome
и setup.exe в этой же папке? если нет то надо полный путь прописать.

Добавлено через 14 минут
Даже наверно так
start "" /wait "setup.exe" —install-archive="CHROME_PATCH.PACKED.7Z" —multi-install —chrome —do-not-launch-chrome

если каталог другой то
start "" /Dкаталог /wait "setup.exe" —install-archive="CHROME_PATCH.PACKED.7Z" —multi-install —chrome —do-not-launch-chrome

Сообщение от atributz

может нужно написать
start "" "setup.exe" —install-archive="CHROME_PATCH.PACKED.7Z" —multi-install —chrome —do-not-launch-chrome
и setup.exe в этой же папке? если нет то надо полный путь прописать.

Добавлено через 14 минут
Даже наверно так
start "" /wait "setup.exe" —install-archive="CHROME_PATCH.PACKED.7Z" —multi-install —chrome —do-not-launch-chrome

если каталог другой то
start "" /Dкаталог /wait "setup.exe" —install-archive="CHROME_PATCH.PACKED.7Z" —multi-install —chrome —do-not-launch-chrome

Второй способ рабочий! Спасибо!

А вот теперь как зделать чтобы надписи показывались?
А то если сохраню в utf-8 то код нерабочим становится, а если в ASNI то вместо русского эироглифы всякие

Как запустить игру с параметром, ключом

На этой странице вы найдете детальную инструкцию по запуску игры параметрами, ключами запуска. «Зачем это нужно?» — спросите вы. Чтобы ответить на этот вопрос необходимо рассказать что такое параметры, ключи запуска и на что они могут влиять. При запуске игры с указанием параметров вы активируете скрытые возможности, которые в большинстве случаев нельзя включить каким-либо другим путем. Следует также сказать, что каждая игра имеет свои индивидуальные ключи запуска, не зная о которых вы не сможете что-то активировать.

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

Создание ярлыка игры

Прежде чем создать ярлык игры, необходимо найти файл, который отвечает ее запуск. Все эти файлы имеют расширение exe, то есть значок запуска игры будет иметь следующий формат имени: название.exe Следует также сказать, что расширение exe может быть скрытым (не отображаться). Необходимый файл запуска находится в месте, которое вы указали во время установки — это может быть следующий путь:
C: \ Program Files \ название_игры \ название_название.exe

  1. Кликните правой клавишей мыши по значку. Найдите пункт Отправить — Рабочий стол (создать ярлык).
  2. Зажмите на клавиатуре комбинацию клавиш [Ctrl] + [Shift] и перетащите значок на рабочий стол.
  3. Зажмите на клавиатуре клавишу [Alt] и перетащите значок на рабочий стол.

Добавление параметров запуска к ярлыку игры

Ярлык создан и можно добавлять параметры запуска игры. Для этого кликните правой клавишей мыши по созданному ярлыку на Рабочем столе и выберите пункт Свойства. Перед вами появится окно в котором вам понадобиться отредактировать только одно поле с названием Объект.

Для того чтобы запустить игру с параметрами (ключами) их необходимо дописать в конце поля Объект через пробел. Сразу следует сказать, что параметров запуска может быть больше одного и все они записываются в следующем формате в конце поля Объект через пробел:

Как запустить файл с ключом

Сообщения: 1708
Благодарности: 314

Конфигурация компьютера
Процессор: AMD Phenom X4 810
Материнская плата: Gigabyte MA785GMT UD2H
Память: Kingston 2*2Gb DDR3-1333 at Dual Chanel
HDD: 2*Seagate 1500Gb SATA II NCQ 32mb
Видеокарта: Gigabyte ATI4880
Звук: int AC97
Блок питания: FSP 400PNF 400w
CD/DVD: Nec 3110a->4111a
Монитор: Samsung 961BW Wide
ОС: Win XP SP3 Update Pack Corp VL Rus\win7 RTM
Индекс производительности Windows: 5.9

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

Пишет неправильный ключ /resident, из командной строки все нормально.

Если запускать так

батник "зависает", но программа запускается.

Думается причина где-то в синтаксисе.

Сообщения: 6026
Благодарности: 3491

Конфигурация компьютера
Процессор: Intel Core 2 Quad Q9300, 2500 MHz (7,5 x 333)
Материнская плата: Asus P5Q PRO
Память: Transcend 2048×2 4096 Мб (DDR2-1066 DDR2 SDRAM)
HDD: Seagate ST3250410AS (250 Гб, 7200 RPM, SATA-II) + STM31000528AS (1 Тб, 7200 RPM, SATA-II)
Видеокарта: Asus EAH3650 (RV635)
Звук: Realtek ALC1200 (встроенный)
Блок питания: ExeGate <ATX-350PPX> 350W
CD/DVD: Optiarc DVD RW AD-7170S
Монитор: Samsung SyncMaster 971P 19»
ОС: Windows 7 Ultimate SP1 (x64)
Индекс производительности Windows: 5,9

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

Как запустить программу с ключом

На этой странице вы найдете детальную инструкцию по запуску игры параметрами, ключами запуска. «Зачем это нужно?» — спросите вы. Чтобы ответить на этот вопрос необходимо рассказать что такое параметры, ключи запуска и на что они могут влиять. При запуске игры с указанием параметров вы активируете скрытые возможности, которые в большинстве случаев нельзя включить каким-либо другим путем. Следует также сказать, что каждая игра имеет свои индивидуальные ключи запуска, не зная о которых вы не сможете что-то активировать.

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

Создание ярлыка игры

Прежде чем создать ярлык игры, необходимо найти файл, который отвечает ее запуск. Все эти файлы имеют расширение exe, то есть значок запуска игры будет иметь следующий формат имени: название.exe Следует также сказать, что расширение exe может быть скрытым (не отображаться). Необходимый файл запуска находится в месте, которое вы указали во время установки — это может быть следующий путь:
C: \ Program Files \ название_игры \ название_название.exe

  1. Кликните правой клавишей мыши по значку. Найдите пункт Отправить — Рабочий стол (создать ярлык).
  2. Зажмите на клавиатуре комбинацию клавиш [Ctrl] + [Shift] и перетащите значок на рабочий стол.
  3. Зажмите на клавиатуре клавишу [Alt] и перетащите значок на рабочий стол.

Добавление параметров запуска к ярлыку игры

Ярлык создан и можно добавлять параметры запуска игры. Для этого кликните правой клавишей мыши по созданному ярлыку на Рабочем столе и выберите пункт Свойства. Перед вами появится окно в котором вам понадобиться отредактировать только одно поле с названием Объект.

Для того чтобы запустить игру с параметрами (ключами) их необходимо дописать в конце поля Объект через пробел. Сразу следует сказать, что параметров запуска может быть больше одного и все они записываются в следующем формате в конце поля Объект через пробел:

Взлом программ для чайников

Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.

В данной статье я хочу рассказать про три с половиной основных способа взлома программ на .NET, цель, которую я преследую — помочь разработчикам лучше понять механизмы защиты своих программ, т.е. выяснить наиболее очевидные угрозы и предпринять соответствующие меры (или не принимать).

Я не буду углубляться в детали и использовать сложные инструменты для взлома. Всё будет расписано «для чайников», т.е. все инструменты будут простыми, легкодоступными и бесплатными. А основным будет Reflector, декомпилятор программ под .NET

В качестве подопытного кролика я выбрал Expresso — анализатор регулярных выражений. Данная программа бесплатная, в лицензии вроде бы ничего не указано про взлом, но при этом без регистрации она будет работать всего 60 дней. Другими словами, вред от взлома данной программы минимальный, к тому же внутреннее её устройство очень уж хорошо подходит для тренировки. Буду надеяться, что автор данной программы не обидится на меня.

Для начала краткий ликбез по структуре .NET программы, для тех кто не знаком с разработкой под данный Framework: весь код, написанный на любом .NET языке (C#, Visual Basic, F#, Delphi.NET) компилируется в особый Intermediate Language, называемый обычно IL или MSIL. Это что-то типа ассемблера, только весьма умного и обладающего весьма мощными инструкциями. И это, в принципе, такой же равноправный язык как и C#, только синтаксис похуже (а возможности больше). Кроме того, в программе на .NET активно используются метаданные, т.е. вся информация о классах, метода, пропертях, атрибутах и всём остальном сохранена в исполняемом файле.

Т.е. на самом деле, декомпиляция программы не очень верное понятие в данном случае. Она и так вся в открытом виде лежит, а инструменты в виде Reflector’а занимаются тем, что приводят конструкции MSIL к соответствующим конструкциям C# или другого языка, повышая читабельность кода.

Перейдём, собственно, к взлому.

0. Обнуление триала

Собственно, это даже не взлом, а полулегальный способ продлить срок использования неактивированной программы. Заключается он в том, что находится место, где хранится дата первого запуска и меняется/уничтожается. После этого всё можно пользоваться программой до следующего срока.

Посмотрим на нашего подопытного рефлектором. Немного погуляв по коду, находим интересную строчку в конструкторе MainForm:

Открываем редактор реестра, идём в HKEY_CURRENT_USER\Software\Ultrapico\Expresso и видим следующие ключи:

Удаляем их и получаем ещё 60 дней работы.

Данный вариант, конечно, прост и очевиден, но если он даже был бы сложнее — потребовалось бы чуть больше времени провести в рефлекторе, чтобы выяснить все места, куда пишется информация и зачистить их.

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

1. Написание keygen’а

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

Открываем рефлектор и ищем код на предмет классов содержащих License или Registration, видим:

При вводе имени и кода по имени вычисляется некий хеш, который и сравнивается с кодом.

Данный хеш использует DES и всякие префиксы

Байты конвертятся в строку с помощью данного метода.

Теперь всё выяснилось, открываем IDE и копируем все необходимые куски кода (или сами реализовываем). Осталось только выяснить, какие значения у Prefix, Suffix и параметры реализации MyDES. Я их приводить не буду, это уже технические детали.

В результате генерируем ключ на любое имя и видим:

Защита от кейгенов проста и очевида: использовать в каком либо виде ассиметричное шифрование. Т.е. сделать так, чтобы без знания приватного ключа сгенерировать код было бы невозможно, а данный ключ находится только в одном месте — у автора программы.

2. Использование враппера

Проверка корректности лицензии, достаточно хлопотное дело, и небыстрое. Поэтому разработчики программ обычно проверяют лицензию один раз, и дальше используют полученный флажок — валидна/невалидна (как вариант насколько валидна, если допускается несколько типов лицензии, отличающихся возможностями). Тут можно на этом сыграть, использовав следующий алгоритм:

  1. Указать программе, что лицензия уже проверена
  2. Указать программе, что лицензия корректна

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

Воспользуемся этим. Сделаем новый проект, добавим Reference на Expresso.exe и запустим его через себя:

Смотрим, что получилось:

Ну кто бы сомневался.

В данном случае всё оказалось просто, но если бы автор программы заменил публичные свойства на приватные, то всего-лишь пришлось бы использовать Reflection для доступа и всё бы свелось к исходной задаче.

Думаю понятно, как можно пробовать защититься от этого — проверять лицензию периодически, смотреть окружение из которого запущена программа, сделать невозможным установку нужной переменной.

Но все эти защиты приведут к тому, что злоумышленник будет использовать

3. Физический взлом программы

Тут уже всё серьёзно. Программа целиком декомилируется в MSIL а из него уже собирается обратно (помните, я писал, что MSIL это такой же язык как и C#?). Для декомпиляции нам понадобится утилита из SDK под названием ildasm, а для компиляции компилятор из .NET Framework ilasm.

Запускаем ildasm, открываем Expresso.exe и сохраняем дамп в .il файл. Находим уже рассмотренный метод IsRegistered и добавляем немножко своего кода (без меток):

Потом берём ilasm и собираем всё назад (не забыв подключить ресурсы).

Что делает данный код: устанавливает нужное имя для регистрации (не обязательно), и возвращает статус, что всё хорошо.

Чтобы было понятнее, так это выглядит в рефлекторе, в C#

Т.е. вполне очевидно, что теперь всё будет хорошо:

Немного про код в MSIL: это стековая машина, у которой нет регистров, все операции имеют вид: засунуть в стек нужное количество параметров, выполнить функцию, которая заберёт нужное количество параметров и положит результат. Ну и обратно: установить значение переменной тем, что лежит в стеке. Чтобы лучше понять работу всего этого рекомендую простой приём: пишите маленькую программу на привычном языке, компилируете, смотрите что получилось в MSILe и разбираетесь в конструкциях языка.

При этом некоторые вещи в MSIL можно сделать очень красиво, например поменять две переменные местами — 4 симпатичных строчки (на C# меньше, но некрасиво).

Чем жертвует злоумышленник: подписью программы, теперь она уже не автора, а его. В некоторых случаях это проблема, если в программе используется множество библиотек. Тогда злобному хакеру придётся разбирать их все и собирать их заново, но если он с этим справится, то у него будет «своя» версия программы подписанная его ключом.

Защиты от всего этого безобразия собственно немного: проводить обфускацию или выносить часть логики/проверки защиты в нативный код.

Как запустить программу с ключом

Сообщения: 1709
Благодарности: 314

Конфигурация компьютера
Процессор: AMD Phenom X4 810
Материнская плата: Gigabyte MA785GMT UD2H
Память: Kingston 2*2Gb DDR3-1333 at Dual Chanel
HDD: 2*Seagate 1500Gb SATA II NCQ 32mb
Видеокарта: Gigabyte ATI4880
Звук: int AC97
Блок питания: FSP 400PNF 400w
CD/DVD: Nec 3110a->4111a
Монитор: Samsung 961BW Wide
ОС: Win XP SP3 Update Pack Corp VL Rus\win7 RTM
Индекс производительности Windows: 5.9

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

Пишет неправильный ключ /resident, из командной строки все нормально.

Если запускать так

батник "зависает", но программа запускается.

Думается причина где-то в синтаксисе.

Сообщения: 6040
Благодарности: 3491

Конфигурация компьютера
Процессор: Intel Core 2 Quad Q9300, 2500 MHz (7,5 x 333)
Материнская плата: Asus P5Q PRO
Память: Transcend 2048×2 4096 Мб (DDR2-1066 DDR2 SDRAM)
HDD: Seagate ST3250410AS (250 Гб, 7200 RPM, SATA-II) + STM31000528AS (1 Тб, 7200 RPM, SATA-II)
Видеокарта: Asus EAH3650 (RV635)
Звук: Realtek ALC1200 (встроенный)
Блок питания: ExeGate <ATX-350PPX> 350W
CD/DVD: Optiarc DVD RW AD-7170S
Монитор: Samsung SyncMaster 971P 19»
ОС: Windows 7 Ultimate SP1 (x64)
Индекс производительности Windows: 5,9

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *