Как я понял, поиск строк нужен чтобы передать данные в игру. И если решится как передавать данные, то необходимость в поиске строк отпадет сама собой.
Насчет передачи данных в игру, я бы попробовал поискать метод в jvm, которая позовляет выполнить метод (invoke), а затем с помощью него вызывать ваш java код и передавать в него необходимые данные.
Что вы имеете в виду под отправкой внутрь игры? В документации описано как передавать данные в скрипт, который вы внедрили. Здесь описано как искать информацию в памяти (функция Memory.scan).
Mixim333 Разные случаи бывают. Приложение может успешно обойти google bouncer, и пару недель пролежать на google play, при этом иметь внутри кучу malicious функциональности. Или, к примеру предустановленный оператором/вендором софт может содержать уязвимости, которые дают удаленный доступ к устройству.
JEB хороший, но платный. Еще есть вариант экспортировать декомпилированый код из jd-gui в eclipse и пользовался там инструментами рефакторинга для переименования. IDA(которая в общем-то, тоже платная), если не ошибаюсь, позволяет переименовывать, но там только со smali получится работать. Зато благодаря тому что она рисует CFG, который можно править, в некоторых случаях получается понятнее всего
Я в этом году ребенка в школу повел. И там учитель информатики предлагает мне организовать кружок обучения программированию по вот этой программе: (http://codeclubua.org/ сайт на украинском, но есть еще английский вариант www.codeclub.org.uk/). Как по мне выглядит интересно. Начинается с графического языка scratch, дальше идет python. Задачи веселые, игрушки какие-то писать, графика для игрушек есть уже, план занятий и код какой-то на гитхабе, как я понимаю. Единственное что вызывает опасения возраст 9-11 лет. Это ж вообще мелкие ребята какие-то. Хотел поэтому спросить: вот у вас из пятого класса ходит человек. С ним как, сложнее чем с теми которые постарше?
Diablo. Null-modem cable и сотни часов потраченных с соседом сверху. Потом был Diablo the hell, где я понял что как реверсер — я ноль. А где-то между было Duablo II, где тоже с удовольствием ковырялся в коде. В общем к чему это я. Именно дьябло познакомило меня с программированием и дизассемблером, за что ему и спасибо.
На здоровье, конечно, но на всякий случай хочу предупредить, что не уверен что она является хорошим решением, или хорошей практикой, или вообще чем-то хорошим. Точно помню, что там был какой-то баг )). И, кажется, я перегружал квадратные скобки для регистров. (int*)(void*)(context->ESP+4) вроде это можно как-то по-другому переписать. Или нет. В любом случае, рад, что вам пригодилось.
Тоже сталкивался с подобным. Написал обертку над mhook, чтобы в функцию-перехватчик передавались регистры. Перехват выглядит примерно так: надо прототипами функций особо не заморачиваюсь, зато можно ставить перехват где-нибудь посредине функции. Не уверен что это очень здорово, но мне нравится.
Насчет передачи данных в игру, я бы попробовал поискать метод в jvm, которая позовляет выполнить метод (invoke), а затем с помощью него вызывать ваш java код и передавать в него необходимые данные.
habrahabr.ru/post/132441/
Да, я понимаю. Это возможно.
Через трубу. Будьте последовательны.
void hookProc(Context &context) {
SomeClass *someObj = (SomeClass*)context.ECX.value;
DWORD someval = context.EAX.value;
}
RegisterHook(0x0A0A0A0A, hookProc);