Jump to content
Korean Random

fecell

User
  • Posts

    293
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by fecell

  1. 09.02.2021 в 19:37, Dragon armor сказал:

    Вот что это означает. Теперь ясно-понятно.

    Да, это оно. Ещё и про-лицензия. Всё так же, константы в одном месте, код в другом, вызов через функцию в третьем месте.

    Прикольно =) Не совсем так, но частично верно.

    09.02.2021 в 16:18, Dragon armor сказал:

    И все пользуются бесплатной, ясно.

    Искал сайт через web.archive, но выдало, что результат не найден.

    версия с .pyd имела большие ограничения, поэтому её разработка была прекращена.

    в той версии любой скрипт после декомпиляции был лишь.

    __import__('scraZ').scarZ()

    в свою очередь pyd из вызываемого скрипта брал все остальное, расшифровывал и запускал.

    ёмнип, в lnotab хранились сами зашифрованные данные. как запускался после расшифровки не помню, надо поднимать исходники, Py_EvalEx вроде вызывался. Был расшифрованный скрипт еще чем-то защищен или нет (типа перемешать байткод), уже забыл. Та версия никогда нигде не публиковалась, была тестовой предварительной. В сети её не найти.

  2.  

     

    Ну ункомпил6 же берет их в Орионе.

    хм. может это я ошибся декомпилятором. проверю сегодня попозже.

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

  3. Надо отправлять после того, как в агнар зашел, а у тебя сразу после загрузки мода.. т.е. именно где-то посередине загрузки игры.

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

    Вот тут исходники модов, например - https://koreanrandom.com/forum/topic/28020-%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B8-%D0%BC%D0%BE%D0%B4%D0%BE%D0%B2-spotera-%D0%BD%D0%B0-github/

    • Upvote 1
  4. реплеи на сервере хранятся, по их анализу и вычисляют.

     

    проверять чистоту каждого запускаемого клиента - на это даже у олигархов денег не хватит.

    это фактически каждый запуск игры надо будет полностью твой клиент отправлять на сервер ВГ.

     

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

    но проверять полностью клиент - это фантастика. ты сам как это себе представляешь?

  5. Здравствуйте форумчане.

    Собственно интересует цена такого мода, который в ангаре в определенные время выдаст сообщение с кнопками. 

    Точно такой есть у сборки от Про Танки, когда оповещает о выходе новой версии модпака. 

    стоимость любой работы можно расчитать зная что именно за работа должна быть выполнена.

    "в определенный момент" - ради этого не придется ли писать систему распознования речи и лиц?!

    думаю намек понятен.

  6. @StranikS_Scan, ну так-то да))) я его плагином к горну сделал, а потом горн надоело актуализировать под каждый патч. из кода плагина прям в сообщении поправил чтобы просто модом был, а с раскладкой не удачно вышло. Спасибо, поправил!

  7. Комрады, держите исходник какой у меня остался.

    import socket
    import sys
    
    global old_socket
    global allowlist
    
    def getstack():
        try:
            raise ZeroDivisionError
        except ZeroDivisionError:
            f = sys.exc_info()[2].tb_frame.f_back
            selfname = f.f_code.co_filename.lower()
            f = f.f_back
    
        retval= []
        while f is not None:
            co = f.f_code
            filename = co.co_filename
            name = co.co_name
            if filename.lower().find('scripts/common/lib/') == -1 \
            and filename.lower().find(selfname) == -1:
                retval.append((filename, name))
            f = f.f_back
        retval.reverse()
        return retval
    
    def new_socket(*args, **kwargs):
        call_stack = getstack()
        for filename, name in call_stack:
            for testname in allowlist:
                if filename.find(testname) != -1:
                    print '[wotFirewall] INFO: Network activity ALLOWED for "%s"' % filename
                    return socket.SocketType(*args, **kwargs)
                else:
                    print '[wotFirewall] ALERT! Network activity BLOCKED:  - "%s" in %s' % (filename, name)
        raise socket.error('\'[wotFirewall] wotFirewall: BLOCKED\'')
    
    allowlist = ['RSSDownloader.py', 'feedparser.py', 'CustomFilesCache.py', 'predefined_hosts.py']
    old_socket = socket.socket
    socket.socket = new_socket
  8.  

     

    а про то как сп*здить чужой код

    любопытное наблюдение. на еврофоруме моды открыты, никто ничего не крадет. в RU зоне закрыты и крадут..

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

     

     

     

    Есть вопрос не по теме WoT, как можно с вами связаться?

    небось про revelation online, угадал? ))) популярная тема стала после релиза.

    • Upvote 2
  9. 1.

     

    я в питонах ваще ни ни..

    "ок, гугл. питон самоучитель."

     

    2. тут тема не про танки, а инструмент защиты исходного кода для питона заточенное под танки в том числе, и тем более не про создание "ну вы это и так поняли". ошибся темой.

    • Upvote 2
  10.  

     

    этот файл я уже год назад под себя переписал)

    ну тады надо от исходников оригинала отталкиваться, наверное.

    http://gnuwin32.sourceforge.net/packages/gettext.htm

    там правда грязными 79 мегабайт кода исходного (включая ChangeLog.0 и т.п.).. голову сломать можно разбираясь с ним. :(

×
×
  • Create New...