Порылся в коде Login.Register и его собственных хуков, так как встала такая же проблема.
И так, что делать:
в параметрах вызова указать:
Далее, добавить поля:
<div class="register_math_div">
<span>
[[+op1]]
</span>
<span>
[[+operator]]
</span>
<span>
[[+op2]]
</span>
=
<input type="text" size="2" name="math" value="" class="registration_input" style="display:inline">
<input type="hidden" size="2" name="op1" value="[[+op1]]">
<input type="hidden" size="2" name="op2" value="[[+op2]]">
<input type="hidden" size="2" name="operator" value="[[+operator]]">
</div>
Фишка в том, что math хук использует данные плейсхолдеры, сравнивая свои вычисления с тем, что ввёл пользователь. Теоретически, можно переопределить названия полей, но я воспользовался тем, что прописано по умолчанию.
В такой реализации, у меня регистрация работает, будут ли сбриваться боты - посмотрим:)