|
function pointer를 GetProcAddress로 알아 낸다고 하면 당연히 외부에 노출이 되죠.
그렇게 하지 말고 function pointer를 알아 내는 단 하나의 function만 외부에 노출을 하면 방법을 쓰면 될 듯.
[예제]
typedef enum
{
ftEnc,
ftDec,
} FunctionType;
void (*getFunctionPtr)(FunectionType funcType);
요것만 export 하라는 뜻. 당연히 encrypt, decrypt function 생김새는 감출 수 있겠죠. 방법이야 고민해 보면 여러가지.
Starlet 님이 쓰신 글 :
: 안녕하세요.
: 문자열을 암호화하는 함수를 DLL에 넣어 만들었습니다. 이 DLL 내에는 암호화하는 함수와 암호를 푸는 함수 두개만 존재합니다.
: 암호화된 문장은 반드시 프로그램 안에서만 제대로 보여야 하는데, 만약 이 DLL을 포함해 배포했을때 이 DLL에서 함수 원형을 추측해낸후 이를 이용해 암호화된 문장을 간단히 해독해 버리지 않을까 하는 걱정이 됩니다.
: DLL에서 이를 보호할 수 있는 방법이 없을까요? 아니면 너무 기우일지...
|