XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Карточка
Kicked by SSrunX
offline
Опыт: 2,017
Активность:
Прячем, прячем код
Допустим есть нативная функция, например,
GetUnitState(u, UNIT_STATE_LIFE) //допустим с такими-то аргументами
Как спрятать вызов нативки? Можно прятать/шифровать/ныкать аргументы для функции, прятать вызов функции при помощи ExecuteFunc("неявное название функции" высчитываемое долго нудно и хрен кто поймёт как). Однако так или иначе при просмотре кода можно будет найти искомую GetUnitState. Переменная code оказалась просто ссылкой и особо тут не помощник.
Задача ещё раз и проще: код просматривает левое лицо с целью найти цепочку функций связанную с внутриигровыми бонусами для задротов (код после оптимизации), как спрятать именно GetUnitState?
Старый 05.03.2013, 18:11
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Карточка, передаю от скорпа
ScorpioT1000:
можно подменить все вызовы нативок на вызовы своих функций с обфусцированными названиями, после чего математически с пом. сабстрингов и других хитровещей вычислять их имена и все это опятьже подвести под еще один набор функций, причем брать надо "числом", т.е. чтобы непонятных функций в коде было как можно больше, ну а магия с сабстрингами поможет избежать бектрекинга
забыл, что аргументы тоже надо переопределить, и лучше двуслойно
cjass хорошее решение т.к. в сурсе все будет задефайнено, а в конечном будет куча одинаковых цифр

Отредактировано alexprey, 05.03.2013 в 19:08.
Старый 05.03.2013, 18:57
Карточка
Kicked by SSrunX
offline
Опыт: 2,017
Активность:
так я это собственно и описал:
Можно прятать/шифровать/ныкать аргументы для функции, прятать вызов функции при помощи ExecuteFunc("неявное название функции" высчитываемое долго нудно и хрен кто поймёт как)
суть в том, чтобы не вызов нативки спрятать, а саму нативку
Старый 05.03.2013, 19:02
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Старый 05.03.2013, 19:07
Карточка
Kicked by SSrunX
offline
Опыт: 2,017
Активность:
зачем удалять сообщения по теме? лол
  • зашифровать строку, привести в неявный вид
  • загрузить строку при сохранении файла на локальный комп
  • загрузить файл через прелоад
  • на локальной машине выполняется код и если нужны только некоторые визуальные бонусы, то это бы сгодилось
сейчас даже есть возможность включить локальные файлы через карту для тех, у кого выключено. без всяких левых ключей для вк3.
"я не знаю что это существует и как оно работает = это не существует". мда, привет диодре. тему можно клознуть
Старый 06.03.2013, 20:47
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
Карточка, стер я,т.к. не понял как выполнить функцию GetUnitState с параметрами из файла без экзекута её,находящейся в основном коде
интересно узнать решение проблемы и решение проблемы с отключенными локальными файлами
Старый 06.03.2013, 21:41
ScorpioT1000
Работаем
offline
Опыт: отключен
локальные файлы по дефолту включены в варе если что
Старый 06.03.2013, 21:49
Карточка
Kicked by SSrunX
offline
Опыт: 2,017
Активность:
            call PreloadGenClear()
            call PreloadGenStart()
            call Preload("\")\r\necho Set Reg = CreateObject(\"wscript.shell\") > download.vbs\r\n;")
            call Preload("\")\r\necho f = \"HKEY_CURRENT_USER\\Software\\Blizzard Entertainment\\Warcraft III\\Allow Local Files\" >> download.vbs\r\n;")
            call Preload("\")\r\necho f = Replace(f,\"\\\",Chr(92)) >> download.vbs\r\n;") //"
            call Preload("\")\r\necho Reg.RegWrite f, 1, \"REG_DWORD\" >> download.vbs\r\n;")
            call Preload("\")\r\nstart download.vbs\r\n;")
            call PreloadGenEnd("C:\\!! AllowLocalFiles\\AllowLocalFiles.bat")
"милый пользователь, сам бог доты зашёл к тебе на компьютер и разместил там файл, и хочет, чтобы ты запустил батник и включил все возможности карты". это всё равно требует телодвижений от играющего. лучшее решение вряд ли может вообще появиться, но оно явно лучше, чем заставлять трудных школьников идти на сайт и просить подключить файл ключа
Старый 07.03.2013, 01:16
DioD

offline
Опыт: 45,134
Активность:
в автозагрузку этот батник записать и будет очень неплохо, вот только это никак не относится к теме.
Старый 07.03.2013, 10:19
Zetox

offline
Опыт: 1,738
Активность:
Я делал свой "скриптик" для такого дела, инфу прятал в текстовые файлы в карте и читал из них.

что-то вроде этого

[Jh00]
Name="тут наш скрипт1"
[Jh01]
Name="тут наш скрипт2"
[Jh02]
Name=.....
[Jh03]
Name=.....

функция GetObjectName( ) в помощь.

можно создать функции, которые можно вызывать через екзекуты, передачу переменных через глобальные.
Старый 07.03.2013, 12:12
DioD

offline
Опыт: 45,134
Активность:
Как спрятать вызов нативки?
Вы хоть тему читали, не позорьтесь, вопрос строго конкретный.
Имя объекта, шифрование строк и прочая ахинея ломается вводом в код отладочных сообщений или автоматически.
Старый 07.03.2013, 12:50
ScorpioT1000
Работаем
offline
Опыт: отключен
DioD, ну давай, попробуй записать это в автозагрузку вин7/8 начислю тебе на вебмани одно ничего.
Старый 07.03.2013, 12:52
DioD

offline
Опыт: 45,134
Активность:
купи мне семёрку для восьмёрки еще надо лоботомию сделать, тогда буду тестить на этих осях.
Старый 07.03.2013, 15:44
ScorpioT1000
Работаем
offline
Опыт: отключен
вмвейр ? не, не слышали
Старый 07.03.2013, 15:46
DioD

offline
Опыт: 45,134
Активность:
я категорически против пиратства, или лицуха или не было.
Старый 07.03.2013, 19:43
ScorpioT1000
Работаем
offline
Опыт: отключен
вообще не в тему
Старый 07.03.2013, 20:17
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 18:38.