코드 혼동: 왜, 어떻게, 언제...
파이썬과 자바스크립트와 같은 해석 언어는 소스 코드를 보호하기 위해 모호 처리를 더욱 필요로 한다.응용 프로그램을 실행 가능한 파일로 포장하더라도 원본 코드는 메모리에서 볼 수 있습니다.
코드 혼동이란 무엇입니까?
코드 혼동은 우리의 원본 코드 안전을 확보하기 위해 역방향 엔지니어의 생활을 어렵게 하는 기술이다.
그것은 옥스포드 대학이 제공한 혼동 정의와 유사하다
the action of making something obscure, unclear, or unintelligible.
코드 혼동은 실제 소스 코드를 읽을 수 없고 이해할 수 없는 코드로 바꾸는 과정이다.다음은 Javascript 모호 코드의 예입니다
function hi(){
hi();
}
hi();
var _0xcd38=['log','Hello\x20World!'];(function(_0x1499a2,_0x273593){var _0xcd38c1=function(_0x13863e){while(--_0x13863e){_0x1499a2['push'](_0x1499a2['shift']());}};_0xcd38c1(++_0x273593);}(_0xcd38,0xd7));var _0x1386=function(_0x1499a2,_0x273593){_0x1499a2=_0x1499a2-0x1a2;var _0xcd38c1=_0xcd38[_0x1499a2];return _0xcd38c1;};function _0x425006(){var _0x18303c=_0x1386;console[_0x18303c(0x1a3)](_0x18303c(0x1a2));}_0x425006();
코드 혼동은 어떻게 작동합니까?
보시다시피, 모호 코드에서 변수 이름이 변경되었고, 함수 이름이 무작위 16진수로 변경되었습니다.
또 불필요한 변수와 순환이 추가돼 역방향 엔지니어는 이해할 수 없다.
나는 또 네가 직접 시도해 보라고 건의한다here is the link to the online JavaScript obfuscator which I used in the above example
코드 혼동과 코드 추화는 어떤 차이가 있는가
코드 희화화와 코드 혼동은 매우 다르다.코드 희화화는 여분의 공백 문자와 탭만 삭제할 뿐 희화화된 코드는 쉽게 이전의 상태로 회복되고 더욱 아름다운 VS 코드를 사용하면 더욱 아름답다.
왜 당신의 코드를 혼동합니까?
당신과 당신의 팀이 당신의 회사를 위해 새로운 비즈니스 응용 프로그램을 개발하려고 노력하고 있다고 가정해 보세요.신청은 분명히 비용을 지불하는 것이다💰. 첫 번째 공통 버전 (v1.0.0) 을 발표했습니다.
이제 이틀 후에 당신의 응용 프로그램이 제3자 torrent 사이트에서 무료로 다운로드할 수 있다는 것을 알게 될 것입니다.이 소식을 들으면 너는 매우 상심할 것이다.
네가 수개월 수년 동안 부지런히 일한 것을 도둑맞았어!!
이런 상황은 피할 수 있다.
어떻게 써요?
만약 원본 코드를 컴파일하고 발표하기 전에 원본 코드를 혼동했다면.
모호한 처리는 어떻게 이런 상황을 방지합니까?😏
모호 처리는 모든 역방향 프로젝트가 프로그램의 실제 원본 코드를 보는 것을 막을 것입니다.
근데 어떻게 하지?
앞에서 말한 바와 같이 코드 혼동은 변수 이름, 줄 번호를 바꾸고 불필요한 순환을 추가하기 때문에 이해하기 어렵다.
어떻게 코드를 혼동합니까?
인터넷에는 많은 혼동기가 있는데, 대다수는 무료이며, 원천을 개척한 것이다.
코드를 혼동하려면 먼저 혼동기를 설치해야 한다.그럼 서류대로 하세요.😉.
다음은 서로 다른 언어에 대한 다양한 모호 프로세서 목록입니다.
ProGaurd
물론 가장 인기가 많고 널리 사용되는 자바 모호 처리입니다.
Android Studio가 사전 설치되어 있습니다.
See a more bigger list of Java Obfuscaters here
javascript-obfuscator
소스 소스 JavaScript 혼동.
npm 패키지로 제공📦
$ npm install --save-dev javascript-obfuscator
$ # OR
$ yarn add --dev javascript-obfuscator
PyArmour
설치하다.
$ pip install pyarmor
코드 혼동은 얼마나 안전합니까?
코드 혼동은 안전합니다.그래도 프로그램을 발표하기 전에 모호한 코드로 컴파일된 프로그램을 테스트해 보는 것을 권장합니다.
또 생산 전 테스트를 할 때는 혼동을 피해야 하지만 혼동은 시간이 많이 걸린다.
Also remember
너의 모호한 코드가 더 안전할 수 있지만, 가장 안전한 것은 아니다.
코드 혼동의 장단점
우세하다
코드 혼동은 장점이 많아요.
예를 들어 코드의if문장이 비어 있으면
else{}
else는 혼동 과정에서 삭제됩니다결점
응, 장점도 많고 단점도 많아.
혼동이 악성코드를 숨기는 데 자주 쓰이기 때문에 구글과 모질라는 이 같은 행동을 발표했다.
Fact: 70% of extensions removed from the Chrome Web Store were obfuscated.
요약
만약 당신이 거대한 응용 프로그램을 개발하고 있다면 코드 혼동은 매우 중요하다.
인터넷에는 많은 반컴파일러가 있다.
코드 혼동은 어느 정도 당신의 코드를 보호할 수 있지만, 모든 것이 해커가 공격할 수 있다는 것을 명심하십시오.
리뷰👇
너는 너의 코드를 혼동할 수 있니?
아직도 여기 있어요?
너한테 줄 특별한 게 있어...
내 #100일 코드 진행률을 계속 지켜보세요.때때로 나도 좋은 댓글을 공유할 때가 있다.
좋은 하루 되세요.
Reference
이 문제에 관하여(코드 혼동: 왜, 어떻게, 언제...), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thundercoding/code-obfuscation-why-how-when-ebg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)