mirror of
https://github.com/brain-hackers/version-txt-dumper.git
synced 2024-12-22 12:10:12 +09:00
77 lines
2.2 KiB
C++
77 lines
2.2 KiB
C++
#include <windows.h>
|
|
|
|
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPTSTR lpCmd, int nShow)
|
|
{
|
|
wchar_t msg[1024];
|
|
HANDLE file;
|
|
DWORD fileSize;
|
|
DWORD readSize;
|
|
DWORD err;
|
|
TCHAR errStr[32];
|
|
void* buf;
|
|
|
|
file = CreateFile(L"\\NAND\\version.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
|
if (file == INVALID_HANDLE_VALUE)
|
|
{
|
|
err = GetLastError();
|
|
switch (err)
|
|
{
|
|
case 2:
|
|
case 3:
|
|
swprintf(errStr, L"File not found");
|
|
break;
|
|
default:
|
|
swprintf(errStr, L"Yabai error sorry");
|
|
break;
|
|
}
|
|
|
|
swprintf(msg, L"Failed to open version.txt\n%#010x: %s", err, errStr);
|
|
MessageBox(NULL, msg, L"(X_X) < OMG", MB_ICONWARNING);
|
|
return 1;
|
|
}
|
|
|
|
fileSize = GetFileSize(file, NULL);
|
|
buf = LocalAlloc(LPTR, fileSize+1);
|
|
if (buf == NULL)
|
|
{
|
|
MessageBox(NULL, L"Failed to allocate memory", L"(X_X) < OMG", MB_ICONWARNING);
|
|
goto disaster;
|
|
}
|
|
|
|
if (!ReadFile(file, buf, fileSize, &readSize, NULL))
|
|
{
|
|
MessageBox(NULL, L"Failed to read version.txt", L"(X_X) < OMG", MB_ICONWARNING);
|
|
goto disaster;
|
|
}
|
|
|
|
CloseHandle(file);
|
|
|
|
((char *)buf)[fileSize] = '\0';
|
|
mbstowcs(msg, (char *)buf, fileSize);
|
|
MessageBox(NULL, msg, L"(>_O)b < My version.txt is...", MB_ICONINFORMATION);
|
|
|
|
file = CreateFile(L"\\Storage Card\\version.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
|
if (file == INVALID_HANDLE_VALUE)
|
|
{
|
|
file = CreateFile(L"\\NAND3\\version.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
|
if (file == INVALID_HANDLE_VALUE)
|
|
{
|
|
MessageBox(NULL, L"Failed to create \\Storage Card\\version.txt and \\NAND3\\version.txt", L"(X_X) < OMG", MB_ICONWARNING);
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
if (!WriteFile(file, buf, fileSize, NULL, NULL))
|
|
{
|
|
MessageBox(NULL, L"Failed to write \\Storage Card\\version.txt", L"(X_X) < OMG", MB_ICONWARNING);
|
|
goto disaster;
|
|
}
|
|
|
|
CloseHandle(file);
|
|
return 0;
|
|
|
|
disaster:
|
|
CloseHandle(file);
|
|
return 1;
|
|
}
|