주석에서 설명한대로 - 해석 된 언어의 난독 화는 거의 불가능합니다. 이것은 브라우저가 코드를 실행하기 위해 유효한 JavaScript로 코드를 읽을 수 있어야한다는 사실 덕분입니다. 브라우저가이를 수행 할 수 있다면 충분히 결정된 사람이 될 수 있습니다! 자바 스크립트를 난독화할 수 있다고 주장하는 모든 서비스는 단순히 '모호성을 통한 보안'을 제공하고 있습니다. 즉, 해독하는 데 시간이 오래 걸리거나 이해하기가 쉽지 않습니다.
예를 들어, the site you linked in your question을 살펴 보았습니다.
console.log("test");
을 그리고 여기에 출력입니다 : 여기 내 입력 코드는이 먼저 눈에 아주 안전한 보인다
var _0xdef6=["\x74\x65\x73\x74","\x6C\x6F\x67"];console[_0xdef6[1]](_0xdef6[0])
, 그리고 몇 가지 덜 전용 역 엔지니어를 놀라게하기에 충분 될 수 있습니다. 그러나, 디코딩 실제로 매우 간단합니다
// t e s t l o g
var values = ["\x74\x65\x73\x74", "\x6C\x6F\x67"];
console[values[1]](values[0]);
갑자기, 모든 꽤 명백하다 -이 도구는, 입력 코드에서 값 및 식별자를 촬영 ASCII 진수 코드로 변환하고, 문자열로 저장했다 정렬.
실제 프로그램은 이보다 훨씬 길어서 디코딩하기가 더 어려울 지 모르지만 요점은 동일하게 유지됩니다. 점심 시간에 작은 프로그램에서 난독 화가가 어떻게 작동하는지 파악할 수 있다면, 심각한 리버스 엔지니어링 시도에서 코드를 보호하지는 않습니다!
클라이언트 측 JavaScript에서 수행하는 난독 처리는 실제로 많은 도움이되지 않습니다. 코드는 클라이언트 장치에서 실제로 해석되어야하므로 사용자가 수행해야하는 모든 작업은 되돌릴 수 있어야합니다. 코드를 난처하게 만들고 싶다면 어떻게해야할까요? –
내 상사가 리버스 엔지니어링에서 앱을 보호하는 작업을 할당합니다. 나는 구글과 그 코드 난독 처리 절차를 알게되었다. 필자는 jquery, html을 사용했습니다. 즉, 하이브리드 @JoeClay – Asad
sp 이유는 아무도 그것을 이해할 수 없도록 @JoeClay입니다. – Asad