kvs/objdump_readelf/kvs_gen1.py
artradeskz ada86c945e Add files via upload
Выравнивние сегментов
2025-11-03 08:38:15 +03:00

33 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

with open("привет5.квс", "w", encoding="utf-8") as f:
f.write(".текст\n.глобал _start\n\n")
# Мусор в .text
for i in range(4410):
f.write(f"наполнитель_{i}: переместить_имм раикс, 0x{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}\n")
# Основной код
f.write("\n_start:\n")
f.write(" переместить_имм раикс, 1\n")
f.write(" переместить_имм рдиай, 1\n")
f.write(" переместить_имм рсиай, msg0\n")
f.write(" переместить_имм рдикс, 21\n")
f.write(" вызов_системы\n\n")
f.write(" переместить_имм раикс, 1\n")
f.write(" переместить_имм рдиай, 1\n")
f.write(" переместить_имм рсиай, msg1\n")
f.write(" переместить_имм рдикс, 21\n")
f.write(" вызов_системы\n\n")
f.write(" переместить_имм раикс, 60\n")
f.write(" переместить_имм рдиай, 0\n")
f.write(" вызов_системы\n\n")
f.write(".данные\n")
# Мусорные строки для переполнения страницы
# Каждая строка ~25 байт, нужно ~410 строк для 10250 байт (2.5+ страницы)
for i in range(410):
f.write(f'garbage_msg{i}: .строка "МУСОРНЫЕАННЫЕ_{i:04d}"\n')
# Целевые строки (должны быть на следующей странице)
f.write('msg0: .строка "Привет мир!\\n"\n')
f.write('msg1: .строка "Поди прочь!\\n"\n')