發表文章

android boot.img u-boot initrd 分析

今天剛好看到一個 booti 的 U-boot指令,因為不知道怎麼做的,就去trace code了。 在 U-boot 可能會使用 bootcmd=mmcinit 1;mmc 1 read 0x500 0x81000000 0x500000;booti 81000000 1. 先初始化 mmc slot 1 (第二個), omap應該是0跟1 2. 讀取mmc上面第一個partition的0x500到 記憶體的 0x81000000,總共讀取 0x500000 3. 開始parse boot_image.img header booti 的意思是該位置存在一個可啟動的image, 就是 kernel + initrd u-boot 流程,從 do_booti()看起,會先判斷前八個字元是否為"ANDROID!",如果是的話,代表他是可啟動android的kernel image。接下來把Header讀出來。 struct boot_img_hdr {     unsigned char magic[BOOT_MAGIC_SIZE];     unsigned kernel_size;  /* size in bytes */     unsigned kernel_addr;  /* physical load addr */     unsigned ramdisk_size; /* size in bytes */     unsigned ramdisk_addr; /* physical load addr */     unsigned second_size;  /* size in bytes */     unsigned second_addr;  /* physical load addr */     unsigned tags_addr;    /* physical addr for kernel tags */     unsigned page_...

不錯的Android技術 Blog

http://anemospring.blogspot.com/ 看看還不錯,覺得作者好像技術不錯,就一直看下去,結果看到自己的文章了 XD http://anemospring.blogspot.com/2010/10/20090826-androidtouchscreenkeyevent.html 感謝原作者收集不少精華知識~

Android 甚麼時候會爆呢?

以前有一陣子看到幾個美女程式,覺得不錯,但裝了三四個之後就沒再裝了,原因是需要的權限太奇怪了。 剛同事傳來 https://market.android.com/apps/LIBRARIES_AND_DEMO?feature=breadcrumbs 一堆美女程式,之前看大多是簡體字,現在也有繁體了。 如果切到權限那一頁,可以看到此程式可以讀你所有的個人資料 書籤、電話、SD卡,網路存取、GPS、更重要的是 開機即執行 有在寫程式的都知道,這樣我只要寫一隻Service,就可以把你SD卡的內容全部上傳到網路上,真是太讚了 而且這些類型的軟體,還有一堆使用者說讚,不是不爆,時候未到啊! 想一想還是iOS的沙盒設計比較好,雖然現在iOS也慢慢開放ㄧ些權限了,例如可以讓其他應用程式取得你的照片庫的資料!

被Softpedia恭喜了Orz

見鬼了,我都沒有去推廣哩,算他厲害,只有在PTT的小軟體版分享一次而已,但他們可能不曉得 Jian 是甚麼意思,哈。 原由如下 http://virdust.blogspot.com/2011/08/umlimited-mouse-jian.html 此小工具也是我每天都會用的,還算實用。 Congratulations, Umlimited Mouse Jian, one of your products, has been added to Softpedia'sdatabase of software programs for the Windows operating system. It is featured with a description text, screenshots, download links and technicaldetails on this page:http://www.softpedia.com/get/System/System-Miscellaneous/Umlimited-Mouse-Jian.shtml The description text was created by our editors, using sources such as text from your product's homepage, information from its help system, the PAD file (if available) and the editor's own opinions on the program itself. "Umlimited Mouse Jian" has been tested in the Softpedia labs using several industry-leading security solutions and found to be completely clean of adware/spyware components. We are impressed with the quality of yourproduct and encourage you to keep these high stan...

Android Java Apk 反組譯分析 decompile reflection應用--BigFont為例

有需求才有動機,最近看到一款 BigFont 的 Apk 可以修改沒有root權限的手機的系統字型大小,我覺得算實用,該作者也滿厲害的,可以持續在Android上賺錢,我都放棄了(謎之聲:沒有開始哪來放棄Orz) 直接切入正題,安裝完確定他的功能可以Work之後,就隨便google了一下關於字型放大的API,網路上有人在教root完之後可以放大的,但確定沒有官方的API。 於是讓我想玩玩看 java 反組譯的技術,所以下載了工具 dex2jar跟 jd-gui   就可以把原始碼撈出來了。初步來看感覺是有混淆過的,沒想到一個小小的程式用了這麼多個Java 先從有名稱的 Java 看起,有一個明顯的是 SetFontWnd.java,於是進去看,配合應用程式的操作流程,我首先由字串找起,像是要開始設定之前,會出現甚麼提示文字,或是之後會出現甚麼文字,搜尋了"Normal" 跟 "Wait" 都沒有看到,看起來是 dex2jar 並沒有解出 android 的資源檔。於是開始做苦工,大略看了一下,看到了BgSrvc的叫用,看起來主功能就是在這個java裡面了,於是打開。 在BgSrvc.b()的呼叫,還滿像的,因為修改系統字型大小只有一個參數,float paramFloat 開頭如下,看起來很恐怖。       Object localObject1 = Class.forName(c).getMethod(d, new Class[0]).invoke(null, new Object[0]);       Object localObject2 = localObject1.getClass();       Configuration localConfiguration = (Configuration)((Class)localObject2).getMethod(e, new Class[0]).invoke(localObject1, new Object[0]);       localConfiguration.fontScale = paramFloat; ...

全面啟動心得

很久以前,我就覺得我的腳有問題,很多次再練習跑步衝刺的時候,覺得自己的腳完全抬不起來,我很努力的想要把大腿抬起來,但就是感覺很重、超級重的,幾乎可以看到自己的腳是慢動作在舉起來一樣。可是我記得以前自己沒有這麼不擅長跑步啊? 今天終於了解原因了,由於昨晚發生一些事情,讓我很想大跑離開一個地方,又發生了同樣的現象,為什麼一開始可以衝,但一下子就累了,只能大哭收場。接著 鬧鐘響了,我終於知道原來之前都是在作夢。 結論跟 全面啟動裡面的一樣,你在夢中不會知道自己在作夢,我甚至以為自己已經不能再跑短跑,但很奇怪的是在現實中我也不會來試試看以釐清這項事實。 第二點是夢中的時間過得很慢,不知道我進入了第幾層睡眠啊~ 第三點是作夢的時候被吵醒你才會記得夢中的情境。

XCode 4 的 trick

按下 Alt + Shit 再點選某一個檔案,就可以選擇要開到哪一個視窗 此時就可以增加 Tab Bar了。然後再設定一下 Select Next Tab, Select Previous Tab的快速鍵,恩,生產力爆增 Alt + 點選某段 code 可以顯示輔助視窗 學一下 code snippet 怎麼用?雖然我覺得他預設的比Visual Studio的少