Notice
Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- Ransomware
- ida
- idapython
- idapro
- malware
- data distribution
- open office xml
- Rat
- 포인터 매핑
- why error
- ida pro
- svn update
- Analysis
- x64
- Python
- Injection
- NumPy Unicode Error
- pytest
- mock.patch
- error fix
- TensorFlow
- commandline
- javascript
- idb2pat
- h5py.File
- error
- MySQL
- hex-rays
- debugging
- ecma
Archives
- Today
- Total
목록2013/02/14 (1)
13 Security Lab
[스크랩] extern "C" , name mangling
가끔 일하다보면 extern "C"를 왜 써야 되는지도 모르고 사용하는 신입 코더들을 볼 수 있다. 때론 귀찮게 물어보기도 하고... 나중에 또 물어보면 이 페이지의 주소만 날려주리라. ㅋ 컴파일러는 link 작업시 오브젝트간 함수 이용 및 위치를 파악할 수 있도록, 컴파일시 사용된 함수에 관련된 정보를 오브젝트 파일에 기록하며, 이를 linkage라고 한다. C++ 컴파일러는 컴파일 과정에서 Name mangling 이란 작업을 한다. 이는 정의되어 있는 함수명을 정해진 규칙에 의해 바꿔버리는 것이다. (링크 에러날 때 본 적 있는가? 함수명 앞뒤에 붙은 이상한 기호와 숫자들을?) (그리고 C++ 컴파일러가 왜 바꾸냐고? 그거 설명하려면 두꺼운 책 가져와야 된다... ㅈㅈ 굳이 목적 중에 하나를 설명하..
Computer Science/Programming
2013. 2. 14. 11:52