КОД:
#include <iostream>
#include <string>
using namespace std;
string codeNormalization(string code) {
string result;
for (int i = 0; i < code.size(); i++) {
if (code[i] == '\n') {
result += "\\n";
}
else if (code[i] == '"') {
result += '\'';
}
else if (code[i] == '\t') {
result += "\\t";
}
else {
result += code[i];
}
}
return result = R"("exec(''')" + result + "''')" + R"(")";
}
string myOBF(string codeLine) {
string result;
for (int i = 0; i < codeLine.capacity(); i++) {
int _ord = (int)codeLine[i];
if (codeLine[i] == codeLine[-1]) {
result += "chr(" + to_string(_ord) + "))";
}else if (codeLine[i] == codeLine[0]){
result += "exec(chr(" + to_string(_ord) + ")+";
}else {
result += "chr(" + to_string(_ord) + ")+";
}
}
return result;
}
int main() {
string code = "print('txt')";
cout <<myOBF(codeNormalization(code)) << endl;
system("pause");
}
Ошибка появляется в MessageBox после появления консоли.
Сама ошибка:
string subscript out of range
При дебаге кидает в xstring
Ошибка появилась сразу после написания функции myOBF. <ОШИБКА ГДЕ ТО В НЕЙ>
Ошибка пропадает если из цикла for убрать все if и else if :(