Как я могу поместить пользовательский, цветной ascii art в Metasploit?

1759
Iszi

Я хотел бы добавить или изменить изображение ASCII, которое отображается при запуске в Metasploit.

Где / где файлы, которые мне нужно отредактировать, чтобы сделать это, и каков синтаксис? Как я могу включить цвет в искусство? Поддерживает ли он символы Юникода?

1

2 ответа на вопрос

3
Daniel Beck

Баннеры определены в исходном коде ruby, в msf/lib/msf/ui/banner.rb. Это простые строки Ruby, разделенные обычно одинарными кавычками или %Q{/, }если используются форматирующие заполнители. Между этими строками есть только запятая. Просто добавьте один в массив, они выбираются случайным образом (в конце файла).

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

Баннеры Metasploit поддерживают цвета и форматирование (жирный шрифт, подчеркивание), определенные в msf/lib/rex/ui/text/color.rbосновном - обычные 16 или около того терминальных цветов.

Ясно больше RTFSC - Прочитайте Прекрасный Исходный код :-) Daniel Beck 12 лет назад 2
Благодарю. Мне трудно понять, что такое разделитель между произведениями искусства. Кроме того, есть ли какие-либо символы, которые я должен исключить из "изображений"? Iszi 12 лет назад 0
@Iszi Я немного добавил к своему ответу. Помните, что вы программируете Ruby, если вы редактируете эти файлы, поэтому просто обратитесь к документации Ruby, если вы застряли. Daniel Beck 12 лет назад 0
0
M0r3Sh3lls

Metasploit will parse it and output the color... it removes spaces and can mess up your spacing.

variable = "%cyn" + "Make me cyan color!!!" + "%clr"

print_line(variable)

Referenced here https://github.com/pwnieexpress/metasploit-framework/blob/master/lib/rex/ui/text/color.rb

str.gsub!(/%cya/, pre_color+colorize('cyan')+post_color) str.gsub!(/%red/, pre_color+colorize('red')+post_color) str.gsub!(/%grn/, pre_color+colorize('green')+post_color) str.gsub!(/%blu/, pre_color+colorize('blue')+post_color) str.gsub!(/%yel/, pre_color+colorize('yellow')+post_color) str.gsub!(/%whi/, pre_color+colorize('white')+post_color) str.gsub!(/%mag/, pre_color+colorize('magenta')+post_color) str.gsub!(/%blk/, pre_color+colorize('black')+post_color) str.gsub!(/%dred/, pre_color+colorize('dark', 'red')+post_color) str.gsub!(/%dgrn/, pre_color+colorize('dark', 'green')+post_color) str.gsub!(/%dblu/, pre_color+colorize('dark', 'blue')+post_color) str.gsub!(/%dyel/, pre_color+colorize('dark', 'yellow')+post_color) str.gsub!(/%dcya/, pre_color+colorize('dark', 'cyan')+post_color) str.gsub!(/%dwhi/, pre_color+colorize('dark', 'white')+post_color) str.gsub!(/%dmag/, pre_color+colorize('dark', 'magenta')+post_color) str.gsub!(/%und/, pre_color+colorize('underline')+post_color) str.gsub!(/%bld/, pre_color+colorize('bold')+post_color) str.gsub!(/%clr/, pre_color+colorize('clear')+post_color) 

Похожие вопросы