코드를 난독화 하는 프로젝트를 하게 되었다.

 

그 일련의 과정들 

 

(CLI로 하였을 때)


1. 난독화를 하기 위해 난독화 오픈소스 사용

https://github.com/javascript-obfuscator/javascript-obfuscator

 

javascript-obfuscator/javascript-obfuscator

A powerful obfuscator for JavaScript and Node.js. Contribute to javascript-obfuscator/javascript-obfuscator development by creating an account on GitHub.

github.com


2.  오픈소스를 위해 Ubuntu에 npm 설치

https://jjeongil.tistory.com/1275
https://d2fault.github.io/2018/04/30/20180430-install-and-upgrade-nodejs-or-npm/


3. 파일을 난독화 후 압축하여 다운로드를 하기 위해 ZIP 설치

https://araikuma.tistory.com/120


4. 설치를 다 하였지만 명령어가 실행되지 않음

https://stove99.github.io/nodejs/2019/09/30/yarn-global-command-not-found/ 

yarn 을 사용해 global 로 패키지 설치 후 설치한 패키지를 커맨드창에서 실행했을때 명령어를 찾을 수 없다면서 command not found 에러가 나는 경우가 있다.

npm i -g 와는 다르게 yarn 을 추가적으로 설정이 살짝 필요하다.

.bashrc 수정

.bashrc 파일 맨 끝에 PATH 추가

vi ~/.bashrc

# 맨 끝에 PATH 추가

export PATH="$PATH:`yarn global bin`"

# 저장후 나오기

# 변경내용 적용

source ~/.bashrc

 

이건 yarn을 사용할 때 하는 방법 


5. 그러나 여전히 안됨 (다시 npm으로 시도)

증상 : javascript-obfuscator: command not found


/root/node_modules/javascript-obfuscator/bin 위치에  javascript-obfuscator 파일이 있는 것을 발견

 

vi ~/.bashrc
export PATH="/root/node_modules/javascript-obfuscator/bin:$PATH"

source ~/.bashrc


https://asung123456.tistory.com/30

 

-명령어 등록 성공 -

 


6. 한글이 깨져서 다운로드 경로를 못찾음 

 

https://huskdoll.tistory.com/74
String downFileNm = new String(target.getBytes("UTF-8"), "ISO-8859-1");

 

자바단에서 Encoding 해줌 

 


7. SVN에 로그인을 해서 파일을 받아오는데 연결이 안됨

 

https://m.blog.naver.com/PostView.nhn?blogId=amabile29&logNo=221522544699&proxyReferer=https:%2F%2Fwww.google.com%2F

 

telnet명령어를 써서 연결이 안되는 것을 확인하고 방화벽이 막혀있는 것을 알게됨

내부 아이피를 알아내서 내부 아이피로 연결함 

 

 


8. 난독화를 할 때 사용자에게 이메일을 보내야 하는데 로컬에서 잘 되던게 was서버에서는 안됨

error :

이메일 정보 확인이 필요합니다.

Mail server connection failed; nested exception is javax.mail.MessagingException: Could not convert socket to TLS;
  nested exception is:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate). Failed messages: javax.mail.MessagingException: Could not convert socket to TLS;
  nested exception is:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

 

 

해결

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
<property name="host" value="smtp.gmail.com" /> 
<property name="port" value="465" /> <!-- 587 -->
<property name="username" value="${mailSender.gmailId}" /> 
<property name="password" value="${mailSender.gmailPw}" /> 
<property name="javaMailProperties"> 
<props> 
                <prop key="mail.smtp.auth">true</prop> 
                <prop key="mail.smtp.starttls.enable">true</prop>
                <prop key="mail.smtp.ssl.enable">true</prop>
                <prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
</props> 
</property> 
</bean>

 

port를 465로 prop key를 

                true</prop key="mail.smtp.ssl.enable">
                TLSv1.2</prop key="mail.smtp.ssl.protocols">

두 줄 추가 


 

+ Recent posts