2018-08-27 오디오 리핑 일기

사실 리핑을 한 건 26일인데 마무리한 건 27일이니 그냥 27일로 쓴다. 정리하기 귀찮으니 그냥 사고의 흐름대로 씀.

 

처음에는 EAC(Exact Audio Copy)을 건너뛰려고 CueTools 에 포함된 CueRipper 로 리핑을 시도했었는데 Ioctl 에러가 나면서 실패했다. Daemon tools 에서 CD 이미징 시에도 문제가 있는 걸 보면 이 드라이브에 호환성 문제가 있는가 싶기도 하다. 아무튼 그래서 EAC->CueTools 의 과정을 거쳐 wav 에서 flac 으로 인코딩했다.

CueRipper 를 사용하여 리핑 시 발생하는 에러

EAC 이미징 시에도 freedb 검색을 지원하지만 왠지 불만족스러운 결과가 나오므로 db 자체가 없는 경우에 최초 작성할 때만 사용하고 (cuetools 의 경우 이런 인터페이스가 없어서 불편하다.) Cuetools 로 인코딩 시에 db를 재지정했다.

그런데 android flac 플레이어에서 재생해보니 어떤 파일은 cue 파일을 인식하는데 어떤 파일은 못하는 등 엉망이었다. 그래서 안드로이드용으로 embed 파일을 추가로 만들기로 했다.

embed 버전을 만들 때 그냥 기존 .flac 파일에 embedding 만 해주는 기능이 있을것 같은데 사용법을 몰라서 그냥 새로 인코딩했다.

그런데 만들고 보니 embed 버전에서도 .cue 시트는 여전히 생성되더라. 지우려고 하다가 문득 혹시나 싶어서 .cue 시트를 마운트해보니 embed 한 flac 으로도 정상적으로 마운트되고 재생되었다.

cue 시트 마운트도 이번에 기존에 쓰던 Daemon tools 대신 ImgDrive 로 바꾸었다. 아마 인코딩 문제로 생각되지만 daemon tools 의 경우 몇몇 파일은 마운트하지 못하는데, ImgDrive 는 문제없이 마운트한다. 다만 마운트 시에 분석 시간이 몇 초 가량 소요된다. daemon 도 약간 딜레이는 있었으니 큰 단점은 아닌 듯 하다.

한 줄 요약: 앞으로는 그냥 embed 버전으로 인코딩하면 flac 자체로도, cue 시트로도 재생가능하다.

그렇게 다시 재인코딩하면서 보니 Heart cleaning 의 경우 앨범 아트가 잘못 들어간 것을 확인해서 Mp3tag 를 이용해서 앨범아트를 수정했다.

처음에는 구글 검색에서 적당히 교체할 생각이었지만 검색 결과 amazon.co.jp 의 상품정보에서 고화질 앨범아트를 제공하기에 이를 다운받아 교체하였다.

Mp3tag 는 cuetools 와 달리 리사이징 문제도 없고 앨범아트도 여러개 추가가 가능했다. (다만 이것을 지원하는 플레이어가 있는지는 모르겠다.)


작성후 cuetools 가 업데이트 된 것을 확인하고 2.16 버전을 테스트해보니 CueRipper 로 정상적으로 리핑되었다. 다만 해당 버전의 버그인지, 아니면 zip 파일을 차단 해제하지 않고 압축 해제한 바람에 외부 dll 이 차단되어서 발생한 문제인지 모르겠다. 아무튼 2.16 버전에서 압축 해제 전 차단 해제를 하고 압축을 해제하면 정상적으로 리핑된다.

파일 다운로드시 발견할 수 있는 차단 메시지

이러한 차단 기능은 일반적으로는 문제를 일으키지 않지만 아카이브 안에 2개 이상의 실행 가능한 파일(.exe, .dll) 있고 하나가 다른 하나를 실행하는 경우, 탐색기를 통해 시작되지 않은 두번째는 차단된다(아마 자식 프로세스를 생성하려 할 때 차단되는 것 같다). 이를 해결하려면 실행되는 파일 각각을 모두 “차단 해제”를 하여야 한다.

모범적인 보안 태도이긴 하나 압축 파일 안에 이러한 파일이 다수 존재하고 이를 신뢰하는 경우 압축을 푼 뒤에 일일이 차단을 해제하기란 매우 귀찮으므로 압축 해제 전 해제해두는 것이 좋다.

이 문제는 사실 프로그램 설치에서도 (차단 해제되지 않은 압축 아카이브로부터 다수의 실행파일을 복사하므로) 똑같이 발생할 수 있는데, 신기하게도 대부분의 경우에는 이런 문제가 생기지 않는다. 아마 TrustedInstaller 가 복사하는 경우에는 이러한 제한이 적용되지 않는 것으로 보인다. 하지만 몇몇 인스톨러는 windows installer 가 아닌 유사 인스톨러이며 (대개는 self-extracting archive; SFX) 이 경우 같은 문제가 발생한다.

아마 인텔이었나 어느 드라이버 인스톨러가 이런 문제를 갖고 있어서 꽤 짜증났던 기억이 있다. 아님 AMD 였던가…?

2018-7-10 wordpress theme update

theme 업데이트 하면 customization 이 날아간다고 했는데 날아갔는지 아닌지 모르겠다.

처음엔 날아간 줄 알았는데 CSS 에 폰트 설정은 그대로 있는 걸 보니 이건 아마 날아가지 않은 것 같고… 공유 버튼은 지금 없는데 업데이트하면서 날아간 부분인건지 아님 옜날에 필요없어서 뺐는지 모르겠다. 플러그인도 없는데 원래 플러그인이 없이 theme 만 수정해서 쓰는 타입이었나? addtoany 이거던가…?

랜덤능력타워 디펜스 시즌3 후기

RATD_S2_50

랜창인생 난이도 클리어 기념으로 써보는 후기 겸 공략글.

필수능력 1. 설명상으로는 반반의 확률로 회복 또는 데미지여서 서로 상쇄되는 것 아닌가 싶지만, 회복의 경우 2번 연속 걸려도 100%를 초과하지 못하고 버려지는 반면, 데미지의 경우 2번 연속 걸릴 경우 평균 120%의 데미지를 기대할 수 있으므로 즉사를 노릴 수 있다. 일반 몹 상대로는 회복이던 데미지이던 별 의미가 없고 보스에게 2연속 데미지가 뜨기를 기대하고 사용하는 능력. 이 능력을 제외한 다른 능력으로 최대한 일반 몹을 배제하여 보스가 타겟팅되도록 하는 것이 요점이다.

다만 절대로 EX에서 XS로 초월진화를 하면 안되는 스킬. 전술한대로 보스에게 2연속 데미지가 뜨기를 기대하고 사용하는 스킬인데 초월진화를 하면 라인 전체가 대상이 되는 대신 주기가 25초로 대폭 증가하므로 시간 대비 보스 킬에 대한 기대값이 크게 낮아진다.

이 능력은 사형선고로 대신할 수 있다. 사형선고의 경우는 회복 없이 데미지를 주지만 대신 주기가 2배이다. 러시안 룰렛과 달리 초월진화를 해도 무방하다. 주기가 줄어들고 100회 타격에서 무조건 즉사로 바뀐다.

레이저매스의 초월진화 스킬. 초월진화 필수 스킬이다. 초월진화 전에는 근처 적을 함께 타격하지만 초월진화를 하면 모든 적에게 데미지를 준다.

시즌 궁극기인 절멸천사 메타트론과 유사하다. 데미지는 낮은 대신 무조건 발동한다. 메타트론이 20% 확률로 250%의 데미지이므로 기대값으로는 오히려 메타트론보다 높은 딜링을 기대할 수 있다.

투두두두두의 초월진화 스킬. 초월진화 필수 스킬이다. 본래는 최대의 공격속도를 얻을 수 있지만 최종 데미지 -50% 라는 페널티가 있는데, 초월진화 시 이 페널티가 없어진다. 즉 초월진화 전후로 2배의 데미지 상승이 있다. 다른 데미지 상승 스킬(크리티컬 등)이 초월진화를 해도 20% 확률로 200% 등인 것을 비교해보면 반드시 초월진화가 필요하다.

이 스킬과 공격속도를 높여주는 다른 스킬 또는 아이템을 사용하면 더 빨라지는지는 모르겠다. 아마 안 빨라지는 것 같은데…

초월진화를 하면 안되는 스킬. 러시안 룰렛처럼 초월진화 시 스킬의 성격이 바뀐다. EX 까지는 확률적으로 전체 타격을 하지만 초월진화를 하면 빠른 속도로 개별공격을 하는 스킬로 바뀐다. 확률 발동 스킬들은 기대값을 높이기 위해 대개 공격속도를 높이게 되는데, 문제는 이 스킬은 초월진화를 하면 이 공격속도가 무용지물이 된다.

초월진화가 가능한 파도 마술의 하위 호환이지만 전체 타격이어서 나쁘진 않다.

얼터너티브 걸즈 AndApp 판 녹화 가이드

1. nvidia 제어판에 프로필을 등록한다.

기본적으로 게임 프로세스가 nvidia capture 에 의해 게임으로 인식되지 않으므로 nvidia 제어판에서 프로필로 추가해줘야 한다. 추가한 이후부터는 시작시 게임 캡처가 활성화된다.

2. 게임을 전체화면으로 실행 (Youtube 에 업로드 시)

nvidia capture 에서 녹화하는데에는 문제가 없지만 youtube 에 업로드 시 화질 프로필 판단을 가로 길이로만 하기 때문에 가로 480p 사이즈로 축소되어버린다. 이 때문에 전체화면으로 실행하여 비디오 자체를 1080p 로 녹화하여야 업로드 시 1080p 로 재생이 가능하다.

google 이 이를 수정해줬으면 좋겠지만 결제 문의도 기계답변으로 하는 놈들이라 별로 기대가 안된다.

openVPN 프로필에 selective VPN 적용

이전의 selective VPN 게시물에서 이어진다.

openVPN 클라이언트, 또는 openVPN 기반의 서비스들 (예: protonVPN) 은 기본 윈도우즈 vpn 클라이언트와 달리 가상 네트워크 어댑터를 일반 네트워크 어댑터로 등록하기 떄문에 어댑터 속성을 수정함으로서 기본 라우팅을 추가하지 않도록 설정할 수가 없다.

대신, openVPN 프로필을 수정함으로서 이를 반영할 수 있다. 사실 openVPN 프로필 파일은 openVPN 어플리케이션에 지정할 명령의 리스트를 스크립트로 작성한 것이다. 따라서 이를 수정하여 어플리케션의 동작을 수정할 수 있다.

openVPN 프로필 파일(.ovpn) 텍스트 편집기로 연 뒤 다음 줄을 찾는다.

pull

pull 명령은 openVPN 서버로부터 클라이언트가 사용하도록 미리 구성해둔 구성을 서버로부터 가져오는 명령이다.

찾은 줄 위에 다음 명령어를 추가한다.

pull-filter ignore “redirect-gateway”
route-nopull
route 203.104.108.141 255.255.255.255

그러면 다음과 같이 된다.

pull-filter ignore “redirect-gateway”
route-nopull
route 203.104.108.141 255.255.255.255

pull

pull-filter ignore “redirect-gateway” : pull 시에 기본 게이트웨이 설정을 가져오지 않도록 한다.

route-nopull : pull 시에 route 설정, dns 및 dhcp 설정을 제외하고 가져오도록 한다.

route 203.104.108.141 255.255.255.255 : 지정한 라우팅을 추가한다. 이미 시스템에 permanent 라우팅이 존재하는 경우 이 명령은 아무 효과가 없다.

 

Reference

Avoid OpenVPN Client to act as default gateway

https://superuser.com/questions/1292106/avoid-openvpn-client-to-act-as-default-gateway

Maintenance Commands

https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage

 

 

 

 

Seletive VPN 으로 프린세스 커넥트 re:dive 접속

부제: split tunneling 으로 차단된 사이트에만 VPN 사용

할 것

  1. VPN 에 연결 (여기에서는 다루지 않음)
  2. VPN 을 사용하는 디폴트(기본) 라우팅을 지움
  3. 프린세스 커넥트 re:Dive 게임 서버(app.priconne-redive.jp) 의 ip 을 확인
  4. 게임 서버의 ip 에 접속할 때 VPN 네트워크 어댑터를 사용하도록 라우팅을 추가

 

1. VPN에 연결

여기에서는 protonVPN을 사용하였다. 아무 VPN이라도 무방함.

protonVPN 1.5.0 에서 1.5.1 로 업데이트 함에 따라 VPN으로의 기본 라우팅을 지울 경우 인터넷 접속이 되지 않는 문제가 발생했다. 검색해보니 VPN 어플리케이션에 따라 윈도우의 라우팅 기능에 간섭하는 경우가 있다는 듯하다. protonVPN의 경우 업데이트하면서 kill switch 의 버그가 발생한 것 같은데 (해당 기능을 켜지 않았음에도 VPN을 통하지 않는 네트워크가 모두 차단됨) 아무튼 이것으로 보아 윈도우의 기본 VPN 기능을 사용하지 않고 어플리케이션을 설치하여 사용하는 타입의 경우는 이 문서가 적용되지 않을 수 있다.

2. VPN을 사용하는 디폴트(기본) 라우팅을 지움

윈도우의 기본 vpn 네트워크 기능을 이용하면 일반적인 네트워크 어댑터와는 다른 형태로 네트워크 어댑터가 생긴다. openVPN 을 사용하는 경우에는 가상 드라이버를 사용하는 네트워크 어댑터가 생긴다. 하지만 어느 경우에도, vpn에 연결하게 되면 가상 네트워크 어댑터가 생기고 이를 통하여 네트워크 트래픽이 전송되도록 시스템의 라우트 테이블이 작성된다. (기본 VPN 어댑터의 경우 고급 TCP/IP 옵션에서 디폴트 라우팅을 생성하지 않도록 지정할 수 있다. 고급-일반-원격 네트워크에서 기본 게이트웨이 사용 을 해제하면 디폴트 라우팅을 생성하지 않는다.1)

기본 내장 route.exe 를 사용할 수도 있지만 프론트엔드를 제공하는 nirsoft 의 NetRouteView 를 실행하여 확인한다. 관리자로 실행 메뉴가 있긴 하나 버그가 있는지 처음에 보통 권한으로 실행한 경우 라우팅 테이블 수정이 안 되는 문제가 있으므로 처음부터 관리자로 실행하도록 한다. 권한 관련 문제가 아니고 metric 값 관련 문제인 것으로 확인되었다.

metric 은 해당 route 을 사용할 때 드는 cost 를 의미하는 것으로, windows 는 이 값이 낮은 순서대로 연결을 시도한다.

그러므로 위에서부터 메트릭이 낮은 순서대로, destination 0.0.0.0 mask 128.0.0.0 은 0.0.0.0~127.255.255.255 까지의 대역을 뜻하고, interface IP 10.8.8.6 는 10.8.8.6 이라는 ip 가 설정된 네트워크 어댑터를 통해 해당 트래픽을 보낸다는 뜻이다. 그리고 여기에서 속하지 않는 ip들은 아래로 내려가면서 일치하는 route 규칙이 있는지 찾아 routing 되게 된다.

… 는 것이 windows 의 기술문서나 wikipedia 의 네트워크 라우팅 항목을 보면 나오는 내용이지만, metric 이전에 더 구체적인 destination 이 더 우선되는 것으로 보인다.

위의 예에서, 185.xxx.xxx.xxx/32 는 ip 확인 사이트에서 확인할 수 있는 vpn 서버의 ip이다. vpn 의 구조상 서버 ip에는 실제 네트워크 어댑터를 통하여 연결되어야 하는데, 이것이 그것을 처리하기 위한 라우팅 규칙으로 보인다. 그런데 이 규칙의 metric 값은 10 인데, 위를 보면 이보다 낮은 metric 3을 가진 128.0.0.0/1 에도 포함되는 ip이다. 그러면 어느 라우트를 사용하는가? vpn이 정상 작동하는 것으로 보아 metric 값이 높아도 destination 을 더 구체적으로 지정한 라우팅이 사용된 것으로 보인다.

이 뿐 아니라 192.0.0.0/24 도 metric 이 3보다 높게 지정되어 있음에도 실제 어댑터의 로컬 서브넷에는 정상 작동되는 것으로 보아, metric 값은 destination 이 동일한 수준에서 중복 지정되었을 때 우선순위를 정하기 위한 값으로 보인다.

아무튼 여기에서는 VPN 의 네트워크 어댑터를 사용하는 디폴트 라우팅을 지운다. 0.0.0.0/0 또는 위 사진에서는 0.0.0.0/1 과 128.0.0.0/1 을 지운다.

만약 실제 네트워크 어댑터에 할당된 디폴트 라우팅이 남아있지 않다면 추가해준다.

기본 라우팅의 예. 0.0.0.0/0 에 인터페이스 네임이 실제 네트워크 어댑터가 맞는지 확인한다. 위의 예에서는 Broadcom Netlink (TM) Gigabit Ethernet 어댑터이다.

3. 프린세스 커넥트 re:Dive 게임 서버(app.priconne-redive.jp) 의 ip 을 확인

fiddler 를 통해 확인해보면 게임이 접속하는 서버는 다음과 같다.

게임 서버: app.priconne-redive.jp

게임 리소스 CDN: priconne-redive.akamaized.net

기타: omotenashi.cygames.jp, analytics.app-adforce.jp, graph.facebook.com, android.clients.google.com

omotenashi.cygames.jp 의 경우는 계정 생성을 담당하는 서버인 것으로 보인다. 또한 계정 연동에도 사용하는 것으로 보인다.

게임의 UI 상에는 ID가 0으로 표시되는 상태에서 튜토리얼을 시작하지 않고 메뉴의 일괄 다운로드로 리소스만 다운받는 중에 VM 을 복사해본 결과, 원본과 복사본이 같은 계정으로 시작되었다. 그러므로 계정 생성은 게임을 처음 켜자마자 사용자 입력을 기다리지 않고 시작되는 것으로 보이는데, 그 과정에서 접속하는 서버 중에는 omotenashi.cygames.jp 가 가장 유력해보인다.

graph.facebook.com, android.clients.google.com 는 각각 facebook, google play 계정 연동에 사용되는 것으로 보인다.

analytics.app-adforce.jp 는 검색해본 결과 광고 경로를 수집하는 사이트라는데, 정확히 무슨 데이터를 수집하는지 불명확하다.

아무튼 이 중 게임 서버만 지역 락이 걸려있으므로 게임서버만 VPN을 통해서 연결해주면 된다.

nslookup.exe 를 사용하여 ip 를 확인한다.
nslookup app.priconne-redive.jp

2018-06-07 현재 ip 는 203.104.108.141 이다.

4. 게임 서버의 ip 에 접속할 때 VPN 네트워크 어댑터를 사용하도록 라우팅을 추가

다시 NetRouteView 로 돌아가 새 라우팅을 추가한다.

destination:  게임 서버의 ip 를 적는다.
203.104.108.141

mask: 모든 주소가 일치하는 ip 에 대해서만 적용한다.
255.255.255.255

gateway: vpn 의 게이트웨이를 적는다. 이것은 vpn 마다 다르다.

metric: 이전에 같은 규칙을 만들지 않았다면 뭐든 상관없다. metric 값을 너무 작게 지정하면 “하나 이상의 인수가 올바르지 않습니다” 라는 에러를 띄운다. 이유는 잘 모르겠다. 적당히 큰 값 (약 100 가량)을 입력하면 정상적으로 추가된다.

interface: vpn 의 네트워크 어댑터를 고른다.

persistent: 재부팅해도 규칙이 유지되게 하려면 Yes, 아니면 No. 기본값은 No 이다. Yes 로 하고 추가하면 표에서 Persistent 로 표시되지만 실제 재부팅 후 사라지는 것 같다. route add -p 명령을 썼을 때에는 유지되는 것으로 보임.


원래는 게임 서버만 vpn 을 써서 접속하고 다른 어플리케이션에서는 vpn 을 통하지 않고 사용하여 전체 대역폭을 활용하려는 계획이었다. 그런데 이번에 테스트한 vpn이 vpn을 통하고도 속도가 충분히 빠르게 나와서 빛이 바랬다. 그래도 나중에 참조를 위해 남겨두도록 한다.

정확한 용어에 대해서는 조금 혼란스럽다. split tunneling 이 가장 오래되고 정확한 표현인 것으로 보이지만 이 키워드로 검색했을 때에는 검색 결과는 별로 좋지 않았다. 다른 후보로는 selective routing 이 역시 검색어로서는 별로인 듯하다.


2018-06-08: protonVPN 클라이언트를 1.5.0 에서 1.5.1 로 업데이트한 후 vpn 의 기본 라우팅을 지우면 외부로의 네트워크가 작동하지 않는 것을 발견하여 VPN 어플리케이션을 사용할 시의 문제를 업데이트함.

2018-06-10: route 추가 시의 문제가 권한 문제가 아니고 metric 값의 문제임을 확인. 관련 내용을 수정.

2018-06-10 17:28: netrouteview 에서 persistent 옵션이 적용되지 않는 문제가 확인됨.

2018-06-23: 윈도우의 기본 VPN 어댑터 사용 시 기본 라우팅을 추가하지 않도록 하는 내용을 추가.


Reference

NetRouteView:

https://www.nirsoft.net/utils/network_route_view.html

IPv4 CIDR blocks:

https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#IPv4_CIDR_blocks

How to Add a Static TCP/IP Route to the Windows Routing Table:

https://www.howtogeek.com/howto/windows/adding-a-tcpip-route-to-the-windows-routing-table/

Add a static IP route:

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc757323%28v%3dws.10%29

The IP routing table:

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc779122(v=ws.10)

Direct versus indirect routing:

http://osr507doc.xinuos.com/en/NetAdminG/iproutingC.direct_indirect.html

Split Tunneling for Concurrent Access to the Internet and an Intranet:

https://technet.microsoft.com/en-us/library/bb878117.aspx

 

재래! 오르타나 극단 진 절급

원래는 포기했었는데 어제 갑자기 [월하의 신부] 유이 가 나오는 바람에 가능해진 진 절급 편성.

근데 이 영상을 보면 방어력 650인 레이를 제치고 제일 방어력이 낮은 렌이 집중적으로 타게팅이 되는 것을 볼 수 있다. 그 다음으로 시온인데… 여기서 추론할 수 있는 것은

  1. 방어력이 너무 낮으면 어그로가 튄다. (레이에 비해 100 이상 방어력이 낮은 렌이 가장 먼저 타겟이 된 것으로 볼 때)
  2. 단순 방어력 뿐 아니라 속성에 의한 데미지 감소 효과도 고려된다. (렌이 쓰러진 후 방어력이 50정도 높은 레이보다 시온이 먼저 타겟이 된 것으로 볼 때)

좀 더 돌려보면서 추이를 지켜봐야겠다.

nox 6.0.9.0 업그레이드 후기

virtualbox 시스템상으로는 아무 필요없지만 nox-disk2.vmdk 파일을 지우면 nox 에서 초기화를 시도한다. fixed disk 이름을 nox-disk2.vmdk 으로 지정하거나, 혹은 빈 더미 파일을 넣어주면 될 것 같기도 하다. 다만 쓰기가 가능해야 하는 듯. 읽기 전용으로 하니까 역시 초기화됐다.

data disk 이미지는 시스템 버전과는 상관이 없어서 nox를 업데이트해도 그대로 쓸 수 있는 것으로 확인되었다.

이 소녀M에게 축복을! 진.절급

오랜만의 부활 메타. 양배추가 때리는게 너무 아파서 코하루를 리더로 세워도 버티지 못하고 쓰러진다.

차라리 그냥 쓰러지는 것을 감안하고 부활을 포함한 2힐로 버티면 무난히 클리어할 수 있다.