close

這裡的改機,大概分成三個stage

1>    OSSLabNextPBX, Asterik voip交換機

2>    Uboot,將256MB RAM都可以用到

3>    修改開機程序,一開機就可以掛上USB,開啟bt, FTP, Samba

更新: 使用google doc連結,已有更新版本(<<=LINK)

 

Google DOC預覽內容

 

舊版pdf

下載文件與下面內容相同,可以直接使用本下載文件:NextVOD_SOP.pdf  文章內容為純文字,可下載sop文件: 內文中的pdf檔案

 請抓到 電腦之後,再用PDF Reader打開,在瀏覽器中開啟可能有不預期的錯誤

 

 

Disclaimer: 圖片與商標皆為原組織所有。 教學圖片請註明引用來源。

 

OSSLab URL

 http://www.osslab.com.tw/Hardware/Open_Embedded_System/NextVOD_unit_Hacking_-_%E7%B6%B2%E6%A8%82%E9%80%9A%E6%94%B9%E6%A9%9F/%E5%AE%89%E8%A3%9D_NextPBX_%28Asterisk%29_%E8%87%B3%E7%B6%B2%E6%A8%82%E9%80%9A%E6%A9%9F%E4%B8%8A%E7%9B%92

 

Facebook改機俱樂部

https://www.facebook.com/groups/477359555618518/

 

 

 


Stage1 osslab

 

需要實體工具:

 

主機,隨身碟一隻,一隻細長的棒狀物(牙籤、小髮夾,在這裡是螺絲起子)

 

軟體工具: putty (或者使用telnet)

 

Step 1-1

確定網樂通的ip位址,網樂通需要連在一台router下,讓他自動取得ip,這樣我們可以再router的使用pc列表中找到他。

 

通常ip分享器的預設IP192.168.1.1

 

至少我們可以確定這台unknown的機器是網樂通,可以對照後面的MAC address

 

在機器上的貼紙可以找到mac位址

 

Step1-2

打開Pietty,輸入剛剛找到的IP

 

 

先將網樂通斷電,拿起條狀物,準備戳向網樂通。用力壓,按鈕比較緊。

接上電之後,led燈會閃三下,就可以放開按鈕了

 

之後指示燈會閃一陣子,等到不會閃爍之後,就用PieTTY連線進去!

 

 

Note (純粹sop可以省略這段)

可以打個df –h來判定我們是不是真的要在這個磁碟下工作,以OSSlab的建議文件,是要在sda1先覆蓋過,然後在讓網樂通自己覆蓋到sda2

而網樂通改機俱樂部的方式,則是直接覆蓋到正常開機之後的sda2

 

各有好處,OSSLab是不管如何,Recover之後就可以獲得修改之後的Asterik NextPBX,而改機俱樂部的方法,則是不論如何,都可以Recover到網樂通最原始的系統,因為sda1沒改到。

 

在這裡用改機俱樂部的方法來做。

所以插上USB隨身碟,裡面放好target_NextPBX_by_osslab_v0.6.3.tgz   (檔案版本不一定相同,這裡的文字引用網樂通改機俱樂部,但稍後的介紹可能只是v0.4.3而已)

dist_compact.sh4.tar.gz (刷機檔)

 

 

插上USB隨身碟,這隻隨身碟的檔案格式可以是FAT32,裡面放好target_NextPBX_by_osslab_v0.6.3.tgz   (檔案版本不一定相同,這裡的文字引用網樂通改機俱樂部,但稍後的介紹可能只是v0.4.3而已)

dist_compact.sh4.tar.gz (刷機檔)

 

接續用PieTTY連進去之後,插上usb

mount -o iocharset=utf8 /dev/sdb1 /mnt/usb
mount /dev/sda2 /mnt/app
tar xzvf /mnt/usb/target_NextPBX_by_osslab_v0.6.3.tgz -C /mnt/app
sync;sync;sync

複製以上的文字,在PieTTY上點個右鍵,就可以依序執行,不過最後一行的sync;sync;sync 得要自己敲一次enter

 

不過要小心,target_NextPBX_by_osslab_v0.6.3.tgz這個檔案名稱要自己找一下。

 

在我這隻隨身碟,檔案名稱是target_IPPBX_by_osslab_v043.tgz

 

執行tar xzvf這行之後,大概會長這樣

 

系統正在解壓縮資料到內建的USB DOM中。 等他結束之後就可以敲sync;sync;sync這行。

 

到這裡為止,可以完成第一段的改機。

 

拔電源,再接上,連PieTTY

 

這個時候的Usernamroot, Passwordosslab

先登入,再進行第二段。

 

 

 


Step2 刷改機俱樂部的相關服務

        開機登入之後。

mount -o iocharset=utf8 /dev/sdb1 /mnt/usb
mount /dev/sda2 /mnt/app
tar xzvf /mnt/usb/dist_compact.sh4.tar.gz -C /mnt/app
/mnt/app/usr/bin/chroot /mnt/app /bin/bash
ldconfig
exit
#sync; sync; sync;
umount /mnt/app
umount /mnt/usb
以上步驟完成後,拔隨身碟、電源線。
帳密 root/123456

複製上面這段,貼到PieTTY執行之後大概長這樣。

 

 

執行完至少都有transmission-daemon, pureftpd

 


Step3 Uboot

 

在刷Uboot之前,打top指令,可以看到記憶體的size大概只有128MB

 

[離開top的方法:按q]

 

http://www.osslab.com.tw/Hardware/Open_Embedded_System/NextVOD_unit_Hacking_-_%E7%B6%B2%E6%A8%82%E9%80%9A%E6%94%B9%E6%A9%9F/U-Boot_%E5%8D%87%E7%B4%9A

 

開始升級(免拆機)

升級前的注意事項:

  1. 網樂通必須先完成 NextPBX 安裝,並且確認系統運作正常
  2. 下載 U-Boot 自動升級檔(注意:檔名不可變更)
    https://www.amazon.com/clouddrive/sh...SScjZGdP7f7dNM
     

升級步驟:

  1. 準備一個 USB 隨身碟,容量不拘,必須使用 Linux 建立 FAT16 FAT32 磁區,並做完格式化,如果沒有 Linux 也可以使用 NextPBX 來做。(注意:不可使用 Windows 的電腦管理來建立該磁區,否則網樂通會讀不到)
    : 對於不熟 Linux 指令的玩家,可以用 google 搜尋 spfdisk 這工具來試試
  2. U-Boot 自動升級檔(.bin) 複製到 USB 碟的根目錄
  3. USB 碟插上網樂通
  4. 按住前方 Reset 孔,將網樂通開機,待前方燈號閃爍三下後,放開 Reset
  5. 這時系統會自動啟動升級程序,過程中藍燈會閃爍幾下,約需 2-3 分鐘
  6. 如果一切正常,系統會進入正常模式,開啟 telnet 登入帳號密碼
  7. 卸除 USB 碟,執行 reboot 做一次重新開機
  8. 完成

NOTES:

注意:U-Boot 韌體更新過程,不可臨時中斷,否則有可能變成磚塊。

 

 

這邊的難處是: 如何在Linux下切割出一個FAT16

我們可以先插上一個小容量的隨身碟。

 

fdisk /dev/sdb

 

然後敲m

 

 

先敲個”p” 來確定一下容量大小。

 

確定這個隨身碟是2G,目前的切割是FAT32 所以要先刪除這個切割。

他的磁柱(cylinder)編號是從1~992,稍後可以用這個來切割一個比較小的分割區給FAT16

 

刪除分割要點”d”

 

因為只有一個分割區,所以他就直接刪掉了。可以再敲p來看看有沒有分割區

 

空掉了~ 可以來建立分割了!

 

n

要建立Primary partition,所以選p

然後選擇分割區1

 

做好分割之後,就可以敲w把改動寫入後離開,然後拔開這個隨身碟。 如果之前的改動,想略過改動,就敲qfdisk後就什麼事情都沒發生

[可以額外敲 t,再敲6system ID變成FAT16]

就可以拿到windows下作格式化了。

 

win下面看到的size就剩196MB

這個的End cylinder100,不是前面寫的200,所以會有差距。

 

link中的放到隨身碟,戳著小孔切斷電源,上電閃三下,放開小孔。

之後連線上之後,打top,就會發現Memory變大了

 

 

記得把隨身碟拔掉再重開。

 


Step-3

 

把不需要的服務關閉:

asterik (如果我不用VoIP交換器功能)

打開BT transmission, FTP, samba……etc

 

簡單起見,我們使用一隻4G的隨身碟,格式化成FAT32

 

以下內容為網樂通改機俱樂部的文字。

 

insmod /root/modules/fuse.ko

下方依據您使用隨身碟或外接硬碟格式不同選擇性輸入:

mount -o iocharset=utf8 /dev/sdb1 /root/Downloads (隨身碟)

mount.exfat -o iocharset=utf8 /dev/sdb1 /root/Downloads (exFAT 外接硬碟)

mount.ntfs-3g -o iocharset=utf8 /dev/sdb1 /root/Downloads (NTFS 外接硬碟)

/etc/init.d/pure-ftpd start

cp /usr/pub/lib/libz.so.1.2.3 /lib/libz.so.1

/etc/init.d/transmission-daemon start

/etc/init.d/transmission-daemon stop

 

 

[這我是掛/dev/sdb5/ 原因是因為FAT32的分割區變成在sdb5而不是sdb1]

 

修改transmission (BT) 設定 :

vi /root/Downloads/transmission/settings.json

I 開始編輯。

找到 rpc-whitelist-enabled:true 改成 rpc-whitelist-enabled:false

找到 download-dir://Downloads 改成 download-dir:/root/Downloads

找到 incomplete-dir://Downloads 改成 incomplete-dir:/root/Downloads

找到 incomplete-dir-enabled:true 改成 incomplete-dir-enabled:false

以上完成後,按 esc 鍵退出編輯,接著輸入 :wq 存檔。

 

[或者改用個人修改的setting.json,這個設定是關掉whitelist,讓192.168.*.*下的裝置都可以access,速度限制在600k/25k,即使是只有128MB的版本還是可以順利下載4torrent]

 

新增 samba (網路芳鄰) 功能:

samba-3.5.8.sh4.tar.gz 置於隨身碟或外接硬碟「根目錄」下。

打開 CMD (命令提示字元),開始輸入。

telnet 192.168.XX.XX (記得修改成機上盒之正確 IP)

tar xzvf /root/Downloads/samba-3.5.8.sh4.tar.gz -C /

/etc/init.d/samba start

更改 samba 密碼請照下方輸入,您輸入的密碼將不會顯示,共輸入兩次完成確認即可。

/usr/local/bin/smbpasswd -a

 

[因為這裡的登入名稱是root,所以這裡的SMB password是針對root]

 

 

FTP變更帳號密碼

/usr/local/bin/pure-pw useradd [你的帳號] -u 1000 -g 1000 -D /root/Downloads

/usr/local/bin/pure-pw userdel joe

/usr/local/bin/pure-pw mkdb

 

FTP變更連接戶2121-->21

vi /etc/init.d/pure-ftpd

I 開始編輯

更改 2121-->21

完成後,按 esc 鍵退出編輯,接著輸入 :wq 存檔。

[不太會用到ftp,就暫時不處理他了]

 

 

修改網樂通開機後自動開啟FTPBT、網路芳鄰及停用程式 :

vi /etc/init.d/rcSBB

I 開始編輯,將下列一連串貼上。

#mount USB

insmod /root/modules/fuse.ko

下方依據您使用隨身碟或外接硬碟格式不同選擇性輸入:

mount -o iocharset=utf8 /dev/sdb1 /root/Downloads (隨身碟)

mount.exfat -o iocharset=utf8 /dev/sdb1 /root/Downloads (exFAT 外接硬碟)

mount.ntfs-3g -o iocharset=utf8 /dev/sdb1 /root/Downloads (NTFS 外接硬碟)

sleep 10

#start pure-ftpd

/etc/init.d/pure-ftpd start

#start transmission

/etc/init.d/transmission-daemon start

#start samba

/etc/init.d/samba start

 

註銷 iptable

註銷 Firewall

註銷 PPPoe

註銷 Asterisk

註銷 Cron

 

[有額外註銷 run_a18.sh]

 

DHCP 不可註銷 否則無法TELNET

 

 

把想開的服務掛在後面。

因為我的隨身碟要掛在sdb5,所以得改這部份。不然依照前面的步驟走/dev/sdb1/,應該只要按照內容改就可以了。

 

以上完成後,按 esc 鍵退出編輯,接著輸入 :wq 存檔。

如果改錯,不想存:q

以上搞定,存檔之後就reboot看看,是不是服務都有掛起來了!


arrow
arrow
    全站熱搜

    TonyATTA 發表在 痞客邦 留言(0) 人氣()