netcat gcc编译选项,以便IDA pro可以显示函数名称

问题描述:

我希望IDApro显示函数名称和变量,如:_readwrite,_dolisten但它只在功能窗口中显示sub_40xxxxnetcat gcc编译选项,以便IDA pro可以显示函数名称

如何编辑编译选项来实现它?

原来的Makefile:

CC=gcc 

CFLAGS=-DNDEBUG -DWIN32 -D_CONSOLE -DTELNET -DGAPING_SECURITY_HOLE 
LDFLAGS=-s -lkernel32 -luser32 -lwsock32 -lwinmm 

all: nc.exe 

nc.exe: getopt.c doexec.c netcat.c 
    $(CC) $(CFLAGS) getopt.c doexec.c netcat.c $(LDFLAGS) -o nc.exe 
+0

恩,默认情况下应该可以这样做。如果它不能,那么原因可能是你对可执行文件进行了剥离。 – 2013-07-22 08:36:22

+0

剥离了可执行文件?它是什么? – user1177284

+0

我发现NC可以显示函数名称是在我的文件大小的2.5倍,也许它已经添加了addtional调试器信息? – user1177284

你可能会在Windows上使用mingw。因此,LDFLAGS中的-s选项表示最终的二进制文件将被删除。只要删除这个选项。

此外,你可以尝试通过增加-g3CFLAGS并通过-DDEBUG更换-DNDEBUG(它也可能会增加从更深入的信息,以帮助IDAPro恢复尽可能从程序可以添加更多的调试信息该软件)。

在最后你应该有这样的事情:

CFLAGS=-g3 -DDEBUG -DWIN32 -D_CONSOLE -DTELNET -DGAPING_SECURITY_HOLE 
LDFLAGS=-lkernel32 -luser32 -lwsock32 -lwinmm 

正如一个侧面说明,你可能会更有效地回答了有关问题上IDAPro上RE

+0

谢谢,我试过-g和删除-DNDEBUG,但没有解决问题。 – user1177284

+0

如果用'-DDEBUG'替换'-DNDEBUG'会怎么样? – perror

+0

不工作〜无论如何再次感谢。 – user1177284