Хочу сделать две программы, чтобы проверить как это будет работать.
В первой будет просто постоянный вывод Hello world
А во второй уже можно изменить текст этого hello world на любой.
Как вообще работает инжект в программу, и как оттуда берутся нужные данные, которые можно изменить, и как эти данные обратно засовываются в программу, которая без перезапуска и без новой компиляции меняет эти данные?
mov ax, offset s1 - это нужно преобразовать в опкод т.е. это шелл-код который будет внедряться в участок памяти (здесь лишь фрагмент ассемблерной инструкции), чтобы это осуществить - долго учиться нужно
Для этого вторая программа должна запустить первую со своими стандартными потоками ввода-вывода. Тогда она сможет читать то, что первая будет выводить в stdout и stderr.