Я вижу что вы копируете указатель на память, содержащую строку. При этом вы не учитываете, что этот указатель может ссылаться на память, которую кто-то выделил и когда-то освободит, что, скорее всего, и происходит.
Я вижу вариант со встраиванием в ваше приложение Питона. Расширение регистрирует обработчики через вызов специальной питоней функции. При возникновении события приложение дергает питоний код, который дергает зарегистрированные обработчики.
Ну, тащемта, детальное понимание работы имеющегося софта позволит переписать его под другую платформу. Можно, в принципе, посмотреть спецификацию на чип (если она есть) и попробовать написать по ней, но к реверсингу это будет имело слабое отношение.