Я немного затрудняюсь, пытаясь вызвать функцию, имеющую 2 строковых аргумента.
Функция вызывает нормально и передает ей 2 строковый аргумент, но как только она возвращается, я получаю исключение : нарушение прав чтения.
Способ, которым я звоню, работает и не обрабатывает sh, если у меня только один аргумент
API int functionWithString(std::string a, std::string b)
{
std::cout << "Function called with parameters: " << a.c_str() << std::endl;
return 4;
}
48 83 EC 10 sub rsp, 0x10
48 BA F8 FF AD 01 75 01 00 00 movabs rdx, 0x17501adfff8 "first string"
48 B9 F8 FF C0 01 75 01 00 00 movabs rcx, 0x17501c0fff8 "second string"
48 B8 9A 11 20 86 F6 7F 00 00 movabs rax, 0x7ff68620119a
FF D0 call rax
48 83 C4 10 add rsp, 0x10
A3 00 00 D6 01 75 01 00 00 movabs dword ptr [0x17501d60000], eax
C3 ret