netcat gcc编译选项,以便IDA pro可以显示函数名称
我希望IDApro显示函数名称和变量,如:_readwrite
,_dolisten
但它只在功能窗口中显示sub_40xxxx
。netcat 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
你可能会在Windows上使用mingw
。因此,LDFLAGS
中的-s
选项表示最终的二进制文件将被删除。只要删除这个选项。
此外,你可以尝试通过增加-g3
到CFLAGS
并通过-DDEBUG
更换-DNDEBUG
(它也可能会增加从更深入的信息,以帮助IDAPro恢复尽可能从程序可以添加更多的调试信息该软件)。
在最后你应该有这样的事情:
CFLAGS=-g3 -DDEBUG -DWIN32 -D_CONSOLE -DTELNET -DGAPING_SECURITY_HOLE
LDFLAGS=-lkernel32 -luser32 -lwsock32 -lwinmm
正如一个侧面说明,你可能会更有效地回答了有关问题上IDAPro上RE。
谢谢,我试过-g和删除-DNDEBUG,但没有解决问题。 – user1177284
如果用'-DDEBUG'替换'-DNDEBUG'会怎么样? – perror
不工作〜无论如何再次感谢。 – user1177284
恩,默认情况下应该可以这样做。如果它不能,那么原因可能是你对可执行文件进行了剥离。 – 2013-07-22 08:36:22
剥离了可执行文件?它是什么? – user1177284
我发现NC可以显示函数名称是在我的文件大小的2.5倍,也许它已经添加了addtional调试器信息? – user1177284