Tag Archives: 한국어

파도타기 피카츄 배포

이번에 포켓몬스파에서 파도타기를 배운 피카츄를 배포한다는 광고를 보았습니다.

그런데 멀기도 멀고 가격도 매우 비싸네요.
그냥 만들어야겠습니다.

예전에 뚫어놓았던 npfl 서버의 선물목록을 확인하니 미리 테스트 중이였는지 이미 올라와 있었습니다.

2016-07-01 04_50_32-Mozilla Firefox

뭐 일단 예전에 제가 포켓몬스터 선물 배포서버에 대해 올린 이후로 별다른 소프트웨어 업데이트도 없었기에 예전과 같은 방식으로 배포를 진행하겠지 생각하며 선물 파일을 다운로드 받아 사설 선물서버에 올렸습니다.

IMG_9924

그런데 이상하게도 소포가 없다는 말만 덩그러니 남긴 채 선물을 받는것이 불가능해 지더군요

이것은 제가 처음 작업을 시작할 때에는 전혀 못 보던 현상이였습니다.

그래서 좀 더 알아보기로 했죠.

사실 한참동안 서버와의 프로토콜을 분석한다고 시간을 허비했습니다.

전에 제가 언급했던 서버 말고 npul 등과 같은 많은 서버들이 3ds와 교신하기 때문에 혹시나 그쪽에서 별도의 인증 과정을 거치지는 않나 싶었습니다.

그리고 한가지 파일을 비교하면서 찾아낸 것이

2016-07-01 04_59_56-Binary(fast) Compare - UltraCompare Professional

그때 당시에 받은 선물 파일과 지금 다시받은 선물 파일이 다르다는 것이였습니다.

조금 놀랐죠, 단순히 정적일것 같았던 파일이 그때와는 다른 형식을 취하고 있었습니다.

예전과 같이 AES-CTR로 복호화를 해 보았습니다.

2016-07-01 05_02_24-Binary(fast) Compare - UltraCompare Professional

앞의 헤더값이 틀려지면서 뒤에 암호화된 부분이 완전히 달라집니다.

몇 개의 파일을 돌려가며 분석해보니 맨 앞의 비트값에 따라 게임이 인식하여 선물이 비활성화 되는 듯 합니다.
ORAS는 해당 값이 C5이여야 선물을 받을 수 있습니다.

하지만 BOSS형식 파일 내부의 포켓몬 선물 데이터 자체도 닌텐도가 서명을 하기때문에 임의로 내용을 변경하면 게임 자체에서 오류를 내고

어느 단계에서 선물의 활성화 비활성화를 결정할지 생각해 보았습니다.

문득 npdl 서버에서 선물 파일을 다운로드 받을 때 보내는 요청문이 떠올랐습니다.

2016-07-01 05_11_16-C__Windows_system32_cmd.exe

npdl 서버로 요청을 보낼 때는 변형된 http 프로토콜을 사용하는 데 유저에이전트에 상당한 양의 정보를 포함시킵니다.

그래서 여기서 아마 재인증을 시도할 것이라 생각하고 그 값을 실제 3ds에서 나온 값과 동일하게 맞춰서 파일을 다운로드 하는 클라이언트를 만들어 보았습니다.

2016-07-01 05_17_32-Binary(fast) Compare - UltraCompare Professional

예측은 정확했습니다.

유저에이전트를 조작해주자 그에 맞춘 선물 파일을 서버가 되돌려 줍니다.

이제는 게임 종류 언어 종류에 따라 해당하는 기기에서만 활성화가 되도록 즉석에서 파일을 조작하여 전달해 주는 듯 합니다.

분명 예전에는 그렇지 않았는데 지금은 이런 식으로 바뀐 것을 보면

닌텐도에서 제 이전글을 보고 나름대로의 조치를 취한 것으로 생각되기도 합니다.

예전에는 단순히 클라이언트 인증서만 확인했기 때문에 ssl 인증이 성공하면 선물파일의 캐쉬를 무한정 생성할 수 있었는데

이제는 게임별 기기별로 파일을 다 가지고 있어야 하니 아마도 그것을 방지하기 위한 것이 아니였나 생각이 듭니다.

IMG_9925

삽질 끝에 이제 선물 받기를 시작합니다.

https://youtu.be/yS5n1_5oI_Y

여튼 파도타기를 배운 피카츄를 받는 영상입니다.

중요한 피카츄의 스탯은 이렇습니다.

IMG_9926

pkx 파일은 선물 배포일에 맞추어서 블로그에 따로 업로드 할 예정입니다.

매너티는 최고 존엄입니다.

트켓몬 3DS 개발기

트켓몬 블랙이 끝난지도 많이 지났고

다음세대의 트켓몬을 만들어보고 싶었습니다.

하지만 6세대 3DS는 에뮬이 없고

사실 에뮬이 있긴있지만 초기단계이므로 사실상 게임플레이는 불가능한수준

대책을 만들어야 했습니다.

그래서 3DS에 캡쳐보드를 장착하고 컴퓨터로 화면 출력을 돌린 다음

컴퓨터에서 내리는 명령을 직접 3DS로 전달해주는 장치를 직접 개발에 착수했습니다.

colbaltblue

일단 닌텐도 3ds를 하나 새로 구입

다행히 캡쳐보드가 장착된 제품을 구할 수 있었습니다. 귀찮게 캡쳐보드부터 달지않아서 다행.

IMG_5973

바로 뚜껑따기에 돌입합니다.

IMG_5974

충전을 화면출력과 동시에 할수 있도록 커넥터 개조가 되어 있습니다.

이제부터 본격적인 작업에 들어갑니다.

IMG_5977

우선 가장자리부터 시작해서 방향패드를 들어냅니다

IMG_5979

기타 방해가 되는 모듈과 선들도 분리

IMG_5981

그리고 캡쳐보드를 필름이 끊어지지 않게 조심스레 들어올린뒤 SD카드 슬롯을 빼내고 안에 숨어있는 나사를 제거합니다.

IMG_5982

아랫면 확보 성공

중앙에 노란 필름은 캡쳐보드로 화면과 소리를 출력해주는 기판입니다.

IMG_5984

극세선을 조심스레 버튼핀에 납땜해줍니다.

n1CKAdbPrHyNPNuW.huge

닌텐도 3DS 버튼 구조는 단순합니다.
각 핀이 그라운드로 연결되면 인식이 되는 구조라

버튼키에서 이어져 나오는 포트에 납땜을 하여 도선을 연장시킵니다.

하지만 그중에 방향키 오른쪽에 해당하는 TP90은 캡쳐보드 필름때문에 바로 납땜이 불가능하여 불가피하게 버튼 자체의 코팅을 찢고 그위 구리부분에 납땜을 하였습니다.

IMG_5985

버튼이야 그냥 무난하군요

IMG_5986

대충 다시 덮어서 케이블을 뺄만한 공간을 찾았습니다.
오른쪽부분은 그냥 삼각줄로 케이스를 깎아냈습니다.

그리고 보통 게임카드 접속을 위해 카드 슬롯 끝부분은 그라운드이므로 그라운드핀은 게임슬롯에 납땜을 하여 이용했습니다.

2016-01-23 15_25_50-Gamecards - 3dbrew

혹시나 해서 확인

IMG_5987

버튼핀과 그라운드핀을 연결했을때 정상적으로 버튼입력이 인식되는것을 확인 하였습니다.

IMG_5991

극세사는 브레드보드 연결에 부적합하므로 끝부분은 다시 강도가 있는 단선을 연결후 절연처리를 하였습니다.

IMG_5992

마이크로 컨트롤러에 연결후 프로그래밍 하였습니다.

원래 집에 많이 있는 ATMega328칩셋으로 쓸려 하였으나 후에 터치스크린 구현에서 필요한 DAC 성능 때문에 틴지보드를 사용하였습니다.

IMG_5993

그리고 감압식 터치패드 입력을 분리합니다.

그런데 터치패드로 연결되는 선이 0.5mm FPC라 납땜으로 연결하기는 불가능한 크기이고 다른 대안을 찾아야 했습니다.

그와중에 집에있는 구형 PSP가 FFC케이블을 사용하던게 생각나서 바로 적출했습니다.

IMG_5995

가장자리에 4선을 제외하고 오려서 사용을 시도해보았는데

결과는 패망

대충 커넥터에 접속은 되나 극세사랑 연결시 납땜을 하면 케이블이 바로 녹아버립니다.
FFC의 한계를 체험

이런걸 주문제작으로 살려 하면 주문제작으로 최소 몇천개는 세트로 구해야하기때문에 너무 비효율적이고 시간도 오래 걸립니다.

그러던와중에 서랍에 넣어둔 옛날 NDS를 발견

바로 분해에 들어갔습니다.

IMG_5996

액정을 들어내니 같은 종류의 커넥터를 사용하고 있었습니다.

IMG_5998

조심스레 액정 커버와 터치패널, 액정을 분리합니다.

IMG_5999

터치패널에서 커넥터부분을 떼어내고

IMG_6001

알코올로 접착제를 긁어낸뒤 극세사 납땜을 해줍니다.

IMG_6002

접촉이 잘 되었는지 확인을 위해 시험삼아 한번 꽂아 보았습니다.

IMG_6006

나머지 부분도 납땜후 대충 전류를 흘려주니 어떻게 입력이 되긴합니다.

2016-01-23 16_08_49-HOW DOES IT WORK - HOW DOES IT WORK.pdf

데이터시트를 통해 알아보니 NDS/3DS는 이 방식을 사용하는 듯 합니다. VCC는 1.8V이였습니다.

볼트미터로 전압을 측정해보니 3DS는 대충 Y+ X+ X- Y- 의 순서로 핀이 배열된듯 합니다.

2016-01-23 16_04_34-4-Wire and 8-Wire Resistive Touch-Screen Controller Using the MSP430 (Rev. A) -

자 이제 대충 컨셉은 알겠습니다.

3DS의 VCC는 1.8V인데 틴지보드는 3.3V입니다. 버퍼를 사용할 수도 있지만 터치스크린을 아예 안 쓸 예정이므로 그냥 볼트미터로 아날로그 1.8V 출력이 가능한 값을 찾아서 그 값에 비례하여 줄이는 방법을 사용 하였습니다.

3DS의 경우 Y+가 GND로 연결되어 터치 인터럽트가 발생되면 바로 0.0005초 후에 X+ 전압을 읽어내고 Y+ 이 입력모드로 전환후 0.0002초동안 Y+ 전압을 측정하는 방식으로 작동합니다.

이젠 엄청나게 정밀한 타이밍이 요구됩니다.

우선 X+ 핀은 시간적 여유가 있으므로 PWM 으로 연결하고 Y+는 ADC에서 출력하는 방식으로 코드를 짰습니다.

mwlpq

오실로스코프에선 대충 이렇습니다.

그리고 좀 귀찮은 노가다끝에 정확한 타이밍을 맞추는 코드를 작성할 수 있었습니다

심지어 머신코드 최적화 컴파일러가 타이밍을 틀어버리는바람에 매우 귀찮은 반복의 연속이였습니다.

IMG_6008

드디어 완벽한 정사각형을 그려내는 컨트롤러의 모습입니다.

IMG_6015

나머지 선들을 전부 연결후 마무리 하였습니다.

극세선들이 매우 복잡하긴 하지만 귀찮으므로 정리는 하지 않습니다.

이제 컴퓨터로 화면 출력과 동시에 게임을 할수 있는 장비가 완성되었습니다.

어제 새벽에 전체적인 시험을 거친 후 채팅 처리 프로그램을 업데이트 하였습니다.

국내판 콘솔에 국내판 소프트웨어로

인터넷 접속도 가능하도록 하였습니다.

3DS 콘솔이 있으신분은 본인 포켓몬과 교환도 가능.

모험의 시작은 오늘 6시 정각입니다

http://twitch.tv/manatails

포켓몬스터 기라티나 도박장 패치

 

포켓몬스터 기라티나 한국지역 롬에서 제거된 도박장을 활성화시키는 패치입니다.

한글판 포켓몬스터 PT 기라티나 롬에 사용 가능합니다.
프로그램을 실행 후 롬파일을 열고 패치버튼을 누른 뒤 패치된 롬파일을 저장할 경로를 선택해 주시면 됩니다.

올바른 롬파일을 사용했는데도 패치할 수 없는 파일이라고 뜨는 경우엔 롬이 변형된 경우이므로 새로운 순정 롬파일을 구하셔야 합니다.

PT_K_도박장패치.zip

LTE EARFCN에 대해

블로그 로그를 보다가 LTE eARFCN이란 키워드로 방문하시는 분이 많은 것 같아 간단히 글을 남깁니다.

GSM 같은 셀룰러 네트에서 와이파이의 채널과 같은 의미를 가진것이 ARFCN입니다
Absolute Radio Frequency Channel Number 의 약자죠.
기지국과 휴대폰이 통신을 할 때 쓰는 업링크와 다운링크 채널을 정해 놓은 것입니다.

인접한 셀들끼리 비슷한 채널을 이용해 신호를 송출하면 혼선이 일어나기때문에 각 섹터마다 기지국은 다른 ARFCN을 이용해서 서비스를 하게 됩니다.

이것이
GSM과 같은 2G 망에서는 ARFCN으로
UMTS와 같은 3G 망에서는 U-ARFCN으로
LTE와 같은 4G 망에서는 E-ARFCN으로 불리는 것입니다.

NSA AURORAGOLD

지금까지 NSA의 만행을 세상에 고발하여 화제가 되었던 에드워드 스노우든이 오는 9일 지금까지 알려지지 않은 새로운 비밀작전을 다시한번 세상에 공개했습니다.

코드네임 오로라 골드(AURORAGOLD)라 불리는 이 임무는 세계 각국 통신회사들의 내부 네트워크 정보를 수집하여 NSA가 언제나 그 속의 취약점을 뚫고 들어가 특정 데이터를 취득할 수 있도록 하는 목적으로 진행되고 있었습니다.

각국 통신사 엔지니어들의 이메일을 감청한것과 더불어, 세계 모바일 표준규약을 만드는 GSMA 직원들의 이메일과 인트라넷도 감시 대상이였던것으로 밝혀졌습니다. 발표 자료에 나타난 바과 같이 전세계 701개의 통신사가 감청 대상이란 것이 사실이라면 전세계 985개의 통신사 중 70%가 NSA의 손아귀 안에 있는 것이 됩니다.

실제로 2011년에 아프리카 주둔 미군의 요청으로 리비아 통신사의 네트워크 구조도를 제공하여 타인의 문자 메세지를 확인할 수 있었던 사실이 스노우든이 제공한 NSA 내부 발표 자료에 수록되어 있습니다.

bzjejxdp2xg2zya7luqo
발표 자료에 수록된, 지금까지의 자료 수집 정도를 보여주는 저 슬라이드는 NSA가 놀라울 만큼의 침투력을 가지고 있다는 사실을 보여 줍니다.

여기서 한가지 주목할 점은, NSA가 특히 눈독을 들이고 있는 IR.21이라는 문서에 있습니다. 이는 통신사간의 통신 (로밍 등)의 서비스 이용시 호환성 문제를 최소화하기 위해 각 통신사에서 정리하는 하드웨어와 소프트웨어의 정보와 그 구성에 대한 자료입니다. 이는 NSA에게도 네트워크의 이해도를 높일 수 있는 중요한 자료가 됩니다.

모바일 네트워크의 구조상 무선 프로토콜은 암호화되어 안전할지라도 기지국 자체의 데이터를 수집해버리는 것에는 별다른 해결책이 없습니다.

이에 대해 GSMA측은 불법적인 사안이 있는지에 대해 검토한 뒤 대응하겠다는 입장을 보였으며

NSA 대변인은 NSA가 “상호작용이 가능하며 안전한” 인터넷을 구축하는데 힘쓰고 있다고 설명했습니다. (“open, interoperable, and secure global internet.”)

하지만 더이상의 프로젝트 진행이나 현 상황에 대한 언급은 하지 않았습니다.

게임영상편집 팁[미리보기 재설정]

게임영상편집 많이하시는분들,

막상 영상 촬영폴더로 들어가보면

mediapreview_

이런식으로 미리보기가 전부 앞부분이라서 어떤게 어떤 영상인지 구별하기 힘드셨죠?

이를 해결할수 있는 좋은 프로그램이 있습니다.

Media Preview라고 동영상 미리보기 설정을 바꿔주는 프로그램을 이용하면 됩니다.
프리웨어라 사용제한도 없고 기능도 많습니다.

우선 최신버젼을 다운받으셔서 설치하시고

mediapreview

설정 커스터마이즈 버튼을 누른뒤에 Position Seek를 90% 정도나 그 이상으로 설정해 영상의 끝부분을 미리보기로 지정하고 적용 버튼을 누릅니다.

mediapreview0

그리고 해당되는 영상 종류를 지정해 주시구요 적용 버튼을 눌러줍시다

mediapreview2

그러면 당장 폴더에 들어가도 전에 이미 생성된 미리보기만 보일텐데요, 미리보기 캐쉬를 삭제해서 새로운 미리보기가 생성되게 해줍니다.

mediapreview3

다 끝난후 이제 다시 폴더에 들어가보면 미리보기만 딱 봐도 어떤 장면인지 감이 오실겁니다. 불편하게 일일히 열어볼필요 없습니다.

스팸신고결과

요즘 계속들어 불필요한 이메일 알림을 많이 받았습니다.

그런데 수신거부 버튼을 누르면 로그인 페이지만 나올 뿐 수신거부창이 나오지않는 광고메일때문에 이를 갈던도중 불법스팸신고센터에 간편신고가 가능한것을 보고 시도해봤습니다.

2주전쯤 처리상태가 소명자료요청으로 바뀌더니 처음 접수한지 한 달 가량이 지나서 드디어 답변이 왔네요.

spamcop

메일관리 대충대충 날로먹던 아x리버, 국x은행의 시스템관리자분 곤란하시겠어요. 하지만 진작에 조치를 취했어야죠.

http://www.spamcop.or.kr 이곳에서 신고하시면 됩니다. 처리가 바로 되는건 아니지만 기다리시면 결과를 알려줍니다.

SKT의 Band 1 (2.1GHz) LTE 정보

대략 3개월 전쯤부터 시내에 나가면 휴대폰에서 LTE가 잡히기 시작했습니다.
제가 지금 쓰는 엑스페리아 A는 LTE 밴드 1,19, 21밖에 지원을 안하는데 국내에서 잡힙니다. 일본전용인 밴드 19, 21은 제외하고 3G에 쓰이는 밴드1의 재활용일것이라 생각했습니다.
국내에는 3,5,8 밴드가 기존에 쓰이는것으로 알려져있습니다.

이번주부터 드디어 집에서도 새로운 밴드로 LTE가 사용이 가능해지더군요.

계측장비를 이용해서 어떤망인지 직접 확인한 결과를 올립니다. 제 예상대로 밴드 1이 맞습니다.

lte

자세하게 보고싶으신 분은 클릭하시면 원본화질로 보실 수 있습니다.

여기서 일반 사용자분들이 괄목할 정보들을 정리해 보자면..

우선 대역폭이 20MHz가 아닌 10MHz입니다.
EARFCN 150(2.125GHz Downlink) 한가지만 잡히고 다른 주파수는 잡히지 않습니다. 다른 통신사도 잡히지 않습니다.
레퍼런스 파워가 높지 않습니다. 12dBm에다가 10MHz의 블록수를 곱하면 enodeb에서 2W정도로 신호를 송출중이란 뜻인데 해외에 비해 확실히 망 구조가 조밀합니다.
하지만 일부 기지국만 2.1GHz를 가동중인듯 합니다.

LTE는 WCDMA와 같이 1.92MHz의 배수로 샘플링을 해야합니다
후.. 전에 장비에 전원을 잘못 연결하는 바람에 외장 GPS VCTCXO가 고장난 관계로 2의배수에서 소프트웨어 리샘플링을 하니 스캔하는데 시간이 오래 걸리네요.
조만간에 61.44MHz TCXO를 구입해서 지역별로 측정을 해봐야겠습니다.

지역별로 제가 다녀본 바로는 광역시 이상 시내쪽은 거의 잡힙니다.

대구 부산은 외곽도 어느정도 커버되고 있는듯 합니다.

그리고 요즘들어 몇몇 분이 호소하시는 수신률 문제도 이 때문으로 보입니다.
2.1ghz는 기지국이 기존망만큼 활성화가 되어있지 않다보니 이쪽으로 휴대폰이 접속되게 되면 수신률이 낮아 보이는 것입니다.
수신률이 캐리어 전체 수신률의 평균을 내는게 아닌 현재 접속되어있는 하나의 기지국 기준으로 계산을 하나 보니 생기는 현상입니다.
하지만 그렇다고 해서 기존 기지국이 사라지는게 아니고 수신률이 일정수준 이상으로 약해지면 기존망으로 핸드오버를 시도하니 크게 걱정하실 필요는 없으실듯 합니다.
하지만 잦은 핸드오버는 딜레이를 유발하고 배터리를 빨리 소모합니다.