Скрипт для авроры Glory2Aurora

Скрипт, значительно расширяющий функционал Авроры


Screenshot_452

Скрипт сломали, пофиксив его в очередной раз. Как оказалось, G2A оказался обузой для преподавателей в связи с тем, что из-за сбоя начал атаковать сервер Авроры запросами (судя по всему, это была старая версия 1.1).

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

Что делать?

Если вы переживаете по поводу того, что факт установки могут обнаружить, сделайте следующее:

  1. Заходите в папку с Авророй, в адресной строке вводите cmd, нажимаете Enter
  2. В открывшейся коммандлайн пишете:
    start .\ARM_Student.exe --remote-debugging-port=8023
  3. Входите в Аврору.
  4. Открываете любой хромоподобный браузер
  5. Идете по адресу http://127.0.0.1:8023/
  6. Нажимаете на единственную кнопку
  7. Идёте в пункт console сверху
  8. Пишете вниз, где синяя стрелочка в консоли браузера, вот это:
    delete localStorage.institute_id

Что дальше?

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

Ну… зато благодаря скрипту спустя 10 лет в авроре наконец появилась автоматическая авторизация хд

Устаревшая версия

Скачать скрипт [1.3]

Фитчи:

  1. Сохранение в JSON и выгрузка работы из JSON-файла (можно полностью выгрузить чужую работу в аврору)
  2. Полная выгрузка исходников с сервера авроры в отдельную папку
  3. Открытие исходников в Visual Studio одним кликом и их последующая выгрузка на сервер авроры
  4. Генерация методов (пока недоработано, нет наследования, деструкторов и мелкие баги)
  5. Генерация алгоритмов (тоже недоработано, баги с номерами переходов, нет деструкторов, несоответствие методичке, кривая реализация циклов)
  6. Частичное редактирование (насколько позволяет API) и просмотр уже сданных работ
  7. Удалена защита от копирования\вставки
  8. Удалена защита от быстрой печати (основная причина, по которой пришлось писать этот скрипт)
  9. Запоминание аккаунта
  10. И другие

    • Открытие комментария к заданию из меню скрипта
    • Пользовательские патчи (можете запросто перерегистрировать task-модули, регистрируемые с помощью объекта DS, и переписать часть функционала Авроры)
    • Анти-афк

Установка:

Скопировать все содержимое архива в папку с EXE авроры (в *путь*\ARM_Student\)

Запуск скрипта:

С помощью “Glory2Aurora.exe”. Скрипт сам поднимает аврору в режиме отладки, подключается к дебаг-порту, инъецирует скрипт, применяет нужные патчи.

Есть проблемы в работе скрипта? Создавай issue в репозитории

Changelog

Старые версии

Версии 1.1 и выше тут

Версия 1.0 от 24.03.22

Часто задаваемые вопросы (FAQ)
  1. Не находятся include файлы: ошибки вроде ‘iostream’ file not found и т.д. - вообще-то я это вроде как уже починил, но если проблема осталась, создайте issue в репозитории, после чего установите Visual Studio с C++ или LLVM
  2. После запуска программы ничего не происходит - проверьте, что вы распаковали скрипт по верному пути (в ту же папку, где находится EXE авроры) и запускаете его с помощью Glory2Aurora.exe (без аргументов!)
  3. После открытия исходников в Visual Studio командная строка появляется на долю секунды и исчезает, далее ничего не происходит - проверьте, что Visual Studio запускается с помощью команды “start devenv” из командной строки. Если нет, то у вас есть проблемы с переменными окружения винды (переустановка VS поможет)
  4. Не генерируются методы\алгоритмы - читайте ошибку в сообщениях Авроры справа сверху
  5. Аккаунт не сохраняется - перед тем, как вводить какие-либо данные, подождите, пока скрипт внедрится в Аврору и появится галочка “Запомни меня”.
  6. Как выйти из аккаунта? - в “Настройках G2A” есть кнопка удаления сохраненных данных
  7. Как использовать пользовательские патчи? - создайте в папке с EXE авроры файл user-patches.txt, написав каждую JS-команду с новой строки (важно! даже целые task модули должны быть сохранены в одной строчке на команду. Используйте сайты для сжатия JS скрипта, их много)

P.S. Пока код дно, как найдутся силы, перепишу, пофикшу баги и зарелижу обновление. Основной функционал в общем и целом работает.

13 Likes

Зураб VS Студенты - 0:3

2 Likes

Великолепная работа!

4 Likes
перенесено в шапку

Обновление 1.1.
Changelog:

  1. Теперь скрипт сообщает об ошибках компиляции во время генерации методов\алгоритмов
    (под капотом там libclang в обёртке CppAst)
  2. В генерируемых методах появились конструкторы (но не деструкторы. К сожалению, в CppAst нет поддержки деструкторов)
  3. Исправлен модификатор доступа в алгоритмах (теперь он пишется с маленькой буквы и проходит в авроре)
  4. Добавлено условное разделение методов классов на “Функции” и “Методы” (возвращает значение - функция, иначе - метод)
  5. Добавлены недостающие идентификаторы языка C++ из методички
  6. В алгоритмах название класса теперь тоже заполняется автоматически
  7. Багфикс загрузки файлов (старый код во вкладке “Исходный код” больше не перезапишет новые файлы)
  8. Открытие комментария к заданию без закрытия задачи из меню скрипта

Скачать скрипт [1.1]

P.S. Тему редактировать больше нельзя? Кнопка пропала после того, как @DragonProd typo отредачил

upd: Да, теперь все ок, грац :wink:

2 Likes

Проверь сейчас

1 Like

p.s что-то сломал получается, айм сорри :upside_down_face:

Привет, спасибо за прогу, куда можно задонить ?
P.s. не работает загрузка проекта из json файла (скорее всего это связано с недавним обновлением авроры).

Привет, спасибо) донаты пока не собираю, в будущем, возможно, буду на благо проекта, но там пока это не требуется)


Только что проверил, загрузка из JSON у меня работает. Опиши проблему в issues на гитхабе, я ссылку в шапке оставил, если что, можешь прикрепить сам файл задания (там хранится только само задание и ФИО препода, и то, второе легко подтереть через текстовый редактор), может, в нем проблема.
3 Likes

@glory2aurora, привет! Этот скрипт сейчас работает нормально? Кажется, они что-то изменили

@oniel Привет, вставка поломалась)
Код переписали так, что теперь canPaste передается в качестве аргумента функции (=> извне не изменить). Пришлось отвязывать функции блокировки вставки.

С релизом 1.3 поправил

2 Likes

А что теперь больше нельзя в JSON сохранять ?:frowning:

Жалко, что создателя вычислили.

Инсайдерская информация:

Тебе припомнят об этом на экзамене

А сейчас ищут твоих напарников, а может уже нашли.

Кто вычислил и каким образом?

Преподы. Как мне объяснили, преподаватели видят действия студентов в авроре, создание алгоритмов, методов и тд… Действия этого скрипта мешали нормальной работе серверов авроры == мешали преподам, они начали искать проблему, и заметили, что происходит много странных действий от одного пользователя, которых раньше не замечалось. Ну и начали копать, нашли студента.
Самое забавное, что этот студент из группы, чей номер больше 20 (БО--21), в таких группах практически все поступили в институт, чтобы просто посидеть.

Фиксы будут в ближайшее время?