• XSS.stack #1 – первый литературный журнал от юзеров форума

Как писать скрипты для gdb?

AFANX

CD-диск
Пользователь
Регистрация
24.11.2022
Сообщения
13
Реакции
34
Всем ку
Решил научиться писать скрипты на python для gdb. Точки останова, считывать регистры итд получается. У меня не получается вот что: взял какой то таск цтфный, в которой изи вулна переполнения буфера только там ввод значений через клаву, то бишь стандартный поток. Искал в инете инфу по этому моменту и не нашёл ничего или находил, но не работало. Вопрос такой: как это сделать? Где найти, ну хотя бы справку, как писать скрипты для gdb?
 
Последнее редактирование:
Решение
Если я правильно тебя понял, ты хочешь в своем скрипте обрабатывать этот ввод, так, чтобы пихать строку, не используя клаву, а автоматизировать этот процесс. Другими словами ввод идет не через argv[], а через scanf(), gets().

Тут я бы порекомендовал посмотреть в сторону pwntools он много позволяет в этом плане.

Или можно обойтись как бы без скрипта
например так
run < input.txt
А так же через set args

Что касается написания своих собственных скриптов под GDB то читай ман
sourceware.org/gdb/current/onlinedocs/gdb.html/index.html
Смотри главу 23, а так же 23.3 и другие

Так же можно использовать например GEF, он это позволяет
Easily extensible to create other commands by providing d more comprehensible layout to GDB Python API.
...
Пожалуйста, обратите внимание, что пользователь заблокирован
Если я правильно тебя понял, ты хочешь в своем скрипте обрабатывать этот ввод, так, чтобы пихать строку, не используя клаву, а автоматизировать этот процесс. Другими словами ввод идет не через argv[], а через scanf(), gets().

Тут я бы порекомендовал посмотреть в сторону pwntools он много позволяет в этом плане.

Или можно обойтись как бы без скрипта
например так
run < input.txt
А так же через set args

Что касается написания своих собственных скриптов под GDB то читай ман
sourceware.org/gdb/current/onlinedocs/gdb.html/index.html
Смотри главу 23, а так же 23.3 и другие

Так же можно использовать например GEF, он это позволяет
Easily extensible to create other commands by providing d more comprehensible layout to GDB Python API.

hugsy.github.io/gef/api/

Если он не по душе, то pwndbg.
pwndbg.re/pwndbg/commands/

Или взять на основу PEDA
github.com/longld/peda
 
Решение
В результате скрафтил костыль: pwntool делает core файл и дальше уже в gdb с помощью core файла работаю)
Если я правильно тебя понял, ты хочешь в своем скрипте обрабатывать этот ввод, так, чтобы пихать строку, не используя клаву, а автоматизировать этот процесс. Другими словами ввод идет не через argv[], а через scanf(), gets().

Тут я бы порекомендовал посмотреть в сторону pwntools он много позволяет в этом плане.

Или можно обойтись как бы без скрипта
например так
run < input.txt
А так же через set args

Что касается написания своих собственных скриптов под GDB то читай ман
sourceware.org/gdb/current/onlinedocs/gdb.html/index.html
Смотри главу 23, а так же 23.3 и другие

Так же можно использовать например GEF, он это позволяет


hugsy.github.io/gef/api/

Если он не по душе, то pwndbg.
pwndbg.re/pwndbg/commands/

Или взять на основу PEDA
github.com/longld/peda
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх