우회 난이도는 신버전 사인코드가 제일 높습니다.


흔한 뮤텍스, 오토핫키 문자열 치환, 리소스 및 ID 변경, 매니페스트 정보 변경으로는 어림도 없으며 어설프게 했다가는 우회는 하지도 못하고 프로세스 정보만 넘겨주는 꼴입니다.


오히려 넥슨 게임에 적용된 NGS가 우회는 훨씬 쉽습니다. 위에 나열한 방법만으로도 우회가 가능하고,


아직까지도 잘 동작합니다. NGS 까지만 생각한다면 위에 나열된 방법만 적용시켜도 됩니다.

(우회가 실패했다면 그건 어딘가 안된겁니다)


그렇다면 사인코드같은 귀찮은 애들까지 우회하려면 뭐가 필요할까요?


정답은 메모리에 있습니다.


Process Explorer 같은 도구로 오토핫키 프로그램의 메모리를 살펴보면 정말 누가봐도 오토핫키다라는걸 알 수 있는 문자열이 많이 나열되있습니다.


일반적인 프로그램에서 AhkPath, ahk_id 같은 특후한 의미를 나타내는 문자열을 사용하지는 않을 테니깐요.


그렇다면 답은 나왔네요. 노가다를 하시면 됩니다. 치환/암호화 노가다.


누가 메모리를 보더라도 얘는 오토핫키가 아니다라는걸 확신할 수 있을떄까지 치환을 하던 암호화를 하세요.


메모리에 보이는 문자열들은 VMProtect나 Themida 같은 패커로도 보호가 안됩니다. 


이 부분은 어떤 패커를 써도 그대로 노출되니 진짜 완벽한 우회를 원하면 노가다를 하세요.


의심 문자열이 정적으로 저장되지 않도록 하세요. 의심되는 모든 걸 숨기세요.


리소스 정보도 노출시키지 마세요. 필요하면 Static이 아닌 Runtime에서 로드시키세요.

(ResourceHacker 같은 툴로 오토핫키를 열었을 때, 의심될 만한 리소스 정보가 노출되서는 안됩니다)


Anti-Cheat도 어차피 사람이 만든 프로그램입니다. 정보를 바탕으로 동작하는 애들한테 의심되는 정보 자체를 아예 주지마세요.


만약 .bin 파일을 통해 컴파일 후 사용하는게 아닌 바로 다이렉트로 스크립트를 오토핫키에 올려 사용하는걸 즐기시는 분들은 오토핫키의 Command Line 정보를 지우세요. 


스크립트를 올려서 사용할 시, 오토핫키 프로세스에 스크립트의 경로 정보가 남습니다. 오토핫키 우회를 성공해도 얘네 스크립트 경로가 노출되면 스크립트 코드를 통해 오토핫키임을 추측할 수 있습니다.


Anti-Cheat들은 생각보다 집요합니다.


답글