코드를 난독화 하는 프로젝트를 하게 되었다.
그 일련의 과정들
(CLI로 하였을 때)
1. 난독화를 하기 위해 난독화 오픈소스 사용
https://github.com/javascript-obfuscator/javascript-obfuscator
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에 로그인을 해서 파일을 받아오는데 연결이 안됨
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">
두 줄 추가
'Project > obfuscator' 카테고리의 다른 글
javascript-obfuscator 난독화 2 (자바 코드) (SVN 관련) (0) | 2021.05.30 |
---|