逆向 | gcc去符号编译 gcc内敛汇编加花指令

逆向 | gcc去符号编译 gcc内敛汇编加花指令

去符号(参考:https://blog.csdn.net/weixin_44638957/article/details/104321815):

# 加上如下编译选项
-ffunction-sections -fdata-sections -fvisibility=hidden

内敛汇编使用的是att汇编:

	__asm__("jnz label_haha;");
	__asm__("jz label_haha;");
	__asm__(".byte 0xe8");
	__asm__("label_haha:");

也可以通过宏定义快速添加(好像也很麻烦。。。):

#define FLOWER1 __asm__("jnz label_1;");__asm__("jz label_1;");__asm__(".byte 0xe8");__asm__("label_1:");
#define FLOWER2 __asm__("jnz label_2;");__asm__("jz label_2;");__asm__(".byte 0xe8");__asm__("label_2:");
#define FLOWER3 __asm__("jnz label_3;");__asm__("jz label_3;");__asm__(".byte 0xe8");__asm__("label_3:");
#define FLOWER4 __asm__("jnz label_4;");__asm__("jz label_4;");__asm__(".byte 0xe8");__asm__("label_4:");
#define FLOWER5 __asm__("jnz label_5;");__asm__("jz label_5;");__asm__(".byte 0xe8");__asm__("label_5:");
#define FLOWER6 __asm__("jnz label_6;");__asm__("jz label_6;");__asm__(".byte 0xe8");__asm__("label_6:");
#define FLOWER7 __asm__("jnz label_7;");__asm__("jz label_7;");__asm__(".byte 0xe8");__asm__("label_7:");
#define FLOWER8 __asm__("jnz label_8;");__asm__("jz label_8;");__asm__(".byte 0xe8");__asm__("label_8:");
#define FLOWER9 __asm__("jnz label_9;");__asm__("jz label_9;");__asm__(".byte 0xe8");__asm__("label_9:");
#define FLOWER10 __asm__("jnz label_10;");__asm__("jz label_10;");__asm__(".byte 0xe8");__asm__("label_10:");
#define FLOWER11 __asm__("jnz label_11;");__asm__("jz label_11;");__asm__(".byte 0xe8");__asm__("label_11:");
#define FLOWER12 __asm__("jnz label_12;");__asm__("jz label_12;");__asm__(".byte 0xe8");__asm__("label_12:");
#define FLOWER13 __asm__("jnz label_13;");__asm__("jz label_13;");__asm__(".byte 0xe8");__asm__("label_13:");
#define FLOWER14 __asm__("jnz label_14;");__asm__("jz label_14;");__asm__(".byte 0xe8");__asm__("label_14:");
#define FLOWER15 __asm__("jnz label_15;");__asm__("jz label_15;");__asm__(".byte 0xe8");__asm__("label_15:");
#define FLOWER16 __asm__("jnz label_16;");__asm__("jz label_16;");__asm__(".byte 0xe8");__asm__("label_16:");
#define FLOWER17 __asm__("jnz label_17;");__asm__("jz label_17;");__asm__(".byte 0xe8");__asm__("label_17:");
#define FLOWER18 __asm__("jnz label_18;");__asm__("jz label_18;");__asm__(".byte 0xe8");__asm__("label_18:");
#define FLOWER19 __asm__("jnz label_19;");__asm__("jz label_19;");__asm__(".byte 0xe8");__asm__("label_19:");

posted @ 2022-08-17 15:23  Mz1  阅读(373)  评论(0编辑  收藏  举报