Есть ли библиотека C для сборки строки сборки x86/x64 для кодов операций?
Пример кода:
/* size_t assemble(char *string, int asm_flavor, char *out, size_t max_size); */
unsigned char bytes[32];
size_t size = assemble("xor eax, eax\n"
"inc eax\n"
"ret",
asm_x64, &bytes, 32);
for(int i = 0; i < size; i++) {
printf("%02x ", bytes[i]);
}
/* Output: 31 C0 40 C3 */
Я просмотрел asmpure, однако для его работы требуются модификации для не-оконных машин.
На самом деле мне нужен ассемблер и дизассемблер, есть ли библиотека, которая предоставляет оба?