diff --git a/src/model2mem.cpp b/src/model2mem.cpp index 65ec562..9c77ad6 100644 --- a/src/model2mem.cpp +++ b/src/model2mem.cpp @@ -7,77 +7,67 @@ using namespace std; // 加密密钥 string ENCRYPTION_KEY = ""; -static int write_file(const std::string & fname, std::vector& buf){ +static int write_file(const std::string& fname, std::vector& buf) { std::ofstream fs(fname, std::ios::binary | std::ios::out); - if(!fs.good()){ - std::cerr< 0) { + for (char& c : buf) { + c ^= ENCRYPTION_KEY[keyIndex]; + keyIndex = (keyIndex + 1) % ENCRYPTION_KEY.length(); + fs << (int)((unsigned char)c) << ","; + } + } + else { + for (char& c : buf) { + fs << (int)((unsigned char)c) << ","; + } } fs.close(); return 0; } -static int load_file(const std::string & fname, std::vector& buf){ +static int load_file(const std::string& fname, std::vector& buf) { std::ifstream fs(fname, std::ios::binary | std::ios::in); - if(!fs.good()){ - std::cerr<" << endl; return -1; } vector content; load_file(argv[1], content); - if(content.size() <= 0) { + if (content.size() <= 0) { cout << "do not read any content" << endl; return -1; } // 如果提供了密码,则进行加密操作 - if(argc == 4) { + if (argc == 4) { ENCRYPTION_KEY = argv[3]; - write_file(argv[2], content); - } else { - // 否则,直接写入文件 - std::ofstream fs(argv[2], std::ios::binary | std::ios::out); - if(!fs.good()) - { - std::cerr<