feat : implment
This commit is contained in:
parent
bfbfc4ea29
commit
d7753b7256
9 changed files with 40 additions and 0 deletions
6
CMakeLists.txt
Normal file
6
CMakeLists.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
cmake_minimum_required(VERSION 3.10)
|
||||
project(LDPathHackDemo)
|
||||
|
||||
add_subdirectory(real_lib)
|
||||
add_subdirectory(fake_lib)
|
||||
add_subdirectory(victim)
|
11
README.md
11
README.md
|
@ -0,0 +1,11 @@
|
|||
# 빌드
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
cmake --build .
|
||||
|
||||
# 정상 실행
|
||||
./victim/victim
|
||||
|
||||
# 가짜 라이브러리 우선 경로 설정
|
||||
mv real_lib/libmylib.so real_lib/libmylib_
|
||||
LD_LIBRARY_PATH=./fake_lib ./victim/victim
|
2
fake_lib/CMakeLists.txt
Normal file
2
fake_lib/CMakeLists.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
add_library(mylib_fake SHARED mylib.cpp)
|
||||
set_target_properties(mylib_fake PROPERTIES OUTPUT_NAME mylib)
|
4
fake_lib/mylib.cpp
Normal file
4
fake_lib/mylib.cpp
Normal file
|
@ -0,0 +1,4 @@
|
|||
#include <iostream>
|
||||
void greet() {
|
||||
std::cout << "❌ HACKED: This is the fake library!" << std::endl;
|
||||
}
|
2
real_lib/CMakeLists.txt
Normal file
2
real_lib/CMakeLists.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
add_library(mylib SHARED mylib.cpp)
|
||||
set_target_properties(mylib PROPERTIES OUTPUT_NAME mylib)
|
4
real_lib/mylib.cpp
Normal file
4
real_lib/mylib.cpp
Normal file
|
@ -0,0 +1,4 @@
|
|||
#include <iostream>
|
||||
void greet() {
|
||||
std::cout << "✅ Hello from the real library!" << std::endl;
|
||||
}
|
3
victim/CMakeLists.txt
Normal file
3
victim/CMakeLists.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
add_executable(victim main.cpp)
|
||||
target_include_directories(victim PRIVATE ${CMAKE_SOURCE_DIR}/victim)
|
||||
target_link_libraries(victim PRIVATE mylib)
|
6
victim/main.cpp
Normal file
6
victim/main.cpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#include "mylib.h"
|
||||
|
||||
int main() {
|
||||
greet();
|
||||
return 0;
|
||||
}
|
2
victim/mylib.h
Normal file
2
victim/mylib.h
Normal file
|
@ -0,0 +1,2 @@
|
|||
#pragma once
|
||||
void greet();
|
Loading…
Add table
Reference in a new issue