Coder Social home page Coder Social logo

neimark_solution_template's Introduction

Привет )
Я тут подался на позицию разработчика в компанию Volve
(да-да, они ещё делали Full-Death 1 & Full-Death 2!!!).
И мне даже предлагают должность разработчика античита,
но вот только надо решить тестовое, а я в этих системных штучках ни бум-бум :(

Как я понял, суть в том, что надо написать код, обнаруживающий
наличие виртуализации в окружении. Т.е. программу, которая пишет в stdout
строчку 'VM', если она запущена в виртуалке, и 'HW', если нет.
Шаблон для решения и докерфайл для сборки мне дали, ещё сказали, зачем-то,
что программа будет выполняться в линуксе на Intel Core i3-12100.
Команды для сборки из инструкции:
sudo apt-get install docker-buildx
docker build --network=host --output=build .

У них там даже система проверки решения есть, вот примеры её запуска:
./submitter register --address <addr> --nickname <nickname>
./submitter submit --address <addr> --executable <solution> --nickname <nickname> --token <token>
./submitter get-status --address <addr> --submit-id <submit-id>
Адрес чек системы, поднятой для меня - 84.38.184.195:8080
(ну там help есть, разобраться не трудно...)

Ещё есть два момента:
 - в submitter'e была уязвимость (уже поправили, я им рассказал), и
   мне удалось через неё вытащить из их чек системы один бинарь - guard.
   Насколько я понял, через него запускаются все решения,
   но в ассемблере я не шарю, поэтому понять, что имеено он делает не могу(
   Ну, я его приложил на всякий случай - вдруг ты в нём что-нибудь найдёшь.
 - я позасылал туда некоторые решения, и иногда они получали вердикт RUNTIME_ERROR,
   хотя локально проходили. Авторы задачки сказали, что такое бывает, если решение пытается
   совершить запрещенное действие. Мне кажется, за поиск таких действий
   отвечает тот же guard, но это не точно...

Поможешь решить?

neimark_solution_template's People

Contributors

rkhapov avatar

Stargazers

 avatar Edem Khadiev avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.