2010年5月28日 星期五

HamiAPP for Android 驗證機制

HamiApp開放第一天的晚上, 下載了遠流字典通安裝之後卻沒辦法通過認證, 所以根本不能執行, 所以...。
Android的軟體都是Java語言編譯成Dalvik VM的bytecode然後交由虛擬機器來執行。每支程式都會有各自的VM環境互不影響。
也可以呼叫binary .so 。
不過中華電信Hami App 的認證機制是做在Java裡面, 所以破解起來非常容易, 因為bytecode很容易disassemble。
  1. 機器應該要先root, 才能把安裝在系統上的apk讀出來。
  2. 解開apk,裡面有一些resource檔, manifest, 跟classes.dex 主程式。
  3. classes.dex是所有class包裝在一起, 有點像是jar檔。可以用 baksmali 解開還原成assembly code, 修改完之後用smali包裝回去.dex
  4. net/emome/hamiapps/sdk/utility/LicenseUtility.smali 裡面有一個method checkValidLicense, 會連線檢查你的IMEI, 軟體授權等等, 只要有一項不通過的話, 就會丟出一個exception。要讓他通過的話, 想辦法讓這個method不會送出任何exception就好了。
  5. 之後就用smali打包成classes.dex。
  6. 丟回去原本的apk, 這邊不能直接用zip壓縮, 因為需要修改manifest裡面的簽章跟每個檔案的hash, 直接壓縮可以安裝, 但是是不能執行的。
  7. 就按照這裡的教學, 隨便生出一個key pair, 然後用signapk 去簽章就可以了。
我沒有教你怎麼破解, 也沒有教你怎麼不付錢就下載, 千萬不要自己想出來然後把軟體變成免費版的放到網路上到處給人家下載。
軟體既然都要線上認證了, 就不要單純的只用signature有沒有通過來認證, 這樣太好破解了。

1 則留言:

  1. At the eleventh hour of a marathon session, lawmakers passed Massachusetts sports betting in August 2022. The law permits on-line sports betting and retail betting within the state, however doesn't designate a launch day. Reports point out late 2022 or even early 2023 is probably going} for MA sports betting websites 바카라사이트 to go reside. By licensing various casinos and sportsbooks, the KGC generates nice deal of|quite so much of|a substantial amount of} revenue for the Mohawk community of Kahnawake. The KGC was heavily against any attempts to legalize single-game betting end result of} their fear of being reduce out of the image if provinces decided to control and license sportsbooks. Canada’s fifth-most populous province added single-game wagering to its on-line choices on August 27, 2021.

    回覆刪除