일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- graphfuzz
- reading critique
- binary code analysis
- fuzzing
- FSE
- 생명의 삶
- unit-testing
- linking
- software-engineering
- 소프트웨어 취약저 분석
- 느헤미야
- fault-localization
- Environment
- vulnerabilties
- 묵상
- 대학원생
- ICSE
- software-testing
- citrus
- 바이너리 분석
- Software Engineering
- libFuzzer
- libxml2
- binary code analaysis
- QT
- sotware-testing
- build
- Cyber Security
- protobuf
- 프로그램 분석
- Today
- Total
목록Computer Science (4)
heechan.yang

1. Ghidra 무엇?Ghidra는 binary 파일에 대해서 reverse engineering을 해서 source code를 돌려주는 도구이다 (기능이 더 있겠지만, 일단, 나는 그렇게 쓰고 있다). 즉, Ghidra는 decompiler (binary -> code)이다.https://ghidra-sre.org/ GhidraGetting Help Ghidra provides context-sensitive help on menu items, dialogs, buttons and tool windows. To access the help, press F1 or Help on any menu item or dialog. Visit our Wiki Issue Trackerghidra-sre.org ht..

ProblemWhen executing fuzz target of libxml2, LLVM packages fails to look up a symbol.==4057849==ERROR: AddressSanitizer: stack-overflow on address 0x7ffe0c142ff8 (pc 0x7b366db5927c bp 0x7ffe0c143020 sp 0x7ffe0c143000 T0)/usr/bin/llvm-symbolizer-13: symbol lookup error: /home/yangheechan/test-libxml2/bug/.libs/libxml2.so.2: undefined symbol: __asan_option_detect_stack_use_after_returnExecuting c..
C언어 같은 경우는 --save-temps 옵션으로 *.ii 파일이 생성된다 (libxml2으로 확인해봄).C++언어 같은 경우는 --save-temps 옵션으로 *.cpp.ii 파일이 생성된다 (jsoncpp으로 확인해봄). 단, 다른 cpp 프로그램에서도 *.cpp.ii으로 나올지는 한번 확인 해봐야할 것 같다.확인 결과, clang++ 으로 save-temps 옵션 추가해서 컴파일 했을 때 *.cpp.ii 파일이 생성된다. 하지만, g++으로 --save-tepms 옵션과 함께 컴파일 했을 때는 *.ii 파일이 생성되는 것으로 확인된다.

extern "C" enables a C source code to call a funciton from C++ source code. With the capability of overloaded function in C++, name mangling was the solution. Name mangling adds a certain string of information onto the name of the original function. Therefore, with extern "C", name mangling is not performed, allowing C language source code to call functions from C++ source code.References[1] htt..