electronjs 개발하면 소스가 공개되는데 비즈니스 로직을 감출순 없나요?

1 답변

0 투표

ElectronJS는 클라이언트 측 애플리케이션을 만드는 프레임워크이기 때문에, 앱에 포함된 JavaScript 코드가 사용자의 컴퓨터에 함께 배포됩니다. 따라서 소스 코드가 완전히 노출되는 것은 피하기 어렵습니다. 그러나 몇 가지 방법을 통해 비즈니스 로직을 완전히 드러나지 않게 만들거나, 역공학(reverse engineering)을 어렵게 할 수는 있습니다.

1. 코드 난독화 (Obfuscation)

  • 난독화 도구를 사용하면 소스 코드의 가독성을 떨어뜨릴 수 있습니다.
  • 대표적인 도구로는 javascript-obfuscator 등이 있습니다.
  • 난독화는 코드의 동작에는 영향을 주지 않지만, 역분석을 어렵게 만듭니다.

2. 패키징 (Packaging)

  • Electron에서는 앱 파일들을 ASAR 아카이브로 패키징할 수 있습니다.
  • ASAR은 단순히 파일을 묶는 것이기 때문에, 압축 해제 도구를 사용하면 다시 소스 코드를 추출할 수 있으므로, 난독화와 함께 사용하는 것이 좋습니다.

3. 네이티브 모듈 (Native Modules) 사용

  • 민감한 비즈니스 로직을 C/C++로 작성한 네이티브 모듈(예: Node.js 애드온)로 컴파일하면, JavaScript 코드보다 분석이 어려워집니다.
  • 네이티브 모듈은 바이너리 형태로 배포되므로, 역공학이 더 복잡해지지만 완전히 불가능한 것은 아닙니다.

4. 백엔드 서버로 분리

  • 가장 확실한 방법은 민감한 로직을 백엔드 서버로 분리하고, 클라이언트는 API 호출을 통해 필요한 작업을 요청하는 방식입니다.
  • 이 경우, 실제 비즈니스 로직은 서버에만 존재하므로 클라이언트 측에서 노출되지 않습니다.

Electron 앱은 기본적으로 클라이언트 측에 소스 코드가 존재하므로, 완전히 감추기는 어렵습니다. 하지만, 코드 난독화, ASAR 패키징, 네이티브 모듈 사용, 또는 민감한 로직을 서버로 분리하는 등의 방법을 통해 역분석을 어렵게 할 수 있습니다. 상황에 따라 여러 방법을 조합하여 보안을 강화하는 것이 좋습니다.

구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
add
...