2012-03-22 3 views
2

나는 C#으로 BHO에 의해 IE 툴바를 만들었다. 이제는 파이어 폭스 버전을 만들고 싶습니다. xul을 사용할 계획 이었지만 사용자에게 소스 코드를 보여줍니다. DLL이 파이어 폭스에서 좋은 방법이 아닌 것 같습니다.파이어 폭스 확장 코드를 숨기는 방법

나는 확장 폴더에 파일을 만들지 않을 구글, 야후와 같은 툴바를 시도했다. 어떻게하면 좋을까요?

답변

1

그것은 파이어 폭스 확장 기능을 개발하기위한 최적의 방법이 될하지 않을 수 있습니다

(아래 난독에 대한 내 노트를 참조하십시오),하지만 당신은 절대적으로 외부 DLL을 사용하여 구축 할 수 있습니다.

Gecko 2.0이 출시되기 전에는 확장 기능에 컴파일 된 코드를 포함하기 위해 모질라 빌드 툴체인을 사용해야했습니다. 구조에

JS-하는 ctypes :

https://developer.mozilla.org/en/js-ctypes/Using_js-ctypes 
https://developer.mozilla.org/en/js-ctypes/js-ctypes_reference 

은 JS-하는 ctypes는 외부 DLL을로드하고 자바 스크립트 함수에 자신의 API를 바인딩의 매우 쉽게 작업을합니다.

몇 가지 다른 버전의 DLL을 컴파일해야하며 JavaScript가 해당 플랫폼을 올바르게 감지하고 적절한 DLL을로드해야하지만 기본적으로 JavaScript가 지원되면 모든 플랫폼에서 동일하게 작동합니다.

ctypes.libraryName은 DLL이 현재 플랫폼 (예 : Windows의 경우 .dll, Unix의 경우 .so)에서 확장자를 결정하는 데 도움이됩니다.

다른 정보 (예 : navigator.userAgent)를 사용하여 어떤 하위 플랫폼 (예 : Windows 7 64 비트 또는 Vista 32 비트)을보다 구체적으로 결정할 수 있습니다.


업데이트 :

이 당신의 확장/응용 프로그램에 포함되어 컴파일 된 DLL에 좋은 이유의 전체 무리입니다 (예 : 속도, 특수 기능, 3 자 라이브러리),하지만 목적으로하는 경우 난독 화 (소스 코드 숨김)입니다 ...

나는 당신에 대해 걱정하지 않을 것입니다. 불법 복제 방지를위한 기술적 수단은이 현대 세계에서 당신을 매우 멀리하지는 않을 것입니다. 소프트웨어가주의를 끌만큼 좋은 것이라면, 누군가 균열이 될 것입니다.

저는 그 사실을 잊어 버리고 대신 변호사 비용을 조금 씁니다. (Copyright : yay! Patents : Nay!)