#ifndef STRING_MANAGER_H#define STRING_MANAGER_Hclass CipherRC5;struct STRING_DIRECTORY {uint32_t NumberOfEntries;// STRING_ENTRY Entries[];};struct STRING_ENTRY {uint32_t Id;uint32_t OffsetToData;uint32_t Size;};class VirtualString{public:VirtualString(const STRING_ENTRY *entry, HMODULE instance, uint32_t key);~VirtualString();uint8_t *AcquirePointer();bool Release();uint8_t *address() const { return address_; }private:void Clear();size_t use_count_;uint8_t *address_;size_t size_;// no copy ctr or assignment opVirtualString(const VirtualString &);VirtualString &operator =(const VirtualString &);};class StringManager{public:StringManager(const uint8_t *data, HMODULE instance, const uint8_t *key);~StringManager();const void *DecryptString(const void *str);bool FreeString(const void *str);private:STRING_DIRECTORY DecryptDirectory(const STRING_DIRECTORY *directory_enc) const;STRING_ENTRY DecryptEntry(const STRING_ENTRY *entry_enc) const;size_t IndexById(uint32_t id) const;size_t IndexByAddress(const void *address) const;const uint8_t *data_;HMODULE instance_;CRITICAL_SECTION critical_section_;VirtualString **strings_;uint32_t key_;size_t size_;// no copy ctr or assignment opStringManager(const StringManager &);StringManager &operator =(const StringManager &);};#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。