준비물: OS X EI Capitan (10.11), Xcode 7.1, iTransmission IPA

iTransmission IPA DL: http://www.filepup.net/files/qFdCESOD1444055027.html


방법은 밑에 동영상을 참조하시면 됩니다.

https://www.youtube.com/watch?v=UaZAq0cpCvQ



위 방법은 아직 불안정한 iTransmission 설치 방법이고 제대로 된 버전은 iOS 9 버전에 대응 중인 iTransmission9 베타 버전을 신청하시면 됩니다.



한시간 좀 넘게 삽질했네요.

고작 키 두개 추가하려고;;




    
        *Command R to OPTION_L + x for Eamcs*
        
            
                COMMAND_R to OPTION_L + x
                remap.commandR2_koreng_Only
                
		  --KeyOverlaidModifier-- KeyCode::COMMAND_R,
		  KeyCode::X, ModifierFlag::OPTION_R
		
            
            
            	SHIFT_L + SPACE to COMMAND_L + SPACE
            	remap.SHIFT_LSPACE2_emacs_style
            	
		  --KeyToKey-- KeyCode::SPACE,
		  ModifierFlag::SHIFT_L, KeyCode::SPACE, ModifierFlag::COMMAND_L
		
           	
        
    

일단 저는 애플키보드가 없습니다.

아니 설령 있다고 하더라도, OPTION_L + x 는 손가락이 좀 멀어지기에 차라리 COMMAND_L+ x 가 더 누르기 쉽겠죠.

Emacs는 OPTION_L + x 를 사용할 일이 상당히 자주 있더군요. 더군다나 키 바인딩을 하지 않은것 들이 있다면 특히나 더 사용하게 되는 키 입니다.

이 키를 좀 더 편하게 사용해보기 위해 대부분의 분들이 하는 한/영 키 (COMMAND_R 키) 를 저는 OPTION_L+x 키로 변경해 보았습니다.


일단 대략적인 pirvate.xml 사용방법은 이와 같은 모양입니다.

(정확하지 않습니다. 샘플 코드 보면서 일일이 다 테스트 해 본거기 때문에..)

일단... 

스크립트와 설정 화면을 보면 대략적으로 감이 잡힐거라 예상됩니다.

 <name>*Command R to OPTION_L + x for Eamcs*</name>

이 부분은 설정화면에 표시되는 내용입니다.


위 사진의 의미는 보시면 아실거라 생각합니다.

<identifier> 부분은 아무거나 입력해도 상관 없더군요.. </identifier>

<augogen> 이부분이 중요한데요. 음. 오토 제너레이션의 약자인듯 합니다만..

일단 상당히 많은 옵션이 있는듯합니다.

옵션은 처음에

--KeyToKey--

--KeyOverlaidModifier-- 와 몇개 더 있는데 이 글에선 필요가 없으므로 생략합니다.


--KeyToKey-- 는 다음과 같은 방식으로 동작합니다.

<autogen>--KeyToKey-- KeyCode::SPACE, KeyCoad::A</autogen>

위 코드는 스페이스바를 누르면 A키가 입력된 것과 똑같은 효과를 발생시킵니다. 

(위의 키 A는, 쉬프트키가 눌렸는지, 캡스락이 켜져있는지에 따라서 대소문자로 써집니다, 그러니, 설정파일에는 무조건 대문자로 입력해 주세요. 다른키도 마찬가지 입니다.)

<autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::COMMAND_L, KeyCode::A </autogen>

스페이스 + 왼쪽 커맨드 키 입력시 A키를 누른것과 똑같은 효과입니다.

<autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlags::COMMAND_L | ModifierFlags::COMMAND_R, KeyCode::A </autogen>

구분문자인 ',' 를 '|' 로 변경하시면, 다음과 같은 의미입니다. COMMAND_L + COMMAND_R + SPACE 가 입력되면 A키를 입력.

<autogen>--KeyToKey-- KeyCode::COMMAND_R, KeyCode::

A키를 누르면 B가되고 B키를 누르면 A가 되게 하고 싶습니다.

라고 하신다면 <autogen> 을 두개 만드셔서 

<autogen>--KeyToKey-- KeyCode::A, KeyCode::B </autogen>

<autogen>--KeyToKey-- KeyCode::B, KeyCode::A </autogen>


--KeyOverlaidModifier-- 는 .. 저도 잘 모르겠습니다 솔직히.

하지만 확실한건

<autogen>--KeyOverlaidModifier-- KeyCode::COMMAND_R, KeyCode::X, ModifierFlag::OPTION_R</autogen>

가 있을 때, COMMAND_R 을 OPTION_R로 대체한다는 것 입니다.

즉, COMMAND_R(제 노트북의 경우는 한/영 키가 이 키입니다.) 은 OPTION_R 키로 대체된 후 KeyCode::X 가 실행된다는 것 입니다.

그러니까 옵션이 설명 하는 그대로 ModifierFlag 값으로 오버라이딩 시키는것 같습니다.

....

소스코드 보고 욕부터 하시지 말고 초보자를 위한 눈높이에 맞춰서 설명해 주시면 감사하겠습니다....

당연히 탈옥을 하셨을 거라고 생각합니다.



cydia 에서 python 을 받아주세요.


import glob
import os
import sys
import urllib

raws = 0
aniName = ''

while 1:
    print "1: Zero 2: Leopard 3: HANSET(Korea)"
    try:
        raws = input("select Raws (ONLY NUMBER): ")
    except:
        print ''
        print "ONLY INPUT NUMBER"
        continue
    
    if raws > 0 and raws < 4:
        break
    else:
        print "range 1~3"

while 1:
    aniName = raw_input('Anime Name : ')
    if aniName == '':
        print "Please input anime name"
    else:
        break

Raws = ''

if raws == 1:
    Raws = 'Zero-Raws'
elif raws == 2:
    Raws = 'Leopard-Raws'
else:
    Raws = '\xed\x95\x9c\xec\x83\x9b-Raws'

final = Raws + ' ' +  aniName
final = 'http://[copyright protect]/?page=search&cats=0_0&filter=0&term=' + final

html = urllib.urlopen(final).read()

html = html.split('<')
count1 = 0
count2 = 0

for k in html:
    count1 = k.find('>')
    if k.find('page=download') == -1:
        html[count2] = k[count1+1:]
    else:
        temp = k.find('#')
        html[count2] = k[:temp] + k[temp+4:]
    count2+=1

count1 = 1
count2 = 1


for k in html:
    if k.find(Raws) != -1 and count2 <= 10:
        print "%d, %s"%(count1, k)
        count2+=1
    count1+=1

select = 0;

while 1:
    try:
        select = input("select one : ")
    except:
        print ''
        print "ONLY INPUT NUMBER"
        continue
    
    if raws > 0 and raws < count1:
        break
    else:
        print "range 0~%d"%count1

filename=Raws+' '+aniName+'.torrnet'
urllib.urlretrieve(html[select+3][8:52], filename)            
os.system("ctorrent \"%s\""%filename)


우앙. 위에 있는걸 복사 붙여넣기 해서 ctorrent.py 로 저장을 합니다. 

중간에 [copyright protect] 는 토렌트 사이트를 직접적으로 언급하지 않기 위해 의도적으로 해두었습니다.

파일명은 상관 없어요. 마음대로하세요!

아이폰에 넣습니다.(var/mobile/)

모바일 터미널을 실행합니다.

python ctorrent.py를 입력합니다.

로우즈 아저씨들을 선택합니다.

검색명을 입력합니다.

숫자와 파일명이 표시되는데, 

select one :

에 숫자를 입력합니다. 단, 한자릿수 숫자로 뭔가 보일텐데 그건 입력하시면 안됩니다.

기다립니다.

즐겁게 감상합니다.


ㅂㅂ.


#이 코드는 어디까지나 개인적인 연습을 위해 만들어졌습니다.

#본 소스코드를 퍼뜨려도 됩니다만, 이 소스를 사용하므로서 생기는 일에 대해서

#모든 책임은 사용자 본인에게 있음을 알려드립니다.


주인장이 이거보고 변태래요.

저 변태 맞아요.

그리고 이건 저의 덕력에 의해 잠이 오늘걸 꾿꾿히 견뎌가며 만들엇어요.

흐에에.

\


저가형이라 기능이 매우 딸리는 아이매직 YH001 블루투스 키보드에 키맵핑을 한번 해봅시다.

일단 제목처럼 Mac 전용이며 윈도우는 안키워서 모릅니다. 윈도우 능력자가 해주겠죠 뭐 ㅋ

방법은 진짜 간단합니다.

일단 전 재탕을 좋아하지는 않지만 이번에는 재탕이라는걸 한번 해보겠습니다.

파일 받고 밑에 링크 참조해서 그대로 경로에 맞게 넣어주면 끝

private.xml.zip


보고 참조하세요. ->  GTX55 해킨 한영/한자키 맵핑하기


참 쉽죠?


물론 어떤 방식인지 보면 머리 아픕니다.

설정은 이렇게 스샷대로 해주시면 됩니다.



사용 방법은 방향키 옆에 있는 한자+F1~10 입맛대로 눌려서 쓰시면 됩니다.

F1: 잠자기

F2: 모니터 잠자기

F3: 밝기 Down

F4: 밝기 Up

F5: 음소거

F6: 소리 Down

F7: 소리 Up

F8: 음악 재생/정지

F9: 이전곡

F10: 다음


120331 수정, 추가된 사항

잘못된 파일이라 교체

주석처리, 내부 정리

iMagic_Bluetooth_Keyboard_YH001 키보드만 작동되게 수정

'F13 (PrtSc_SysRq) to Eject ' 추가


자신이 천재 슈퍼 POWER 사용자라면 위에 파일 알아서 수정하신 후 사용하셔도 됩니다.


참조한 사이트들

http://pqrs.org/macosx/keyremap4macbook/xml.html

https://raw.github.com/tekezo/KeyRemap4MacBook/master/files/prefpane/checkbox.xml

검정색 화면에 하얀색 글씨.
그냥 보면 도스창.
척봐도 복잡해보인다. 그냥 하라는데로 하자.

su root 를 입력하고 alpine 를 입력하고 passwd 를 입력한다음에 내 마음대로 바꾸면 된다 이거징?

이 작업을 왜 해야 되는건진 모르겠지만 일단 질러보장..!

iFile? 오 이거 편하다. 아이폰 폴더 같은 역활을 해주네. 사파리 다운로더와 함께 써도 문제 없겠엉..!
어라? iFile 유료잖아 엉엉엉엉 사야되나 ㅠㅠ 크랙판을 뒤져보자. 오오미 찾았다. 아싸..!

뭐. 별 의미 없는 서론이었습니다.
iFile 크랙은 이곳에서 구하실 수 없습니다.
굳이 구하고 달라고 한다면 무한사과를 드리겠습니다 ^^

이 글은, Linux 또는 Mac 터미널을 한번도 사용해 보지 않은 분들을 위해 작성되었습니다.
시작하기전에 몇가지 를 알려드리죠.
 
터미널은 대소문자를 구분합니다. 단 한개의 대소문자라도 틀릴경우, 없는 명령어라고 표기됩니다.

잠시 root 계정의 위험성을 알려드립니다. 여러분이 비밀번호를 바꾸기위해 했던짓.
왜 할까? 보안 문제라고 하던데? 그 의문을 여기서 풀어드립니다.

많은 분들이 터미널을 실행하면 su root 로 진입하는데(이 블로그 주인 youtil 또한) 이럴 필요 없습니다. 관리자 계정은 관리자 계정을 요구하는 명령어를 사용할 때만 진입하면 됩니다. root를 초보자가 진입한다는건 이런 의미입니다. "난 아이폰이 벽돌이 되거나 무한사과가 걸려도 상관없다."

터미널 제작자는 바보가 아닙니다. 시스템을 망가뜨리는 일을 일반계정에서 하려고 시도하면 당연히 막습니다.
하지만 터미널은 root 즉, 최고권한을 가진 사용자가 자신의 시스탬에 어떠한 접근을 하던지 상관하지 않습니다. 
자살하라면 자살하고, 죽이라면 죽입니다.
아이폰 탈옥후 안정화. 대부분 openssh 를 설치하는걸 권장하고 있습니다.
많은 사람들은 이게 뭔지도 모르면서 설치하게 되는거죠.
이걸 설치하면, 여러분은 반드시 root 의 계정의 비번을 바꾸셔야 됩니다.
ssh. 터미널을 통해 다른사람의 당신의 아이폰으로 접근이 가능하게 될 가능성이 있습니다.
비번을 안바꾼다면?

위에서 말씀드린것처럼 root 계정은 시스탬의 최고 권위자 입니다.
해커가 root 계정을 기본 비번 alpine로 탈취한다면?
여러분의 아이폰은 안정성 0% 입니다.

- 저도 아직 "ssh 를 통해 아이폰에 접근이 가능한가" 에대한 여부를 테스트 해보지 못했습니다. 잘못되었다면 지적해주세요.
- ssh 를 통해서가 아니라 다른 방법으로도 접근이 가능 할 겁니다. 사파리를 통해서 라던가.(실제로 탈옥이 사파리를 통해 가능하므로. 이와 root 계정에 대해서는 맨 마지막에 언급하겠습니다.) 반드시 바꾸시는게 좋을겁니다.
- root 계정이 반드시 필요하다고 모든 명령어가 에러를 뱉는다고 하면 착각입니다.(몇몇 프로그램은 root 계정이 필요하다는 오류를 뱉습니다.) 어떤 명령어를 쳤는데 이상한 에러를 뱉으면 root 계정으로 다시 시도해 보시길.
- root 계정을 빠져나오는 방법은 exit 명령어 입니다.
 
Start.

여러분이 터미널에 접근하기 위해 가장 기본적인 명령어들은 외워둬야 합니다.
어려울것 같다구요? 전혀 어렵지 안습니다. 필수적인 명령어는 엄청나게 짧거든요.

ls <- 현재 경로에 있는 디렉터리 및 파일 확인합니다.
mv <-파일, 및 디렉터리 이름을 변경, 및 옮기는 명령어입니다. 폴더에 따라 root 권한이 필요합니다.
cd <- 폴더 진입 
chmod <- 레벨조정. 잘못건드리면 무한사과입니다. 반드시 root 의 계정이 필요합니다. 레벨에 대해선.. 일단 언급하지 않겠습니다. 어려워요.
mkdir <- 폴더생성
rm <-파일 삭제 (-R 옵션 = 폴더 삭제)
자, 이해를 돕기 위해.. 이미지를 첨부할까요?
 


이런겁니다 ㅇㅅㅇ. -a 를 붙여주면 숨김 폴더까지 보여줍니다.
bigboss commended(매니저 좌측 셋팅에서 developer 를 선택해 주셔야 보입니다.) 를 설치하면 폴더는 파란색 글씨로 나오고 파일은 하얀색으로 나오며, 확장자에 따라 색이 달라집니다.
(정확히는 bigboss commended 에 포함된 어떤 패키지가 저 역활을 하는데 그건 저도 모르겠네요.) 

ls [폴더경로] 를 입력하시면 해당 폴더 경로에 있는 파일 및 디렉터리 목록을 보여줍니다.

대소문자를 구분하는 폴더 이름을 언제다 입력하고있냐 라는 분들을 위해서.
 


허수 처럼 생긴 i를 눌러줍니다.제스쳐에 들어가면 Tab를 설정 가능합니다.
폴더의 앞글자를 입력하고 탭키를 눌러주면 알아서 자동완성 됩니다.

ex) "cd M[TAB]" 이렇게 할시 "cd Media/" 가 자동으로 완성됩니다.
또한 폴더 경로를 적다가 까먹으실경우
"cd Media/[TAB][TAB]" 이렇게 하시면 Media 에 있는 하위폴더가 표시됩니다. (탭을 두번 누르라는 의미로, 탭키로 설정한 제스쳐를 두번 반복하란 이야기 입니다.)

앗! 쓰고나서 안거지만 cd 의 사용방법을 적지 않았군요.
Windows 에만 익숙해지신 분들은 아마 폴더 경로를 구분하는게 당연히 \(\) 로 알고계시는 분이 많으실텐데
터미널은 폴더를 / 로 구분합니다.
따라서 cd의 사용방법은

cd [폴더명]/[폴더명]/ ... 이 되겠습니다
하위 디렉터리로 나오는 방법은 windows 와 조금 다릅니다.
cmd 에서는 cd.. 과 cd .. 으로 빠져나올 수 있지만 모바일 터미널에선 cd .. 만 됩니다. (반드시 띄어쓰기 한 후 '..')

자. 폴더 이름 자동완성 하는 방법을 알아봤고, 디렉터리로 들어가는 방법을 알았습니다.
 
파일을 옮기는 방법을 알아야 합니다 저희는.
 



mkdir 은 경로를 생성한다. 즉, 폴더를 만든다 라는 의미로 알면 되겠습니다. 메이크 디렉터리의 (dir이 디렉터리,..였던가..) 약자 라고 보시면 되겠군요.
mkdir 이라는 명령어로 keykud 라는 폴더를 생성하고 mv 명령어로 keykud 라는 폴더를 kud 로 이름을 변경 한 모습입니다.
mkdir 을 사용해 다시 keykud 라는 폴더를 생성하고
그안에 아까 mv로 kud 라고 이름을 바꿧던 폴더를
다시 mv 를 이용해서 keykud 안에 kud  폴더를 넣는 사진입니다.

mv의 사용방법을 굳이 쓰자면

mv [이름을 바꿀 폴더 및 파일 또는 다른 디렉터리로 옮길 폴더 및 파일] [바꿀이름 또는 옮기고 싶은 디렉터리]

참고로 중간에

hayan:~ mobile$ mv kud
kud/           kudkey/

라고 되어있는게 mv kud 까지만 치고 [TAB][TAB] 한 결과입니다.(위에서 보여드리지 못해 죄송합니다. 스샷찍는걸 잊고있었어요..)

이미지가 짤려서 다시 찍어서 올렸는데 이부분을 깜빡했군요... 뭐, 글에 적어놨듯이 실제로 저렇게 표시됩니다.
사진 없는것에 대해 양해를 구합니다...

음. 여기서 부턴 여기까지 배운것들을 응용하는 곳 이군요.
뭐 주로 저는 터미널을 ctorrent 와 연동해서 잘 쓰고있습니다.
동영상을 토렌트로 다운받고 재생시키기까지 과정을 보여드리겠습니다.

모바일 터미널 최대의 단점이군요. iFile 는 바로 보여주지만 모바일 터미널은 그렇지 못합니다.
최근 시디아에 open 이라는 터미널에서 앱을 실행시켜주는게 나왔습니다만 실제로 해보니까
시디아 어플 설명에 있는 사용방법도 제대로 먹지 않더군요 ㄱ-;;

준비물이 필요합니다. 기본 플레이어는 아이튠즈 또는 카피트랜스를 이용해야 동영상이 보일겁니다.
망할 보관함 이라는 것때문에.

저희는 동영상 어플리케이션을 준비해야할 필요가 있습니다.
무료 어플리케이션도 있으니 다운받으시면 될 것같네요.

저는 애용하는 AVPlayer 을 예로 들어보죠. (정품입니다 ㅇㅅㅇ.)

일단 저희는 AVPlayer 의 경로를 알아보아야 합니다.
터미널을 바로 실행하셔서 cd로 어디로 다른 경로로 이동 하지 않으셧을 경우

find Applications/ -name "[검색할파일명]" -print
그 외에 경우
find /var/mobile/Applications/ -name "[검색할파일명]" -print



AVPlayer 의 경로는 D    C9E12E6 .... 하는 녀석이군요. 왜 폴더 명을 바꾸고싶어지는지에 대하여는 언급하지 않겠,,,
이런 복잡한 방법 외에도

SBSetting 에서 more 를 클릭하면 보이는
 



요 화면에서 App Folders 를 누르시면
 



간단하게 보실 수 있습니다.

(find 의 원리는 앱은 보통 *.app 의 이름을 따르는것을 발견했습니다
그래서 find로 이런 이름을 가진 .app 가 있냐 없냐 를 찾는 것인데,
한계가 있습니다.
한글이 들어간 앱의 경우 .app 파일과 이름이 일치하지 않습니다.
저도 최대한 방법을 찾고있습니다만.... 어려울것 같네요. )

토렌트의 사용방법은 전에 youtil 님께서 글을 올리셧습니다. 

 http://youtil.wo.tc/18

여기서 잘못된게 하나 있는데 su root는 반드시 필요하지 않습니다.
위에서 말씀 드렸지만 관리자 권한을 요구하는것만 관리자로 로그인 하시면 됩니다. 

토렌트를 이용해서 파일을 다운받으면 토렌트 폴더가 있는 곳이 아닌 현재 자신의 디렉터리에 다운로드가 됩니다.
hayan~: mobile $ 라고 되어있다면
여러분이 현재 위치한곳은 mobile 폴더입니다.

mv를 이용하여 토렌트로 받은 동영상 파일을 해당 앱의 폴더로 옮겨줍니다.
AVPlayer 같은경우 동영상을 document  폴더에 넣어줘야 합니다.

mv [동영상 파일명] [어플리케이션경로]/[어플리케이션이 읽는 동영상 폴더] 

이제 플레이어 앱을 실행하면 있을겁니다  ^^

마지막으로...
위에서 말했듯이 시디아와 root 의 관계에 대해서 입니다.

dpkg 라는걸 아시나요? .deb를 설치하는 터미널 명령어로 반드시 root 계정이 필요한 명령어 입니다. (적어도 우분투에서는)
사용방법은 dpkg -i [deb 파일 경로][이름].deb  입니다.

여기서 의문점이 하나 생기지 않나요?
시디아. 어째서 그는 root 계정을 요구하지 않고 원하는 deb 패키지를 설치 해 줄 수 있는것일까.

apt-get 라는 명령어. 이 또한 반드시 root 계정을 요구합니다.(시디아 패키지를 다운받을 수 있는 명령어 입니다.)
apt-get update 라는 명령어는 apt-get 의 옵션으로 저장소를 업그레이드 합니다. (시디아를 실행시킬경우 위에 패키지 다운로드 및 리로딩 하는것이 apt-get update 입니다.) (이것은 모바일 터미널에서도 root 계정을 요구합니다.)

이걸통해 얻을 수 있는결론은

시디아는 최고 권한을 "탈취" 합니다. 탈취 하지 않으면 시디아는 설치되지 않으며, 시디아를 설치하는 작업이 바로 탈옥 입니다.
여러분은 root 계정을 강제로 탈취하는 어플을 달고다닌다고 생각하면 되겠군요 ㅋㅋㅋㅋ.
그냥 알아두라고 써본 겁니다. 의미가 있는건 아닙니다. 아예 없어요 ㅇㅅㅇ.

한가지 의문점이 남긴하는데..
iFile 도 root 를 얻지 않고 dpkg를 설치하는거 보면...
root 권한이 반드시 필요한가 에대한 의문이 남더군요.
아직 deb 파일을 받아서 설치해본적이 없기에.
이 부분은 다음에 수정하겠습니다.

자.. 이렇게 길고 긴 글이 또 끝났군요.
아직 많이 부족해서 감히 능력자들이 넘쳐 흐르는 티스토리를 이용해도 되는걸까 하는 생각이 아직도 있습니다.
하지만 최선을 다하기 위해 노력하겠습니다. 그러니 잘못된 부분에대한 지적은 꼭 해주고 가시길 간절히 부탁드립니다.

이 블로그를 방문해 주신 분들께 행복이 가득하길 빌며- 

+ Recent posts