但都不說最終能干啥,滾屏完了就沒了,大牛都太低調了,最近有朋友也在搞這個,了解了一下,以下描述都是我最近查閱的大量鳥文資料及少量中文資料之后的理解,如有誤望指出。
相關鏈接:
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,不知道怎么翻譯,好像是接收數據過濾用的,不過手藝不好的就算了,不換也可以用,只是沒有uplink的數據,只能抓到基站廣播的數據。
官方的教程http://bb.osmocom.org/trac/wiki/Hardware/FilterReplacement
以下貼幾個我改的圖,有熱風槍應該好改一些,反正沒有好的工具的話我這輩子是不會再改這個了。
一打開蓋子就看到兩個大鐵殼,傻眼了


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



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


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

下圖參考

軟件部分
大家也可以上官網查看手冊及相關刷機、編譯步驟:
http://bb.osmocom.org/trac/wiki/GettingStarted
不過我按照官網的步驟編譯的時候卡在開始下載交叉編譯環境上了,由于時間太久了,文中那個鏈接已經失效,使用這里的地址:http://bb.osmocom.org/trac/wiki/GnuArmToolchain
下面是完整步驟,我的Ubuntu 12.10 內核3.5.0-17 x86_64編譯測試通過,干凈的系統按照我下面的步驟一般都不會有什么問題:
-------------------------準備交叉編譯環境--------------------------
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---------------------
我編譯了無數遍無數版本,包括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**系列手機和數據線連到虛擬機,然后按照提示輸入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程序,實現了從layer1到layer3的功能,我們主要用layer1,rssi是用來測試信號的,不同的信道信號強度等等一些相關信息,需要配合chainload或loader刷入,這幾個應用詳細說明在這里:http://bb.osmocom.org/trac/wiki/Applications
連上硬件,使用lsusb和dmesg查看端口號,我都是ttyUSB0,c123和c118手機都用c123xor參數,CompalE88(C118/C120/C121/C123),CompalE99(C155)
sudo ./osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/layer1.compalram.bin
然后在手機關機的狀態下,點按開機鍵,不是長按,屏幕就會顯示下載刷寫固件并執行,如下圖就說明成功了
此時手機應該顯示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最先實現的頻段,也是使用最廣的頻段。 |
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),為鐵路調度通信系統開發的特殊版本。 | |
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系統不兼容。 |
然后使用ccch_scan進行抓包,-a參數為指定ARFCN號,我們用上圖中信號比較強的30
layer23使用src/host/layer23/src/mobile下的mobile程序實現,如果只是抓包數據,下列命令不需要執行
sudo ./mobile -i 127.0.0.1
執行了mobile程序之后,本機會開啟4247端口,可以使用telnet進行訪問,然后配置執行,命令及參數執行方式跟交換機類似
使用wireshark進行抓包分析還是比較方便的
uplink的比較少,不知道是不是因為改機把信號改弱了

有個uplink,估計就在我旁邊發的


附:
iphone工程模式:撥號界面 *3001#12345#* 按呼叫鍵,可查到當前連接的ARFCN號
我的三星三兒子:撥號界面 *#*#4636#*#* ,沒有ARFCN,只有cell_id,不用找了,這個手機的android下沒有顯示arfcn的工具。
thanks to OsmoCarpenteR, a guy in the IRC
但是在第一個下載固件的窗口上可以看到許多基站的信息
沒買到
換usb轉串口硬件
不清楚,查源碼吧
換信道,也可能確實沒人收發短信,也可能信號太弱,不需要sim卡
目前是用的PL2303。。。你帖子里用的是CP2102?
求解~~ 因為時好時壞,正常的時候完全可用,所以RXTX線序肯定是OK的。
你貼個聯系方式給我吧,咱們加了一起討論討論
xxooxxooxxooxxooxxooxxooxx [at] GMAIL.COM
@小CC
你怎么刷成磚的,再怎么刷回來,雖然界面沒了,bootloader一般還在的,從另外的機器備份個rom,再刷回去。
沒用jtag刷過,還不如再買一個
換個信道試試
我這每次就能搜到聯通或者移動的1到2個信道,是不是因為信號不好?再問一下,如果沒有短信的話,是不是最多只會有 GSMTAP這類的數據包?
這東西用來竊聽的
項目組還打包了一個系統,用來把你所在的國家的基站的數據樣包上傳到服務器給他們分析.
項目的宗旨是提醒人們gsm的危險.
不過當你看到那巨大的彩虹表時,你就生不起半點破解的欲望了!!!
這東西用來竊聽的
項目組還打包了一個系統,用來把你所在的國家的基站的數據樣包上傳到服務器給他們分析.
項目的宗旨是提醒人們gsm的危險.
不過當你看到那巨大的彩虹表時,你就生不起半點破解的欲望了!!!@LSX
uplink是手機發往基站方向的,功率小.你當然收到很少.一般硬改過的手機還要配備一個增強功率定向天線
數據包里面沒有
沒有關系,換過濾器的作用文中有提到。
got 1 bytes from modem, data looks like: 04 .
got 1 bytes from modem, data looks like: 81 .
got 1 bytes from modem, data looks like: 1b .
got 1 bytes from modem, data looks like: f6 .
got 1 bytes from modem, data looks like: 02 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 41 A
got 1 bytes from modem, data looks like: 01 .
got 1 bytes from modem, data looks like: 40 @
Received PROMPT1 from phone, responding with CMD
opening file: No such file or directory
這是什么問題 求大師知道
是下載的時候吧,換CP2102的USB2TTL
沒有這樣的文件或目錄
Failed to connect to '/tmp/osmocom_l2':No such file or directory
Failed during layer2_open()
參數對不對?有沒有sudo?是不是電池沒電了?或者重新編譯所有文件?
rc = layer2_open(ms, layer2_socket_path);
if (rc < 0) {
fprintf(stderr, "Failed during layer2_open()\n");
exit(1);
}
sudo: ./osmocon: command not found
我猜是下載器的問題,換CP2102的USB2TTL
恩 換了個下載器就好了 呵呵。
樓主,我監聽的信道為自己蘋果4s的信道,移動卡,可怎么就是不能抓自己的包呢?發了很多次了
先確定是GSM,然后抓對信道,最后還有個問題,每幀有8個時隙,程序只是個demo,不是每個時隙都能抓到。
信號不好
看到110dbm之類的多半就是信號不好 上行最容易出問題 因為要同步時間 還要距離victim很近 國外說是不超過30m
官方論壇說的是ts0 ts1 就理論上而言 sms是直接存活在sdcch 也就是ts1 信道緊張的時候存活在sacch 也是ts1 但我納悶人家又說同時只能抓一個時隙 這還是一位中國網友問出來的
不是我的店,關于天線不清楚
1.
N a device for coupling two electrical circuit elements, such as an aerial and its feeder cable, where one is balanced and the other is unbalanced 平衡不平衡變換器
被同事弄丟了好像
喜歡玩osmocombb的可以加群一起討論研究研究。
請參照官方教程
Last step is to solder ceramic capacitors 04025A150JAT2A and 04025A220JAT2A:
這兩種電容各用幾個?焊到哪里?
各焊一個,補焊在側面,再看20遍圖和文檔
got 1 bytes from modem, data looks like: 00
看上去一切正常,只要點亮就能刷機了,不過短按手機,卻點不亮,寫入也沒辦法了。長按就開機了,關機反復試了多次也不行。
還請指點一下,問題可能出在哪兒?
數據線接芯片的這一端是固化好的,確定沒有接錯。
多半是usb硬件的問題,我之前有回復過類似的問題,換CP2102的USB2TTL。
我代購的,淘寶你可以搜搜。
<0003> gsm322.c:2939 Channel synched on wrong ARFCN=74, syncing on right ARFCN again...
<0003> gsm322.c:474 Sync to ARFCN=0 rxlev=<=-110 (No sysinfo yet, ccch mode NONE)
。。。。。
<0003> gsm322.c:4049 (ms 1) Event 'EVENT_NEW_PLMN' for Cell selection in state 'C0 null'
<000e> gsm322.c:3631 Selecting PLMN (mcc=460 mnc=00 China, China Mobile)
<0003> gsm322.c:3637 Start stored cell selection.
<0003> gsm322.c:829 new state 'C0 null' -> 'C2 stored cell selection'
<0003> gsm322.c:2793 Scanning power for stored BA list.
<0003> gsm322.c:2861 Scanning frequencies. (28..28)
當我測試首發短信時,就發現提示下面的內容,可以說明捕獲到短信,但是程序本身錯誤了嗎?
Dropping frame with 41 bit errors
Dropping frame with 79 bit errors
Dropping frame with 47 bit errors
Dropping frame with 86 bit errors
兄弟,我也不知道哪賣啊,不客氣。
cell_log.c:443 Measure from 0 to 124
cell_log.c:443 Measure from 512 to 885
到這就停住了 試了N次都這樣 怎么破?
是不是改過的手機?應該是沒改對。
Mobile initialized, please start phone now!
<000e> cell_log.c:443 Measure from 0 to 124
<000e> cell_log.c:443 Measure from 512 to 885
<000e> cell_log.c:443 Measure from 955 to 1023
<000e> cell_log.c:434 Measurement done
Layer2 socket failed
請問該怎么解決?
Mobile initialized, please start phone now!
<000e> cell_log.c:443 Measure from 0 to 124
<000e> cell_log.c:443 Measure from 512 to 885
<000e> cell_log.c:443 Measure from 955 to 1023
<000e> cell_log.c:434 Measurement done
母雞呀。。。你的情況,如果能刷的話,說明模塊是好的啊,但是模塊燈應該在發送接收數據的時候會閃,你的情況沒碰到過,期待高人解答。
博主,有現成“可用”的手機可以出售嗎?我需要先試試效果,驗證一下在哪部出的錯。
我是代購的,比較貴,據說某寶上也能買到,你可以試試。
首先,我用的是FT232RL
遇到一個問題是
got 2 bytes from modem, data looks like: 04 81 ..
got 5 bytes from modem, data looks like: 1b f6 02 00 41 ....A
got 1 bytes from modem, data looks like: 01 .
got 1 bytes from modem, data looks like: 40 @
Received PROMPT1 from phone, responding with CMD
這個問題目前我還沒有用換硬件這個方法去解決,我想是不是其他的問題
還有一個問題已經解決的,就是樓上提到的
got 1 bytes from modem, data looks like: 00
一直重復的問題,我發現TX RX接反了,接回去就可以了
我想問一下樓主,針對我的第一個問題,會不會是由于我的c118不是原本的固件的原因,有可能是淘寶賣家刷過的?有沒有推薦的淘寶店或者代購c118?因為好像中文的系統都是刷過的成功率都很低
root@cuser-virtual-machine:~/sources/libosmocore# autoreconf -i
程序 'autoreconf' 已包含在下列軟件包中:
* autoconf
* autoconf2.13
請嘗試:apt-get install <選定的軟件包>
root@cuser-virtual-machine:~/sources/libosmocore#
這里執行不成功,怎么回事?
應該是沒有autoconf,試試sudo apt-get install autoconf 然后按提示操作
問題出在哪里了呢
換ARFCN試試,多等會,或者信號太弱,沒別的問題剩下就是拼人品了。
第一個
在執行sudo ./cell_log -O時遇到
cell_log.c:434 Measurement done
Layer2 socket failed
解決:如果你是gnu-arm-build.2.sh編譯GnuArmToolchain的話
進入osmocom-bb找到這些文件并修改他們
vi osmocom-bb/src/target/firmware/board/compal/highram.lds
vi osmocom-bb/src/target/firmware/board/compal/ram.lds
vi osmocom-bb/src/target/firmware/board/compal_e88/flash.lds
vi osmocom-bb/src/target/firmware/board/compal_e88/loader.lds
vi osmocom-bb/src/target/firmware/board/mediatek/ram.lds
找到里面的這一串代碼KEEP(*(SORT(.ctors)))
在下面加入KEEP(*(SORT(.init_array)))
保存即可,全部修改好,在進入osmocom-bb/src重新編譯一下
$ make -e CROSS_TOOL_PREFIX=arm-none-eabi
第二個 255錯誤,及Drop Frame 錯誤
說明和解決方法來源與這里blog.lishixin.net/archives/1393
但是這個博客現在關閉了 自行百度“app_ccch_scan.c”了解詳情和下載補丁文件
解決:直接覆蓋路徑下的同名文件編譯
osmocom-bb/src/host/layer23/src/misc/app_ccch_scan.c
如果百度搜索上斷種了 請私信我
哇~~~多謝多謝!!!