mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2026-08-31 20:44:43 +03:00
first commit
Version 3.x.x
This commit is contained in:
+111
@@ -0,0 +1,111 @@
|
||||
#ifndef OSUTILS_H
|
||||
#define OSUTILS_H
|
||||
|
||||
/**
|
||||
* Flags for opening files.
|
||||
*/
|
||||
|
||||
enum FileMode
|
||||
{
|
||||
fmOpenRead = 0x0000,
|
||||
fmOpenWrite = 0x0001,
|
||||
fmOpenReadWrite = 0x0002,
|
||||
fmShareExclusive = 0x0010,
|
||||
fmShareDenyWrite = 0x0020,
|
||||
fmShareDenyRead = 0x0030,
|
||||
fmShareDenyNone = 0x0040,
|
||||
fmCreate = 0x0100
|
||||
};
|
||||
|
||||
enum SeekOrigin
|
||||
{
|
||||
soBeginning,
|
||||
soCurrent,
|
||||
soEnd
|
||||
};
|
||||
|
||||
struct PROCESS_ITEM {
|
||||
uint32_t id;
|
||||
std::string name;
|
||||
};
|
||||
|
||||
struct MODULE_ITEM {
|
||||
HMODULE handle;
|
||||
std::string name;
|
||||
};
|
||||
|
||||
struct MODULE_INFO {
|
||||
void *address;
|
||||
size_t size;
|
||||
};
|
||||
|
||||
struct SYSTEM_TIME {
|
||||
uint16_t year;
|
||||
uint8_t month;
|
||||
uint8_t day;
|
||||
};
|
||||
|
||||
namespace os
|
||||
{
|
||||
unicode_string FromUTF8(const std::string &src);
|
||||
std::string ToUTF8(const unicode_string &src);
|
||||
#ifndef VMP_GNU
|
||||
std::string ToOEM(const unicode_string &src);
|
||||
unicode_string FromACP(const std::string &src);
|
||||
bool ValidateUTF8(const std::string &src);
|
||||
#endif
|
||||
std::string ExtractFilePath(const char *name);
|
||||
std::string ExtractFileName(const char *name);
|
||||
std::string ExtractFileExt(const char *name);
|
||||
std::string CombinePaths(const char *path, const char *file_name);
|
||||
std::string SubtractPath(const char *path, const char *file_name);
|
||||
std::string ChangeFileExt(const char *name, const char *ext);
|
||||
std::string GetCurrentPath();
|
||||
std::string GetExecutablePath();
|
||||
std::string GetTempFilePathName(const char *pathname_template = NULL);
|
||||
std::string GetTempFilePathNameFor(const char *pathname);
|
||||
bool FileExists(const char *name);
|
||||
bool FileDelete(const char *name, bool toRecycleBin = false);
|
||||
bool FileCopy(const char *src, const char *dest);
|
||||
|
||||
HANDLE FileCreate(const char *file_name, uint32_t mode);
|
||||
bool FileClose(HANDLE h);
|
||||
size_t FileRead(HANDLE h, void *buf, size_t size);
|
||||
size_t FileWrite(HANDLE h, const void *buf, size_t size);
|
||||
uint64_t FileSeek(HANDLE h, uint64_t offset, SeekOrigin origin);
|
||||
bool FileSetEnd(HANDLE h);
|
||||
bool FileGetCheckSum(const char *file_name, uint32_t *check_sum);
|
||||
void Print(const char *text);
|
||||
std::vector<std::string> CommandLine();
|
||||
std::vector<std::string> FindFiles(const char *path, const char *mask, bool only_directories = false);
|
||||
uint32_t GetTickCount();
|
||||
bool WriteIniString(const char *section, const char *key, const char *value, const char *file_name);
|
||||
std::string ReadIniString(const char *section, const char *key, const char *default_value, const char *file_name);
|
||||
HPROCESS ProcessOpen(uint32_t process_id);
|
||||
bool ProcessClose(HPROCESS h);
|
||||
size_t ProcessRead(HPROCESS h, void *base_address, void *buf, size_t size);
|
||||
size_t ProcessWrite(HPROCESS h, void *base_address, const void *buf, size_t size);
|
||||
uint64_t GetLastWriteTime(const char *name);
|
||||
std::vector<PROCESS_ITEM> EnumProcesses();
|
||||
std::vector<MODULE_ITEM> EnumModules(uint32_t process_id);
|
||||
bool GetModuleInformation(HANDLE process, HMODULE module, MODULE_INFO *info, size_t size);
|
||||
std::string GetSysAppDataDirectory();
|
||||
std::string CombineThisAppDataDirectory(const char *lastPathPart);
|
||||
bool PathCreate(const char *name);
|
||||
std::string GetLocaleName(const char *code);
|
||||
std::string GetCurrentLocale();
|
||||
void GetLocalTime(SYSTEM_TIME *res);
|
||||
bool FileMove(const char *oldName, const char *newName);
|
||||
#ifdef __APPLE__
|
||||
std::string GetMainExeFileName(const char *file_name);
|
||||
#endif
|
||||
HMODULE LibraryOpen(const std::string &name);
|
||||
bool LibraryClose(HMODULE h);
|
||||
void *GetFunction(HMODULE h, const std::string &name);
|
||||
std::string ExpandEnvironmentVariables(const char *path);
|
||||
std::string GetEnvironmentVariable(const char *name);
|
||||
void SetEnvironmentVariable(const char *name, const char *value);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user