2011-03-07 3 views
1

패치 할 실행 파일이 있습니다. 실행 파일은 XOR 암호화를 사용하여 문자열을 저장합니다. 찾고있는 문자열을 찾으려면 XORSearch를 사용했습니다. 그것은 반환excutable (x86)에서 XOR 된 문자열 바꾸기

찾을 XOR FD 위치 3E22 :

지금 내가 그 문자열을 변경하고 싶습니다. "FD"가 xor 키라고 가정합니다. FD로 새 문자열을 xor'ed하면 실행 파일을 패치 할 수 있어야합니다. 문제는 : 실행 파일에서 해당 위치를 찾을 수 없습니다. 나는 Position 3E22가 무엇을 의미하는지 모른다.

도와주세요!

+1

프로그래밍상의 질문이 아닙니다. –

답변

0

ur 코드가 relocatble인지 여부에 따라 다릅니다. 일반적으로 좋은 프로그램 작성자는 분기 조건을 사용할 때 예를 들어 약간의 공간을 절약하기 때문에 재사용 가능한 코드를 만듭니다. 원하는 것은 코드를 먼저 옮긴 다음 그 위치에 코드를 패치하는 것입니다. 그런 xor 코드는 통계 분석으로 쉽게 깨질 수 있습니다. 열쇠있어?

1

위치 3E22는 16 진수이며 처음부터 15906 바이트를 의미합니다.