У меня есть IDA псевдо C++ код и мне было интересно, насколько близко это было ...MFC .dll, проблемы CString, псевдокод IDA C++, насколько он близок?
линии:
CHAR Filename; // [sp+26Ch] [bp-110h]@1
char v31; // [sp+36Ch] [bp-10h]@1
int v32; // [sp+378h] [bp-4h]@1
GetModuleFileNameA(0, &Filename, 0x100u);
CString__CString(&v31, &Filename);
v32 = 0;
CString::MakeLower(&v31);
if (CString__Find(&v31, "notepad") != -1)
...
Как декомпилируемой .dll использует CString я предположил, что это MFC на основе длл. Я подумал, прочитав документы, что CString будет немедленно доступна. Тем не менее, я получаю ошибку Error 1 error C2665: «ATL :: CStringT :: CStringT»: ни одна из 17 перегрузок не могла преобразовать все типы аргументов?
Я также получаю схожие ошибки с MakeLower и Find, которые в соответствии с тем, что я прочитал, являются стандартными функциями CString, итак, где я иду не так?
Кроме того, предполагается, что вы можете использовать класс CString в .dll, отличном от mfc, используя заголовок #include, однако я получаю ту же ошибку Error 1 C2039: 'CString': не является членом 'ATL :: CStringT' так снова, как я могу его использовать?
Спасибо.
1. Опубликуйте фрагмент кода, который генерирует C2665, и точное сообщение об ошибке (в частности, какие типы аргументов он жалуется). 2. Отправьте код, который генерирует C2039. – atzz