ドンキの見守りWiFiカメラ「スマモッチャ-」を発売直後に分解してハックする(準備) – honeylab’s blog

ドンキの見守りWiFiカメラ「スマモッチャ-」を発売直後に分解してハックする(準備) – honeylab’s blog

はい、スルーする予定だったんだけど、誰かがTwitter

なんのSoC入ってるんだろう、って言ったのを見ていてもたってもいられなくなって

発売直後に買ってきて(正確には勢い余って前日深夜に確認しに行って、翌朝発売であることを確認した)

www.gizmodo.jp

その直後に駐車場で分解して納得して、

色々調べた後ようやくシリアルコンソールログを確認したところです。 

メイン基板の裏表

f:id:honeylab:20190503233144p:plain f:id:honeylab:20190503233217p:plain

各部の説明はこんな感じ

f:id:honeylab:20190506001410p:plain f:id:honeylab:20190504231327p:plain

 SoCはGOKEとかいうところのGK7102っていうやつ。

ARM系。なのでu-bootが入っていると期待される。

 FLASHはSPI接続のGD25Q128。8MByte。

 さっそくu-bootのログ

https://bitbucket.org/!api/2.0/snippets/bakueikozo/7eGyeK/2e406a886913a2b21f17ccbc673ab64101233b5e/files/u-boot%E3%83%86%E3%82%B9%E3%83%88

Linuxの起動ログ

https://bitbucket.org/!api/2.0/snippets/bakueikozo/7eGyeK/2e406a886913a2b21f17ccbc673ab64101233b5e/files/%E9%80%9A%E5%B8%B8%E8%B5%B7%E5%8B%95

電源投入後、u-boot実行イメージがSPI FLASHから読み込まれ、
続いて、 Linuxカーネルを読み込んで実行する。

u-bootのコマンドラインはこれ

bootargs=console=ttySGK0,115200 mem=36M rootfstype=squashfs root=/dev/mtdblock2 init=linuxrc mtdparts=gk_flash:320K(U),1664K(K),1152K(R),2560K(A),-(H)
bootcmd=sf probe;sf read 0xc1000000 0x50000 0x1A0000;bootm 0xc1000000;

CPU情報はこれ。

[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.4.43-gk (root@localhost.localdomain) (gcc version 4.6.1 (crosstool-NG 1.18.0) ) #71 PREEMPT Fri Nov 10 15:20:07 CST 2017
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[ 0.000000] CPU: VIPT aliasing data cache, VIPT aliasing instruction cache

[ 0.020000] Calibrating delay loop… 597.60 BogoMIPS (lpj=2988032)

u-boot、Linuxが起動して、p2pcamっていうアプリがクラウドとの通信を行う。

基板上に載ってるRTL8188のWiFi基板はSoCとUSBで接続されてる。

[ 8.550000] usbcore: registered new interface driver rtl8188fu

u-bootの時点でSPI FlashもMMCも生きてるのでMMCから起動とかもできそう。
SPI剥がさなきゃかな?とか思ってたけど全然そんな必要ないわ。

######Get Hardware Info: model:CloudCam, firmware-ident:eyeplus_ipc_gk_005

っていうのがベースのハードウェアなのかな。

イメージセンサは GC2033

[ 0.170000] [GPIO CFG] IR CUT1 (44)
[ 0.170000] [GPIO CFG] IR CUT2 (39)

IRカットって電子制御なの?昼間切っとけば透けるんじゃね?(何が)

https://www.gcoreinc.com/product/showproduct.php?lang=cn&id=107

Flashパーティション分け

[ 0.610000] gk_flash gk_flash.0: GD25Q64C (8192 Kbytes)
[ 0.620000] 5 cmdlinepart partitions found on MTD device gk_flash
[ 0.620000] Creating 5 MTD partitions on “gk_flash“:
[ 0.630000] 0x000000000000-0x000000050000 : “U”
[ 0.640000] 0x000000050000-0x0000001f0000 : “K”
[ 0.640000] 0x0000001f0000-0x000000310000 : “R”
[ 0.650000] 0x000000310000-0x000000590000 : “A”
[ 0.660000] 0x000000590000-0x000000800000 : “H”

U-boot,Kernel,あとはなんだろ。

っていうか、このSoC使われまくっててすごい解析・ハックされてるわ。
このカスタムイメージ書くだけで色々できそう。

さて、続きはGW開けてからです…とりあえず最速分解は達成できたかな…

続きはこちら

honeylab.hatenablog.jp