반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- pcap packet capture
- arudino
- Msvcrt.dll
- Windows Kernel Driver
- 윈도우 커널 디버깅
- Windows Kernel Debug
- apphelp.dll
- IAT Hooking
- 개발하기
- vcruntime.dll
- 윈도우 커널
- 포너블
- Network Byte Order
- Windows
- C언어 패킷캡쳐
- packet capture
- ucrtbase.dll
- pcap packet
- 시스템해킹
- HackCTF
- 바이트 오더
- 네트워크 바이트 오더
- pwnable
- 개발 환경 준비
- vcruntime140.dll
- 해킹
- Windows Kernel
- windows kernel debugging
- hacking
- 윈도우 커널 드라이버
Archives
- Today
- Total
미친해커
Visual Studio 컴파일할 때 쓸 때 없는 Reference 없애기 본문
반응형
Visual Studio의 컴파일러인 MSVC로 컴파일을 하면 가끔 이런 이상한 코드가 추가되는 경우가 있다.
위 이미지 처럼 모든 함수가 참조되어 있는 것을 확인할 수 있다. 그럼 해당 바이너리 내에서 호출하는 모든 함수들이 이 jmp를 거쳐서 호출되게 된다.
필자는 개인적으로 이걸 매우 싫어하는데 지금까지 이 때문에 Mingw를 애용했다고 해도 과언이 아니다. 하지만 이제야 해결 방법을 깨달았다. 이는 MSVC의 LINK의 최적화 옵션을 설정하면 된다.
[프로젝트 속성] -> [링커] -> [최적화] -> [참조] -> [/OPT:REF]
이 옵션을 설정해주면 저런 참조 코드가 생성되지 않는다. 커맨드 라인으로 한다면 다음과 같다.
cl.exe main.c /link /OPT:REF
반응형
'내 노가다 목록' 카테고리의 다른 글
Visual Studio 컴파일러에서 msvcrt.dll 사용하기 (0) | 2022.08.11 |
---|
Comments