G44Gonzalo [ G44 YT ] Ответов: 3

Вводим немного кода в исполняемый файл.


У меня есть исполняемый файл, и я не могу сделать это с помощью кода.
Я хочу ввести немного условности при запуске файла. Это предотвратит изменение имени исполняемого файла людьми.
Это было бы похоже на:
If this.filename != "RightName" then STOP running

Есть идеи? Я знаю, что это немного странно, но мне это действительно нужно.

Редактировать:
Хорошо. Я разработчик игр Unity. Перед запуском игры и некоторого кода, который я написал, Unity запускает небольшое окно, где вы можете ввести некоторые вещи через чит-движок или что-то в этом роде.
У меня есть некоторые проблемы с хакерами, но мне нужно исправить одну, которая работает, изменив имя исполняемого файла. Я ничего не могу запрограммировать, потому что хакеры тоже могут редактировать мой код, декомпилируя DLL Unity.

Что я уже пробовал:

Я не мог ничего предпринять, потому что мало что об этом знаю.
Я много искал, но не нашел никаких результатов.

0x01AA

И почему c#?

ZurdoDev

А почему бы и нет?

G44Gonzalo [ G44 YT ]

Ну, спасибо, но это не то, что я ищу.

ZurdoDev

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

G44Gonzalo [ G44 YT ]

Ладно, я должен был написать это раньше. Я разработчик игр Unity. Перед запуском игры и некоторого кода, который я написал, Unity запускает небольшое окно, где вы можете ввести некоторые вещи через чит-движок или что-то в этом роде.
У меня есть некоторые проблемы с хакерами, но мне нужно исправить одну, которая работает, изменив имя исполняемого файла. Я ничего не могу запрограммировать, потому что хакеры тоже могут редактировать мой код, декомпилируя DLL Unity.

ZurdoDev

Да, это совершенно другая история. Я бы связался с Unity и спросил их, как они предлагают вам справиться с этим.

3 Ответов

Рейтинг:
2

MadMyche

Когда все сказано и сделано, вы не можете.

Единственный реальный способ сделать это-в коде реального приложения.

Хотя вы можете обернуть исполняемый файл внутри другого пакета, но затем вы также можете подорвать его, вызвав файл напрямую.


ZurdoDev

Если бы у вас было консольное приложение windows (как простой пример) в main (), вы могли бы проверить имя файла и выйти, если это не то, что вы хотели.

MadMyche

Это не соответствует требованиям I have an executable, and I can't do this through code

ZurdoDev

ОП говорит, что они не знают, как это сделать с помощью кода, а не то, что требование состоит в том, чтобы не использовать код.

MadMyche

Как вы уже отмечали ранее, ОП необходимо прояснить этот вопрос

Рейтинг:
2

honey the codewitch

Некоторое время назад я делал это для поддержки аспектно-ориентированной платформы поверх COM и автоматизации. В конце концов я отказался от этой затеи, хотя она и сработала.

С этим подходом связано несколько проблем.

Он будет помечать большинство антивирусных сканеров.

Во многих случаях он не является надежным, если исполняемый файл изменяется.

Он может не работать с DEP, который в наши дни активен на большинстве машин, я думаю.


Рейтинг:
2

Richard MacCutchan

Видеть Unity - Scripting API: Application.productName[^]