Компиляция с использованием библиотек Qt Creator - PullRequest
0 голосов
/ 09 мая 2019

В рамках обучения я хочу разработать программу для выбора исполняемого файла или другого файла, а затем создать таблицу байтов, содержащую этот файл.Таким образом, я мог отобразить это в шестнадцатеричной форме.Пример:

enter image description here

Пока все работает, только я намерен изменить содержимое этой файловой таблицы (что будет похоже на изменение программы), затем перекомпилировать все со второй функцией, потому что мне нужен второй исполняемый файл в конце.Основная программа будет использоваться только для генерации второй.Я компилировал компиляцию, используя этот метод:

QString path = "C:/Users/user/Documents/Qt/runPE-Generator/packer.cpp";
char cmd[500];
memset(cmd,0,sizeof (cmd));
strcat(cmd, path.toLocal8Bit());
strcat(cmd, "-o *.o");
if(strcmp(output.toLocal8Bit(),"")==0){
    strcat(cmd, "myGoodProg.exe");
}
else {
    strcat(cmd,output.toLocal8Bit());
}
system(cmd);

Однако после многих тестов непосредственно через консоль Windows и ввода команды g ++ я заметил много ошибок, связанных с библиотеками Qt.

Пример:enter image description here

Я понимаю, что, поскольку эта компиляция была выполнена в среде, отличной от Qt, соответствующие библиотеки больше не были найдены компилятором.Поэтому я старался, насколько мог, максимально уменьшить использование этих библиотек, но я больше не удаляю библиотеки, остальные являются необходимыми для работы моей программы.

Будет лирешение передать библиотеки Qt в g ++?Я попробовал опцию -L без особого успеха.

Второе решение мне приходит, у меня есть мои файлы, которые являются частью одного и того же проекта: enter image description here

Разделив упаковщик и peGenerator на два разных проекта, может ли это решить проблему второй компиляции, выполняемой функцией в peGenerator?Следовательно, упаковщик будет действовать как библиотека, включенная в peGenerator.

Если честно, мой тезис имеет дело с довольно деликатным вопросом, касающимся манипулирования исполняемым файлом.Я учусь в школе кибербезопасности, и поэтому мой тезис должен сосредоточиться на этом аспекте кибербезопасности.Метод, который я здесь изучаю, - это метод runPE.

Если невозможно ответить по причинам, которые я полностью понимаю, будет ли все еще возможно иметь личное руководство?Этот проект просто выполняется в образовательных целях, поэтому я не хочу рисковать баном на сайте, если слишком много об этом говорю.

...