«Ошибка инициализации: запуск на нелегальном хосте [2]» из лаборатории бомб при запуске под GDB? - PullRequest
0 голосов
/ 13 октября 2019

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

gdb bomb
...
(gdb) break phase_1
Breakpoint 1 at 0x1264
(gdb) run
Starting program: .../bomb
Initialization error: Running on an illegal host [2]
[Inferior 1 (process 3262) exited with code 010]

Я не знаю, почему я не смог даже запустить файл бомбыПожалуйста, помогите.

1 Ответ

1 голос
/ 13 октября 2019

Ваша бомба защищена от несанкционированного доступа и намеренно отказывается запускаться на вашей машине. (Или, возможно, программа обнаружила, что она работала в отладчике, и использовала это сообщение, даже если на хосте университета? ) Это сообщение было напечатано самой программой-бомбой, а не GDB.

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


Тем не менее, я гуглил эту строку и обнаружил https://github.com/heapsters/manual в котором упоминается:

Включите флаг -q, который запрещает программе связываться с несуществующим сервером оценок в дополнение к вышеуказанной ошибке.

Так что стоит попробовать run -q, если ваша бомба поддерживает эту опцию командной строки. Если это так, то вы, вероятно, намереваетесь использовать отладчик для определения фаз, но не для того, чтобы полностью пропустить фазы и перейти к той части программы, которая утверждает, что вы сняли ее с охраны.

...