varnie - так сейчас сделано не правильно ! объявление классов botPlayer и baseGame сделаны в namespace irr a botPlayer::botPlayer(baseGame...
namespace irr { class botPlayer : public baseBot { public: botPlayer(baseGame *pOwner); //etc }; }...
объявление и реализацию класса botPlayer следует помещать в одном namespace
>> WRITE_REGISTER_ULONG - надо перехватить! #define WRITE_REGISTER_ULONG(Register, Value) (*(volatile ULONG *)(Register) = (Value))
не пойдет скриптом парсить и шифровать. будут символы выходящие за допустимый диапазон. разве что в base64
впринципе то возможна - запускать код на эмуляторе... но скорость никакая. или парсить перед выполнением код и верифицировать. но это хорошо...
дотнет рулез форева все изучаем nemerle :)
а как инстанциировать шаблон вычисленным в компайл тайм строковым литералом?
строковые литералы не могут быть параметрами шаблона (пока)
а если подумать чуток? решение в лоб: 1. любой PE файл имеет ASCIIZ строку 2. системные dll загружены по одним адресам 3. ... у Рихтера вроде...
у этого способа есть недостаток что его мона снять... но тут мона грамотно обработоть еще PsSetCreateThreadNotifyRoutine +...
int 3 туда запишу :)
компилятор никак не заставить разве что гцц переделоть... пошифруй проще секцию целиком :)
классический способ Рихтера это загрузка dll функцией CreateRemoteThread с LoadLibrary. NtWriteProcessMemory там не используется .
а PsSetCreateProcessNotifyRoutine + ZwQueryInformationProcess(ProcessImageFileName) не модно уже?
сдалали уже расские свой проц... эльбрус... тфу... conroe... во =))
>> Для отслеживания записи/чтения в память другого процесса для юзермодных приложений достаточно хукать NtReadProcessMemory/NtWriteProcessMemory...
решение в общем виде требует что при вызове функции не меняется ни один регистр... это условие невыполнимо для всех возможных входных значений.
если входной параметро имя или номер регистра то задача не решается (в общем виде)
>> OpenSource стать платным не может опенсорс может быть платным изначально >> ибо исходники отдали по фришной лицензии и забрать уже не смогут,...
Имена участников (разделяйте запятой).