私はいくつかの 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 ベースの dll であると想定しました。ドキュメントを読んで、CString がすぐに利用できるようになると思いました。ただし、エラー Error 1 error C2665: 'ATL::CStringT::CStringT' : none of the 17 overloads could convert the all argument types? が表示されます。
MakeLower と Find でも同様のエラーが発生します。これは、私が読んだことによると、標準の CString 関数なので、どこが間違っているのでしょうか?
また、#include ヘッダーを使用して非 mfc ベースの .dll で CString クラスを使用できるはずですが、同じエラー 1 エラー C2039: 'CString' : is not a member of 'ATL:: が発生します。 CStringT' では、どうすれば使用できますか?
ありがとう。