'안드로이드'에 관한 글 5건

  1. 2011.01.21 갤럭시S TA13, 리눅스 컴에서 루팅하기
  2. 2011.01.21 갤럭시S TA13 업데이트, 그리고 소프트웨어의 완성도 5
  3. 2011.01.14 잘가 Twicca, 안드로이드용 트위터 클라이언트 3
  4. 2010.10.07 GallOrg 1.0.1 released! (Android Gallery Organizer) 3
  5. 2010.10.06 GallOrg, Gallery Organizer for Android 1.0.0 released! 6

갤럭시S TA13, 리눅스 컴에서 루팅하기

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

깔끔한 앱 형식의 안드로이드 루팅 도구인 z4root가 TA13에서 동작하지 않는다. 아뿔싸! 그럼 역방향 USB 테더링도 루팅 없이는 안된다! 어쩌지? 다른 루팅도구를 찾아보다가 포기하고, 걍 rageagainstthecage를 써서 수동으로 루팅 진행. 좀 지루하긴 한데, 어쨌든 된다. 왜 이걸로 앱 만드신 분이 없으심?

과정은 다음과 같다.

sio4@dot:~/soc$ adb push Superuser.apk /sdcard/
sio4@dot:~/soc$ adb push su /sdcard/
sio4@dot:~/soc$ adb push busybox /sdcard/
sio4@dot:~/soc$ adb push rageagainstthecage /sdcard/
sio4@dot:~/soc$ adb shell
$ cat /sdcard/rageagainstthecage > /skttmp/rageagainstthecage
$ chmod 755 /skttmp/rageagainstthecage
$ /skttmp/rageagainstthecage
[*] CVE-2010-EASY Android local root exploit (C) 2010 by 743C

[*] checking NPROC limit ...
[+] RLIMIT_NPROC={2756, 2756}
[*] Searching for adb ...
[+] Found adb as PID 2341
[*] Spawning children. Dont type anything and wait for reset!
[*]
[*] If you like what we are doing you can send us PayPal money to
[*] 7-4-3-C@web.de so we can compensate time, effort and HW costs.
[*] If you are a company and feel like you profit from our work,
[*] we also accept donations > 1000 USD!
[*]
[*] adb connection will be reset. restart adb server on desktop and re-login.
$ sio4@dot:~/soc$ adb kill-server; adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
#
# cd skttmp
# cat /sdcard/busybox > busybox
# chmod 755 busybox
# ./busybox sh
/skttmp # ./busybox mount /system -o remount,rw
/skttmp # ./busybox cp /sdcard/Superuser.apk /system/app/
/skttmp # ./busybox cp /sdcard/su /system/bin/
/skttmp # ./busybox cp /sdcard/busybox /system/bin/
/skttmp # chmod 4755 /system/bin/su
/skttmp # ./busybox mount /system -o remount,ro
/skttmp #

생략했지만, 실제로는 adb shell로 진입하여 rageagainstthecage를 여러 차례 외친 끝에야 루트 쉘을 얻을 수 있었다. 어쨌든, 이렇게 하여 /system에 루트 킷을 심는 작업을 마쳤다.

필요한 파일들, rageagainstthecage, su, busybox 등의 바이너리와 Superuser.apk 등은 SuperOneClick 패키지에서 가져왔다. 왜 SuperOneClick을 그냥 쓰지 손으로 그러냐고? PC의 OS가 리눅스다보니까... 이게 더 맘 편할 것 같아서... SOC도 리눅스에서 동작하는 것 같지만 단순히 일회성 작업을 위해서는 좀 성가신 작업이 필요할 것 같다.

현재 사용된 파일들의 버전은,

  • rageagainstthecage
  • su : 2.3.1-ef
  • busybox : 1.17.2 (with most or full functions)
  • Superuser.apk : 2.3.6.1

이렇다. 그나저나 계획은 언제 진행하누...


갤럭시S TA13 업데이트, 그리고 소프트웨어의 완성도

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

소프트웨어의 완성도를 높이는 일, 그리고 발표 이후에 그 완성도를 유지해 나가거나 더욱 견고하게 하는 것은 쉬운 일이 아니다. 소프트웨어 개발/생산 관리. 쉬운 일이 아니라는 것은 아마도 많은 사람이 공감하고 있겠지만, 그 쉽지 않은 일을 위한 노력은 또... 공감과는 다른 일인가보다. 어제 밤, 두 달 만에 내 갤럭시S의 펌웨어를 한 발짝 건너뛰고 SK22에서 TA13으로 업데이트했다. 그런데...

와~! 일단 갤러리 읽어들이는 체감속도가 현저히 빨라졌는데? 뭐가 바뀐 것일까? SQLite의 속도가 빨라진 것이었으면 좋겠다. Database나 ContentProvider에 의존하는 다른 앱들도 빨라질테니... 그래서, 일단 이 한가지 만으로도 지난 두 달을 포함한 삼성전자 또는 관련 엔지니어들의 노력을 떠올리게 되는... 그런데 투~!

지금 난 이런 바탕화면 그림을 쓰고있다.


그런데, 이게... 화면이 잠기게 되면 같은 배경 그림을 보여주고 그 위에 블렌딩된 모습으로 잠금패턴 입력이 가능한 화면을 보여준다. 여기서 좀 아쉬운 부분이... "사용자 설정에 의한 개인정보 표기"가 불가능하다는 점이다. 일단 화면을 보면,


이렇게, 현재시간, 날짜, 서비스공급자 이름, 충전중이면 충전률, 패턴입력창, 긴급통화기능 등을 보여주고 있는데... 이 중 어느 곳에도 "나"와 관련된 정보가 없다는 것이다. 무슨 자아도취도 아니고 "나"와 관련된 정보가 뭔소리래? 아... 무슨 말이냐면... 만약 스마트폰을 분실했을 때 (또는 친구들과 섞였을 때?) 누구의 폰인지 알아야 찾아줄 수 있을거 아냐?

(아... 물론 스마트폰같은 고가의 물건, 게다가 폰 외의 용도로도 얼마든지 활용 가능하기까지 하니... 찾아주려는 사람이 얼마나 될지도 미지수긴 하지만... 찾아주려고 맘먹어도 위의 상황에서는 어케 할 도리가 없잖은가?)

그래서 기능 제안!

  • "잠금 화면"에 개인 정보(이름이나 다른 긴급연락처)를 표기할 수 있는 기능
  • "긴급통화" 목록에 사용자 정의 번호를 추가하는 기능 (가령, 집전화, 어머니, 짝꿍,...)

이런 기능이 있다면 스마트폰을 잃어버리고, 또 그것을 착한 사람이 줍는 사건이 연속으로 발생했을 때 :-) 도움이 되지 않겠니? ㅋ 말이 좀 길었는데 그래서...

내가 건너뛴 지난번 업데이트부터 적용되었다는 "배경화면 그림"과 다른 별도의 "잠금화면 그림" 기능을 응용해보려고 했다. 정보를 그림으로 그려야 하는 좀 바보같은 짓이긴 하지만, 어쨌든 이런 모습... 상상하고 있다.


그래서 잠깐 그려봤다. (이럴 땐 PicSay가 좋다 :-)  그리고 ㅜ.ㅜ 내 잠금화면 배경은 어디로 간겨? 어케 어케 해봤더니... 짠~! 이렇게...


이렇게!!! 성공!!! 뭐라? 성공? ... 이게... 이렇게 "해제하려면 화면을 움직이기만 하면 되는 상태" 그러니까 "잠김 상태"가 아니라 "자물통 없는 미닫이문" 하나 붙여놨을 때만 적용되는 얘긴가보다. 뭐야~~~~~~~~~~! 그래서 고민 들어간다.

  1. 이 폰의 개발자들은 쫀쫀하게 화면 잠그지 않는다. 누구든 화면 열고 전화 쓰라고 하면 된다.
  2. 이 폰의 개발자들은 폰에 개인적인 정보, 문서, 앱, 사진 등을 넣지 않는다. (폰의 보안성을 의심?)
  3. 설마... 그들은 테스트폰의 기본상태만 써봤을 뿐, 사용자 입장에서 폰을 써보지 않았다.
  4. 에이... 깜박 테스트를 안한거지... 뭘 그런걸 가지고...
  5. 아니다! 진짜 잠금화면은 패턴입력, 숫자입력 등의 정보화면이 많아서 뒤에 별도로 배경을 주는 것이 의미가 없기 때문에 이렇게 한거다. 일부러 그랬다.
  6. 아... 뭐...

답이 안나오네... 일부러 그랬다면 수많은 소비자 중 잠그지 않고 쓰는 극소수를 위한 기능에 심심해서 시간을 쓴 것이고... 설마 설마 테스트를 안했을리는 없고... 아니지... 분명이 기능의 이름은 "잠금 화면 배경화면"인데... 뭐냐고... 답이...


흠흠,

내가 삼성의 엔지니어들이랑 일을 안해본 것도 아니고, 너무 큰 기대를 하고 있는 것은 아닌지 모르겠다. 그래도 정말 아쉽다. 세상은 점점 더 소프트웨어의 비중이 커져가고 의존도가 높아져가고 중요성도 높아져가는데... 심지어는 국내 아니, 국제적인 회사인 "삼성전자"의 이름을 달고 나오는 제품의 소프트웨어 완성도가 이 정도에 그친다는 것은... 소프트웨어 산업에 몸담고 있고, 가끔 소프트웨어 개발도 하고 ㅋ :-), 이 분야를 사랑하는 나로써는... 나 지금 삼성 싸잡아 욕하고 있는거 아니다. 우리나라의 소프트웨어 업계의 현실에... 크나 작으나... 슬픈 마음이... 아침부터 감돌아... ㅎ 또 긴 글 끄적여봤다.

언제 기회가 되면... 시간 좀 잡아서 소프트웨어 생산 관리... 이런 글 좀 써봐야겠다. 나... 이쪽에 관심이 많아~ ㅋ

잘가 Twicca, 안드로이드용 트위터 클라이언트

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

간만에 글 하나 써본다. 안드로이드용 트위터 클라이언트 심층 비교, 제 1 탄 twicca! ㅋㅋㅋ

뭔가 연재를 할 분위기 아니야? 게다가 "심층" 비교라니... 그러나 사실, 연재스러운 것 해본 적도 없을 뿐더러 지금 이 글이 지난 글로부터 약 3개월 만의 글인데... 연재가 끝나려면 1년은 걸리겠는데?

말이 좀 많았는데, 오늘의 트위터 클라이언트는 twicca 이다. 주변을 보면 주로 Tweetcaster나 Plume으로 이름이 바뀐 Touiteur, Twidroyd, 통합 SNS 클라이언트인 TweetDeck 등의 프로그램을 많이 쓰는데, 이 녀석을 여기에 먼저 적는 이유는, 이것이 숨은 진주같이 보이기도 하고, 혹은 그렇지 않기도 해서... 그 느낌을 적으려는 것이다.

둘러보면, 첫번째 특징은 아주 간단함의 극치를 달리는 UI이다. 기본적으로 이렇게 생겼다.


Tweetcaster, Plume 등의 이쁘장한 화면에 비하면 좀 황당할 정도로 간단하다. 나는 간단한 것을 좋아하는 사람도 꽤 많다고 보기에, 이건 단점스러운 장점일 수도 있겠다. 그런데 의외로, 위젯이나 바로가기는 비교적 이쁘다.


알림 아이콘은 썩 이쁘지 않지만 위의 홈 화면에서 세번째 줄에 위치한 위젯은 어느 정도 편리성도 있고 밉지는 않다. 그리고 업데이트, 검색, 사용자, 리스트를 빠르게 열기 위한 바로가기 아이콘이나 개념도 이쁘지 않은가? ㅋ


그런데 이 녀석, twicca의 진정한 매력은 여기에 있다. 바로 다양하고도 섬세한 설정. 사용자가 설정할 수 있는 것이 무척 많을 뿐더러, 설정의 정도 또한... 괜찮다. 그리고 시스템적으로다가... Twitter의 API Status를 보여준다든지 하는 점도, 나같은 "말로는 개발자"들이 괜히(트위터 프로그래밍을 하지도 않을거면서) 좋아할 만 하다.

그런데 내가 이 앱을 좋아하는 이유는 따로 있다. 바로 인증과 관련된 부분. 일단 보면,


얘는 이렇게, Twitter 웹사이트를 이용한 인증처리를 하도록 되어있다. 그게 뭐냐구?

TweetCaster, Plume 등의 다른 쟁쟁한 녀석들의 경우를 보면, 계정 관리 페이지에서 Twitter 아이디와 암호를 넣으라고 한다. 물론, "암호를 저장하거나 제가 슬쩍~ 하지는 않아요~~" 라고 씌여있지만... 뭐... 깔끔한 방법은 아니다. 근래의 웹서비스에서 사용자 인증 관련 동향을 보면, 오픈아이디(OpenID)등의 방법과 OAuth/XAuth 등의 인증 방식을 많이 사용하고 있는데, 바로 이렇게, 트위터의 암호를 앱에게 빌려주는 것이 아니라 인증 자체는 트위터 웹사이트에서 진행하고 인증 결과만 앱이 이용하게 해주는 것. (TweetCaster, Plume 등도 내부적으로 같은 방식일건데, 그래도 이렇게 눈에 보이는 것이 난 좋다!)

지금까지 써본 트위터 클라이언트 중에서 이렇게 내게 정서적으로 안정을 주는 인증방식을 갖춘 것이 없었지만... twicca는 내게 결정적인 단점을 보여주고 말았다! 바로 Offline의 취약점!


이 그림이 딱 그 상황에서 캡쳐한 것인지는 기억이 나지 않는데, 아차차! 아니구나! 위에 WiFi 아이콘이 보이네... 하여간 인터넷 연결이 없는 상황에서는 이렇게 "Loading.." 한다고 깔짝깔짝 하거나(접속이 잘 안되는 경우), 또는 아예 "뭔가 이상한데요?" 하면서 아무것도 보여주지 않는다.

그런데 이게, 처음 띄웠을 때만 그런게 아니라... 새 글 알림이 떠있는 상태에서도(물론 온라인일 때 새 글이 있음을 확인했겠지) 여는 순간이 오프라인이면 그렇게 동작하는거다.(새 글이 있는 것만 확인하고 받아놓지는 않았다는 말인데...)

twicca, 넌 왜 오프라인 상황을 예상하여 새 글을 캐시하지 않는거니? 캐시가 이미 읽은 글 보여주라고 있는 것은... 좀 아니잖아?

암튼... 당분간은 내게서 떠나줘야 되겠어... 잘가 twicca.


PS. ... 혹시 내가 뭘 몰라서 잘못 쓴 부분이 있다면 알려주세요.


GallOrg 1.0.1 released! (Android Gallery Organizer)

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

GallOrg 1.0.1을 릴리즈합니다. 어제 1.0.0을 릴리즈했는데, "갑놀이"에 빠진 동료의 도움으로 치명적인 결함을 발견했습니다. 발견되었던 문제는, 원본이 저장된 미디어(filesystem)와 새로 저장될 미디어가 다를 때, 파일 이동이 정상적으로 이루어지지 않을 뿐만 아니라 원본 파일이 삭제되어버리는 치명적인 내용이었습니다. :-(

내부적으로 java.io.File 의 renameTo() 를 사용하고 있는데, 이 녀석이 파일시스템간 이동을 지원하지 않는다는 것을 미쳐 몰랐습니다. (자바의 자짜도 모르면서 안드로이드 개발하겠다고... 이게 개발인지 뭔지...) 이런 경우, "복사 후 메타 정보 복사해주고 지우기 방식"을 적용하면 될텐데, 일단 생략하고 문제만 막았습니다.

Changelogs:

  • bugfix: avoid losing files while move across filesystem.

치명적인 결함을 발견해준 동료에게 감사를!

>> GallOrg 다운로드

GallOrg, Gallery Organizer for Android 1.0.0 released!

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

안드로이드(Android)의 기본 갤러리앱은 자체적인 앨범/폴더 관리 기능이 들어있지 않아서 사진을 분류하여 보관하기가 쉽지 않습니다. Astro Filemanager, ES Filemanager 등의 파일관리자를 사용하면 해결되는 문제이기는 하지만 직관적이지 않을 뿐만 아니라 단순히 사진 관리만을 원한다면 목적 대비 부담스러울 수 있는 녀석들입니다.

그래서, 나의 첫번째 안드로이드 앱이자 안드로이드 기본 갤러리에 융합된 형태의 앨범관리도구(Gallery Organizer)인 GallOrg 1.0.0을 릴리즈합니다. ㅋ

왜 만들었는가? (이런 경험을 한 사람에게 적당한 앱입니다.)

  • 파일매니져를 쓰는 것은 무거울 뿐만 아니라 이중 작업이다.
  • ASTRO의 경우, 파일을 옮기면 MediaScan이 돌면서 나를 미치게 한다.
  • 반면, 자동이 아니더라도 어차피 (Full) MediaScan이 필요해 성가시다.
  • 파일관리자에서 Thumbnail을 만들거나 읽어들이는 시간이 싫다. 소모적이다.
  • 걍 단순하게 갤러리에서 작업하고 싶은데 적당한 앱이 없다.
  • Ctrl Folder가 있으나 유료다. 무료버전은 폴더가 5개로 제한되어있다.
  • Send to SD도 있지만 다중파일 이동을 지원하지 않는다.

그래서...

  • 갤러리의 Share 기능을 이용하도록 하여 갤러리를 떠나지 않고 작업합니다.
  • 폴더/앨범 갯수의 제한이 없습니다.
  • 다수의 파일에 대한 작업이 가능합니다.
  • 파일단위의 MediaScan을 적용하여 전체 미디어를 뒤지는데 시간을 허비하지 않습니다.

이렇게... 생겼습니다.

"공유" 기능을 활용 (맨 아래) "오늘의 날짜"가 기본 이름 이미 있는 앨범 이용 가능


앞으로 약간의 기능 개선이 있을 예정이지만 일단 공개합니다.

개인적인 목적으로 만든 것이지만 널리 사용할 수 있도록 마켓에 등록하려 했으나, 등록하려면 많이 비싼건 아니지만 돈을 내야 한다길래... 아직 등록할 생각은 없습니다. 얼마나 더 만들겠다고... 그런데 이렇게 블로그에 올린다고 사용자가 생길지는 모르겠네요. ㅋ

필요하신 분은 아래 드랍박스(dropbox) 링크를 이용해서 내려받으세요. 아차! 드랍박스 아시죠? 아직 계정이 없으시다면 아래 링크를 통해서 등록해주세요. 그럼 제게도 보너스 공간이 250MB 씩이나! 생기거든요!

GallOrg 다운로드  ... 그리고 드랍박스 써주세요!