Насколько я понимаю, Вы решаете CrackMe или ломаете какое-то коммерческое приложение?
Боюсь, что в "более сложных задачах" вы столкнетесь с тем, что приложение будет накрыто каким-то популярным протектором, где весь чувствительный код виртуализирован.
Без должной квалификации во всех этих потрохах будет практически невозможно разобраться.
8iKS, чтобы в будущем поменьше встречаться с подобными проблемами можете скачать себе бесплатную версию IDA, чтобы потом проверять выхлоп компилятора https://hex-rays.com/ida-free/
Если не изменяет память, то в студии по дефолту проект создается вроде с __cdecl, из-за чего и будет крашить
Update:
Ложная тревога. Только обратил внимание, что у автора 64-битное приложение.
Там всегда будет __fastcall вне зависимости от объявленого соглашения.
(но для 32-битной версии приложения ему придется пофиксить соглашение о вызовах)
Valentin Borisenko, у вас есть возможность вынести критически важные части функционала в нативный код?
Например это можно сделать в виде PHP Extension. А затем пытаться защищать уже нативный код (инструментов для этого хватает)
жрут меньше оперативки, так как библиотека загружается один раз, после чего разные процессоры могут ее юзать
Это справедливо для определенной части системных библиотек (и то с некоторыми оговорками), которые во всех процессах, в которые они загружены, имеют один и тот image base: kernel32.dll, kernelbase.dll, ntdll.dll, etc.
Для остальных библиотек загрузка по их image base не гарантирована и они почти всегда будут получать другой image base. Это заставит системный PE loader обрабатывать для этих DLL релоки, что в свою очередь стриггерит CoW и как следствие - копирование кода библиотеки в другие физические страницы памяти.
Статические - ... или лежат рядом.
Статические (lib) библиотеки не лежат рядом с приложением. Рядом с приложением могут лежать динамические библиотеки.
Там можно обойтись без этого. Приложение может прочитать собственный PE заголовок, чтобы получить размер своего же образа. Соответственно, все, что будет за пределами образа - это оверлей с какими-то данными.
Wexter, ну смотреть на 502 ошибку тоже такое себе)
Также базы, которые используются для геоблока, не поспевают за перепродажами пулов IPv4, всегда найдется тот, у кого будут проблемы с доступом даже если он из РФ
Но подозреваю, что античит игры не даст запустить ее в виртуалке