-3

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

Это Windows. .exe . Когда проблема возникает, я получаю сообщение. Я могу найти текст этого сообщения в файле .exe с помощью простой программы поиска. Но я не могу найти эту дату запуска.

Возможно, потому что есть много способов записи даты в программе, я имею в виду 18_09 17.10 17/09/2013 , ...

2 ответа2

3

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

  • Как сказал Рик, скорее всего, разработчик указанной программы не жестко закодировал фактическую дату истечения срока действия (поскольку это повлекло бы за собой создание другой программы, как только прошел год). Это будет означать более высокие затраты на обслуживание и поддержку для указанного разработчика.
  • Даже если он действительно жестко закодировал дату, нет единого мнения о том, как ее сохранить. Если срок действия - строка, вам может повезти, потому что, как сказал Фрэнк, большинство строк хранятся как внутри исполняемого файла. Однако это не правило, и строка может быть зашифрована или, в зависимости от того, как компилятор оптимизировал код, она может быть скрыта внутри двоичного текста, который вы не можете легко понять.
  • Предполагая, что вы можете разобрать программу, вам нужно будет понять тысячи строк кода, которые вошли в программу, и определить, где хранится или вызывается дата истечения срока действия. Однако, в зависимости от страны и законодательства, эта деятельность либо осуждается, либо является незаконной.

Советы в сторону, я пользуюсь тем, что сказал Рик, и немного расширяю его.

Вы можете создать командный файл (как вы сказали .exe-файлы, я предполагаю, Windows), используя следующие команды:

SET CUR_DATE=%DATE%
DATE <insert your pretended date here>
<start your program here>
DATE %CUR_DATE%

Хотя я не проверял это, якобы это делает следующее:

  1. Сохраняет текущую дату, как указано% DATE%.
  2. Устанавливает дату ПК на ту, которую вы хотите, используя команду DATE .
  3. Запускает программу, которую вы хотите.
  4. Сбрасывает дату к текущей, как только ваша программа завершает работу.

Вы можете сохранить этот пакет в каталоге программы, так как вам нужно только написать имя программы, а не полный путь. Однако будьте последовательны в отношении даты, которую вы вводите, поскольку она должна быть в том же формате, что и ваша система. Смотрите ссылку о команде DATE для получения дополнительной информации; в качестве альтернативы просто сделайте echo %date% чтобы увидеть, в каком формате ваш компьютер ожидает вводимую вами дату.

0

Resource Hacker (http://www.angusj.com/resourcehacker/) - это бесплатный инструмент, который можно использовать для открытия и изменения кода и прочего в исполняемых файлах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .