리터럴 문자열이 실행 파일에 나타나지 않도록하려고합니다. 실행 파일에 암호화 된 문자열을 넣은 다음 런타임에 암호를 해독하여 사용하고 싶습니다. 나는 How to hide a string in binary code?과 http://bytes.com/topic/c/answers/222096-hiding-string-compiled-code을 약간 읽었지만 이것이 내가 원하는 것만은 아니다.순수 C로 문자열을 암호화하여 실행 파일에서 숨김
매크로를 사용하여 완료 할 수 있습니까? 예를 들어, 나는 widechars에 문자를 변환합니다
wchar_t str[] = L"value"
또는
wchar_t *str = L"value"
마법
L
를 사용하여 다양한 문자 문자열을 선언 할 수 있습니다. 암호화 된 문자열을 만들기 위해 이와 비슷한 또 다른 마술
L
을 만들 수 있습니까? 예 : 순간
ENC"value"
내가 매크로로 이미 암호화 된 문자열을 정의하고있다 :
#define SAMPLE_STRING "ftnurd eru etrth" /*Random chars for imitating encryption*/
및
char *decstr(char *data)
같은 일반 함수로 전달 할 수있는 쉬운 방법이 있나요 이?
Visual C++ 2008 Express와 함께 Windows XP SP3을 사용하고 있습니다.
하지만 정상적인 기능으로 "pAsSw0rd"를 전달하면 실행 파일에 "pAsSw0rd"문자열을 찾을 수 있습니다. 이 예제는 파일에서 "pAsSw0rd"를 읽거나 메모리에 이미로드되어 있으며 암호화 된 결과를 메모리에 저장합니다. – BalticMusicFan
@DjJeshk 그저 그 예일뿐입니다. 요점은''pAsSw0rd ''가 필요하다면 암호화 한 다음 ** 암호화 된 ** 문자열을 실행 파일에 저장 한 다음 실행시 해독하여 원래의 암호화되지 않은 문자열을 찾는 것입니다. –
암호화 할 문자열이 더 많으면 이미 암호화 된 문자열을 실행 파일에 넣어야합니다. DontKnowHowToWriteThis 매크로를 사용하는 것이 더 쉬울까요? – BalticMusicFan