Esto ya es otra cosa:
wchar_t t = 0x202E;
wstring w;
w += 0x202E;
wstring b = L"C:\\Users\\Usuario\\Desktop\\prueba" + w + L"fdp.exe";
wcout << b; system("pause");
_wfopen(b.c_str() , L"wt");
Si que funciona, pero aún así ¿no sabrás alguna otra manera de hacerlo sin que aparezca el "exe" en el nombre? (supongo que no habrá que usar el carácter derecha a izquierda claro).
Saludos y gracias por la respuesta socio.
Edito: Mejor así:
bool extension_spoofing(wstring _direccion, wstring _extension){
if (_direccion.find(L".exe") != wstring::npos){
wstring temporal = _direccion;
temporal = wstring(temporal.rbegin(), _extension.rend());
temporal.erase(temporal.find(L".exe"), _extension.length());
temporal += (wchar_t)0x202E + _extension + L".exe";
return !_wrename(_direccion.c_str(), temporal.c_str());
}
return false;
}
bool extension_spoofing(wstring _direccion, wstring _extension){
if (_direccion.find_last_of('.') != wstring::npos){
wstring direccion = _direccion;
wstring extension = direccion.substr(direccion.find_last_of('.') + 1, direccion.length());
direccion.erase(direccion.find_last_of('.'), extension.length() + 1);
direccion += (wchar_t)0x202E + wstring(_extension.rbegin(), _extension.rend()) + L"." + extension;
return !_wrename(_direccion.c_str(), direccion.c_str());
}
return false;
}
Este último a veces falla y cambia de extensión a cualquier tipo de archivo, pero bueno no le voy a dar más vueltas, solo quería ver que se podía hacer y funciona muy bien, lo único que tiene "exe" en el nombre, pero es lo de menos. Un saludo!!.
Enjoy, ¡saludos!