You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.2 KiB

//#include "Obfuscator.h"
//
//#include "xed/xed-interface.h"
//
//int main()
//{
// xed_decoded_inst_t instruction;
//
// return 1;
//}
//#pragma comment(lib, "xed.lib")
#include "Obfuscator.h"
void* alloc_mem(uint32_t size)
{
return malloc(size);
}
void mem_copy(void* src, void* dest, uint32_t size)
{
memcpy(src, dest, size);
}
int main(int argc, char** argv)
{
unsigned char buffer[] = { 0x48, 0x33, 0xC0, 0x48, 0x33, 0xC0, 0xEB, 0x08, 0x48, 0x33, 0xC0, 0x7E, 0x03, 0x48, 0x33, 0xC0, 0x48, 0x33, 0xC0, 0x48, 0x33, 0xC0, 0x48, 0x33, 0xC0, 0xEB, 0x08, 0x48, 0x33, 0xC0, 0x7E, 0x03, 0x48, 0x33, 0xC0, 0x48, 0x33, 0xC0 };//{ 0x48, 0x33, 0xC0, 0x48, 0x33, 0xC0, 0xEB, 0xFB, 0x48, 0x33, 0xC0, 0x7E, 0xF6, 0xC3 };
unsigned int buffer_size = sizeof(buffer);
obfuscator_t obf;
obf_one_time_please();
obf_init_from_buffer(&obf, buffer, buffer_size);
obf_gen_all_labels(&obf);
obf_replace_rel_jmps(&obf);
obf_create_groups(&obf, 10);
obf_dbg_print_code(&obf);
obf_allocate_group_buffers(&obf, alloc_mem);
obf_resolve_abs_addresses(&obf);
obf_copy_groups_into_buffers(&obf, mem_copy);
printf("\n\n");
obf_print_byte_array((void*)obf.groups[0].base_address, obf.groups[0].size_in_bytes);
system("pause");
}