Posts Tagged ‘samsung’

Samsung i9000 Easter Egg ..

Monday, September 6th, 2010

Don’t ask me how I found it ;-)

  • You must enable screen orientation (Settings -> Sound and display -> Check Orientation)
  • Enter Settings -> Wireless and network -> Mobile AP Settings -> Press menu key to enter settings
  • Change Name to “Vart”
  • Change Password to “Whyyoulittle…”
  • Uncheck Hide my device
  • Uncheck Tethering

Now rotate your i9000, you’ll see toasts like “Please…” “Do not more” “Don’t shake me”

關於 Universal Androot 在 Samsung 手機無法使用的問題

Monday, August 9th, 2010

上班中午休息時間看了下 exploit 的原始碼, 再看了下 Android 的 source tree, 最後拿 i9000 測試看看, 確認該 *漏洞* 在 Samsung 手機上應該都無效.

簡單版本: Samsung 手機上沒有 /system/etc/firmware 目錄, 導致漏洞無法讓系統使用相對路徑下的漏洞主程式. 當使用別的 root 方法建立 firmware 目錄後, 該漏洞便成功得逞.

長版本:
先看原程式

  1. if ((sock = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT)) < 0)
  2. die("[-] socket");
  3.  
  4. snprintf(buf, sizeof(buf), "ACTION=add%cDEVPATH=/..%s%c"
  5. "SUBSYSTEM=firmware%c"
  6. "FIRMWARE=../../..%s/hotplug%c", 0, basedir, 0, 0, basedir, 0);
  7. if (sendmsg(sock, &amp;msg, 0) < 0)
  8. die("[-] sendmsg");

再看 Android source code, 當跑到

  1. l = asprintf(&amp;file, FIRMWARE_DIR"/%s", uevent->firmware);

就跳出了, 前面的 ../../.. 便是從 /system/etc/firmware 往前指三層, 不過 firmware 不存在, 也就無法指到漏洞所指定的路徑.

如果網友有 Samsung 系列手機, 可以試著安裝檔案管理員之類程式看看 /system/etc/ 下是否沒有 firmware 目錄, 至少我的 i9000 確定沒有.

夏日 Android 小品 – 未處理訊息提示器

Tuesday, July 27th, 2010

動機:

  • i9000 不像 Nexus One 有發光的 jog ball, 當有未接來電/簡訊/Email/what ever .. 除了手動解鎖查看以外別無他法. 對於我這種開會玩手機, 吃飯玩手機, 上廁所玩手機, 睡覺前玩手機的阿宅來說似乎不是什麼問題, 但對於某些不是這麼愛發掘手機功能的使用者來說, 頻繁的 check 非常浪費時間.
  • 後來在 XDA Forum 找到一篇文章, 這是由 @madmack 所提出的 NoLED, 程式小巧而且相當有趣, 同時也滿足上述的需求. 可惜第一版有不少問題, 雖然很快就更新版本, 但沒有 source code 以致於後面出現了一些小問題得苦苦等待新版 release.
  • 身為一位 RD, 對於這種情況肯定是要挽起袖子敲打鍵盤打造一模一樣的程式, 所以我就這麼下海了, 並加上 virtual key pad light 閃爍與置換隨機出現方塊顏色的功能.

功能:

  • 當有未接來電/簡訊, 會以兩種形態提醒使用者: 隨機出現的顏色方塊或閃爍的虛擬按鍵背光.
  • 可指定方塊顏色以及方塊改變位置的間隔時間, 對於背光而言只能更改暗亮間隔.

使用方式:

  • 安裝後即可使用, 設定程式會出現在主選單內 “ScreenNotifier”

已知問題:

  • 耗電.. XD 最大的原因是 screen 得一直開著, 所以基本有 80mA 的電在跑, 再加上 SCREEN_OFF 的 intent 很多程式都在聽, 螢幕不關 intent 沒發出, 那些程式便不會休息. 也許你會問那 key pad light mode 呢 ? 應該比較省電吧 ? nop, 因為 key pad light 要亮, 螢幕也得跟著打開, 並不會比較省電. 當然有想過要用時再開螢幕, 不過開關瞬間的電耗並不會比較低, 因此沒有實作.
  • 彈出視窗會卡住, 得用 back key 離開, 因為我把 touch event disable 了, 暫時沒想到要怎麼調整 priority.

額外說明:

  • 本來想一口氣把 email / gmail / twitter / facebook 啥鬼的通通做進來, 後來發現自己真是個傻子, 還請有緣人自行 coding 吧 :-P
  • 其實應該要稱為 Miss Event Notifier, 不過當初沒考慮太多, 就..
  • 這是給 Samsung i9000 用的, 其他機種沒試過, 有興趣的自己拿去改吧 :-P

程式碼: http://github.com/shakalaca/ScreenNotifier

APK 下載: http://www.23corner.com/apk/ScreenNotifier.apk

i9000 強制使用 3G 網路

Sunday, July 25th, 2010

筆記一下:

*#*#197328640#*#* > debug screen > phone control > network control > band selection > wcdma band > wcdma all

續 i9000 內建儲存空間讀取過慢的問題

Saturday, July 3rd, 2010

之前有提過內建儲存空間分成兩個區塊: /data 放系統程式資料, /sdcard 當做隨身碟用. 目前觀察到幾個現象:

  • /sdcard 是第一個分割區 (mmcblk0p1), 格式 FAT32. /data 為第二個分割區 (mmcblk0p2), 格式為 RFS
  • /sdcard 測試寫入/讀取速度似乎跟我的 8G class 6 SD 卡不相上下, 反觀 /data 寫入慢很多.

印象中有份測試報告在比較各種不同 file system 在 flash 上的效能, ReiserFS 在 write 方面弱很多, read 倒是還好, 不過這也許可以解釋為何手機跑起來會卡卡的.

2010-07-04 Update: Sorry, RFS != ReiserFS, 我的錯 ! orz

2010-07-04 Update: 經過實驗發現, /sdcard 越滿, 寫入的效能就越差, 這意謂著位處第二分割區的 /data 效能不好可以說是分割不當造成, 既然都要拿來做系統使用, 就不應該讓他的效率太差. 嘗試過重新分割 /dev/block/mmcblk0, 把 mmcblk0p1 再拆成兩個分割區, 把前面的當做 /data/data, /data/app, /data/app-private, /data/dalvik 的儲存區, 剩下的作為 /sdcard. 但每次重開機後都會回復原來的狀態, 看來唯一的方法就是重包 boot & kernel..