但都不說最終能干啥,滾屏完了就沒了,大牛都太低調了,最近有朋友也在搞這個,了解了一下,以下描述都是我最近查閱的大量鳥文資料及少量中文資料之后的理解,如有誤望指出。
相關鏈接:
http://bb.osmocom.org/trac/wiki/TitleIndex
硬件部分
支持的手機
-
- MotorolaC123/C121/C118 (E88) -- our primary target
- MotorolaC140/C139 (E86)
- MotorolaC155 (E99) -- our secondary target
- MotorolaV171 (E68/E69)
- SonyEricssonJ100i
- Pirelli DP-L10
- Neo 1973 (GTA01)
- OpenMoko - Neo Freerunner (GTA02)
- SciphoneDreamG2 (MT6235 based)
國內比較多的是C118,需要換兩個balun,不知道怎么翻譯,好像是接收數(shù)據(jù)過濾用的,不過手藝不好的就算了,不換也可以用,只是沒有uplink的數(shù)據(jù),只能抓到基站廣播的數(shù)據(jù)。
官方的教程http://bb.osmocom.org/trac/wiki/Hardware/FilterReplacement
以下貼幾個我改的圖,有熱風槍應該好改一些,反正沒有好的工具的話我這輩子是不會再改這個了。
一打開蓋子就看到兩個大鐵殼,傻眼了


這么小真是下不去手啊,有熱風槍會好辦一點,再來幾個改機的圖



以下刷的rssi固件,如果沒改硬件,uplink信號沒有的,圖中是downlink,uplink的圖沒截


刷機線
自己買根T191線或者把帶的耳機線改改(下圖的紅白顏色說的是手機自帶的耳機線,別的耳機線可能顏色不同)

下圖參考

軟件部分
大家也可以上官網查看手冊及相關刷機、編譯步驟:
http://bb.osmocom.org/trac/wiki/GettingStarted
不過我按照官網的步驟編譯的時候卡在開始下載交叉編譯環(huán)境上了,由于時間太久了,文中那個鏈接已經失效,使用這里的地址:http://bb.osmocom.org/trac/wiki/GnuArmToolchain
下面是完整步驟,我的Ubuntu 12.10 內核3.5.0-17 x86_64編譯測試通過,干凈的系統(tǒng)按照我下面的步驟一般都不會有什么問題:
-------------------------準備交叉編譯環(huán)境--------------------------
mkdir osmcombb
cd osmcombb
wget http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.2.sh
chmod +x gnu-arm-build.2.sh
sudo apt-get install build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev
mkdir build install src
cd src/
wget http://ftp.gnu.org/gnu/gcc/gcc-4.5.2/gcc-4.5.2.tar.bz2
wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
cd ..
./gnu-arm-build.2.sh
export PATH=$PATH:<YOURPATH>/install/bin
--------------------------準備libosmocore----------------------
cd libosmocore/
autoreconf -i
./configure
make
sudo make install
cd ..
sudo ldconfig
---------------------------編譯osmocomBB---------------------
我編譯了無數(shù)遍無數(shù)版本,包括master分支,Sylvain/burst_ind分支,sylvain/testing分支,還有另外一個老外存的老版本,需要打patch補丁的版本,最終還是用luca/gsmmap的版本成功,也不能說前面說的幾個版本有問題,之前有很多問題,編譯器,git等等一團亂麻,可能是我別的地方有出錯。
另:Sylvain/burst_ind分支是網上說的比較多的帶sniffer功能的分支,但是編譯完無法刷固件,需要修改osmocom-bb/src/host/osmocon/osmocon.c,文件中添加定義
ok,我們使用luca/gsmmap分支,
該項目的主要目標是建立GSM網絡的地理分布,然后分析 偽造,攔截和跟蹤的可能性,會在官網上披露GSM的安全性。
官方提供一個自己的LiveCD,基于Debian,木有xWindow,參加項目的可以傻瓜化的使用并且抓包,用VirtualBOX或者VMware載入,開機后記得把osmocom-bb所用的C1**系列手機和數(shù)據(jù)線連到虛擬機,然后按照提示輸入gsm即可開始。
git clone git://git.osmocom.org/osmocom-bb.git
cd osmocom-bb
git checkout --track origin/luca/gsmmap
//git clone git://git.osmocom.org/osmocom-bb.git
//cd osmocom-bb
//git pull –rebase
如果需要進行實網測試需要打開src/target/firmware/Makefile文件中的編譯開關
-#CFLAGS +=-DCONFIG_TX_ENABLE
+CFLAGS +=-DCONFIG_TX_ENABLE
make
-------------------------運行-------------------------------------------
編譯一切OK后,進行刷手機操作,我的C118手機,固件都是在compal_e88目錄下的bin文件,會有很多bin文件

其中compalram為我們用來刷手機的,只會寫入ram,重啟手機就沒了,highram是為了加載超過65535的大文件,比如rssi.highram.bin,e88flash和e88loader是用來真實刷入手機固件的,慎用,因為我還想平時打打電話呢。我之前就刷掛了,bootloader還在,還好我買了兩個,把另外一個讀出來重新寫回去了。
layer1和src/host/layer23/src/mobile/mobile程序,實現(xiàn)了從layer1到layer3的功能,我們主要用layer1,rssi是用來測試信號的,不同的信道信號強度等等一些相關信息,需要配合chainload或loader刷入,這幾個應用詳細說明在這里:http://bb.osmocom.org/trac/wiki/Applications
連上硬件,使用lsusb和dmesg查看端口號,我都是ttyUSB0,c123和c118手機都用c123xor參數(shù),CompalE88(C118/C120/C121/C123),CompalE99(C155)
sudo ./osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/layer1.compalram.bin
然后在手機關機的狀態(tài)下,點按開機鍵,不是長按,屏幕就會顯示下載刷寫固件并執(zhí)行,如下圖就說明成功了
此時手機應該顯示layer1的提示

新開一個命令行窗口,進行搜索基站信號,
sudo ./cell_log -O
關于ARFCN號,貼個表供參考
頻段 | 名稱 | 信道號 | 上行(MHz) | 下行(MHz) | 其他 |
GSM 850 | GSM 850 | 128 - 251 | 824,0 - 849,0 | 869,0 - 894,0 | 美國, 南美洲國家 和 亞洲部分國家。 |
GSM 900 | P-GSM 900 | 1-124 | 890,0 - 915,0 | 935,0 - 960,0 | GSM最先實現(xiàn)的頻段,也是使用最廣的頻段。 |
E-GSM 900 | 975 - 1023 | 880,0 - 890,0 | 925,0 - 935,0 | 900M擴展頻段 | |
R-GSM 900 | n/a | 876,0 - 880,0 | 921,0 - 925,0 | 鐵路GSM(GSM-R),為鐵路調度通信系統(tǒng)開發(fā)的特殊版本。 | |
GSM1800 | GSM 1800 | 512 - 885 | 1710,0 - 1785,0 | 1805,0 - 1880,0 | 適用于對信道容量需求大的市場,應用范圍僅次于900M。 |
GSM1900 | GSM 1900 | 512 - 810 | 1850,0 - 1910,0 | 1930,0 - 1990,0 | 主要用于美洲國家,由于有頻率重疊,與1800M系統(tǒng)不兼容。 |
然后使用ccch_scan進行抓包,-a參數(shù)為指定ARFCN號,我們用上圖中信號比較強的30
layer23使用src/host/layer23/src/mobile下的mobile程序實現(xiàn),如果只是抓包數(shù)據(jù),下列命令不需要執(zhí)行
sudo ./mobile -i 127.0.0.1
執(zhí)行了mobile程序之后,本機會開啟4247端口,可以使用telnet進行訪問,然后配置執(zhí)行,命令及參數(shù)執(zhí)行方式跟交換機類似
使用wireshark進行抓包分析還是比較方便的
uplink的比較少,不知道是不是因為改機把信號改弱了

有個uplink,估計就在我旁邊發(fā)的


附:
iphone工程模式:撥號界面 *3001#12345#* 按呼叫鍵,可查到當前連接的ARFCN號
我的三星三兒子:撥號界面 *#*#4636#*#* ,沒有ARFCN,只有cell_id,不用找了,這個手機的android下沒有顯示arfcn的工具。
thanks to OsmoCarpenteR, a guy in the IRC
那里我今天也碰到了,把最新版本的那三個波特率拷過去,是可以設置成功,可是也沒信號。
不用
改過濾器的意義在于? 如果不改的話,在實現(xiàn)上有哪些影響
你改過濾器的配件都是淘寶拿的嗎。
淘寶是最大的坑爹假貨市場,不知道有沒有,我從國外代購的
你可以看看 http://yaoq.in/post/20e66e_8afb13
拆下來估計容易 ,直接 一把過去摳下來。
今天費了半天把屏蔽蓋打開 ,沒想到貼片那么 小,焊點還看不見。都不敢動了。。
如果刷到內存,重啟手機即可,如果不是刷到內存了,那就怎么刷rssi的怎么刷回來,具體我忘了,查官網吧,只要bootloader還在就沒問題。
直接焊,好手藝+好人品