Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2019 December 16

M

Max in Android NDK (C++) — русскоговорящее сообщество
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Наверное, видосик лучше
источник

o

oles in Android NDK (C++) — русскоговорящее сообщество
Конвенция вызовов не соблюдена походу
источник

o

oles in Android NDK (C++) — русскоговорящее сообщество
А хотя нет все ок
источник

t

trashkalmar in Android NDK (C++) — русскоговорящее сообщество
Ребята, причём тут андроид?
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Игра, для сборки которой нужна эта либа, выйдет на Андроид :)
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Вот финальное видео. 0xa30=2608 - это и есть правильный размер буфера, который, как выяснилось, заменяется на адрес.
yadi.sk/i/doR4tfES9uS8nQ
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Всё, с проблемой я разобрался. Такое поведение было вызвано несоответствием типов вызывающей программы и DLL. При этом я сам допустил ошибку: запускал отладку в релизной версии, из-за чего и не мог понять, что происходит, т.к. никаких предупреждений от компилятора я не получал. До этого я потратил много времени на компиляцию вызывающей программы, в Debug она так и не запускается (там нужно дописывать пути к заголовкам, что сделал только для релизной версии) :). Так вот при запуске отладчика в Debug режиме после работы функции, которая возвращала буфер, VS выдаёт предупреждение о проблемах с регистром ESP.
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
В DLL у меня подключался заголовочный файл wintypes.h, в котором были описаны типы (что-то такое: typedef uint32_t DWORD;). А в вызывающей программе использовался стандартный windows.h, который я и прописал в коде библиотеки. Так что для решения проблемы достаточно было поменять одну строку.
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Сейчас всё работает. Я, кстати, сравнивал асм код с тем, который вызывал такое поведение. Разница всего в одну команду.
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Спасибо всем за помощь!
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Max
Спасибо всем за помощь!
Я хоть и не помог, но спасибо что не исчез, а рассказал как решилось :)
источник
2019 December 17

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Тем и пахло.
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Кто-то ломал стек и переменная которая хранилась в стеке получала левое значение.
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
молодец, что разобрался до конца.
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Вопрос по NDK. Можно ли сделать что-то, чтобы компилятор не сохранял имена функций и классов? Открыл либу в IDA - и всё на виду.
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Max
Вопрос по NDK. Можно ли сделать что-то, чтобы компилятор не сохранял имена функций и классов? Открыл либу в IDA - и всё на виду.
Гугли про обфускацию
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Тебе нужно что то, что сделает валидный для бинарника мусор вместо читаемых имен
источник