Я не могу увидеть что вызвало проблему. Инструкция интерпретировалась правильно, cr0 перед вызовом имел адекватное значение. База gdt верная и ее размер тоже. Я только понял, что значения появляются не случайные а это начало перезапуска QEMU
jcmvbkbc, Но я поставил точку останова на адрес 0х7777 и перехода туда не произошло. А интерпретация не должна повлиять по идее. В регистре ip после дальнего прыжка адрес 0xe05b оказывается
У меня были похожие мысли, я пробую найти "правильный формат" в дизассемблере клиента. Проблема еще в том что оригинальный клиент каждую секунду посылает на сервер UDP пакеты похожие на пинг
В декомпиляторе к x1 присваивается адрес 0x2d71250 я смотрел в шестнадцатеричном дампе на адрес, там нет строчек. Отладчик у меня не работает к сожалению, возможно потому что я дизассемблирую IOS приложение, работает только какой-то бестолковый эмулятор.
Если поменять 0x250 на 0x248 то в запросе получится 0 вместо 1, логического объяснения я этому не нашел. Вы правы гадать так очень глупо.
Мне нужен был именно метод. Я совсем забыл про то что в res я не могу присвоить еще не конвертированное значение из str. Пришлось повозиться с новыми переменными и Parse.
Ожидал примерно такого ответа:
public static int Last(int count)
{
string str = count.ToString();