Post

(C) dll을 이용한 메모리(데이터) 공유

전통적인 IPC method를 사용하지 않고 프로세스 간 데이터를 공유할 수 있는 방법.

data_seg pragma

dll injection 되어있을 때, injection 된 dll에 #pragma data\_seg()가 있으면 해당 memory(data)에 접근해 exe나 타 dll이 가져다 쓸 수 있다.

1
2
#pragma comment(linker, "/SECTION:.SHARE, RWS")

section의 attribute를 바꾸는 코드인데(RWS) 굳이 안해도 된다.

1
2
3
4
5
6
7
#pragma data\_seg(".SHARE")    //section은 .SHARE든 뭐든 아무거나 지정하면 된다.
변수 선언  초기화
.
.
.
#pragma data\_seg()

This post is licensed under CC BY 4.0 by the author.