注意:本文只是将osmocom-bb刷进手机的RAM里,不影响手机自带固件,但是RAM中的数据一般要断电一会后才会消失,所以重新刷的时候难免有出错,所以,不要担心,多试几次就可以了。
其次,如果嫌麻烦可以在root用户下进行
准备工作
环境
请参照上一篇文章《Osmocom-BB项目之环境配置》
在此补充一点,未安装wireshark的同学,请手动安装
sudo apt-get install wireshark
硬件
一根2.5mm的耳机线,一个usb转ttl的串口模块,一台C118手机,三根杜邦线
耳机的线怎么区分怎么接,我们也是搞了好久,被网上的部分混子写手搞得一踏糊涂,但是在浩哥大腿的帮助下,找到一个简单的办法,用万用表测耳机头的不同位置(一般是四口的,分别代表左右声道/Mic/GND)和耳机内部不同颜色线的连通,若测得电阻为零,说明走的是一路,然后确定GND后,左右声道分别对应RXD和TXD即可,只需试验两次。
第一部分:刷机
上一篇我们已经把osmocom-bb的环境编译好了,在硬件测试无误的情况下,我们开始往C118的RAM中写入layer1.compalram.bin这个文件,千万不要和刷入ROM的搞错了,咱么这个文件比较大些,大致有55.8k,之前犯了这个错误,却怎么都找不到问题所在,好了,开始正题。
第一步
首先我们把手机用串口接到虚拟机上,怎么做呢?先在宿主机上开启vmare usb服务
VMWARE USB SERVICE.jpg然后在虚拟机关机情况下将usb的三个选项都选上即可。
虚拟机usb选项.jpg第二步
上面做好后,我们先改变串口的读写权限
sudo chmod 777 /dev/ttyUSB0 //此处的USB0可能是USB1或其他,你看下加载到哪了
再进入osmocom这个目录
cd 你的初始文件夹目录/osmocom-bb/src/host/osmocon
然后执行下面命令
./osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/layer1.compalram.bin
刷入成功.png
刷机失败很正常,首先分析哪部分出的问题,若把前面我提到应该注意的地方都做到了,那就在此多次轻按开机键,并注意数据变化,可以发现,这个刷机过程和tcp三次握手有点类似,双方通信时有很多小的数据交互,多试几次就可以刷进去了。
当你的手机界面出现Layer 1和osmocom-bb时就说明刷机成功了。
第二部分:扫描
注意:在未修改配置文件时,会有错误,即扫不出可监听的信道,所以我们先尝试不修改,再提供修改的方法,两者对比,大家会有比较直观的感受
第一步:初步扫描
上一个终端不要关闭,再新建一个终端,切换到osmocom-bb/src/host/layer23/src/misc/目录下
cd 你的文件目录(你最开始创建的目录)/osmocom-bb/src/host/layer23/src/misc/
执行以下命令
sudo ./cell_log –O //这是大写的O
则会出现如下结果:
1501254410.png
(我已经修改过了,所以只能截部分的图,和你们未修改时比较类似,就是扫不到附近的信道如果能扫到,就不用改了,如果用gnu-arm-build.2.sh的应该不会出现这种情况)
出现上述未扫到信道的同学请参照第二步,修改配置文件
第二步:修改配置文件
在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下,重新编译:
sudo make
或者用这种编译方式:
sudo make -e CROSS_TOOL_PREFIX=arm-none-eabi-
在我当前的实验环境,两者都可以实现,大家可以都尝试一下
第三部分:正式扫描并侦听
第一步:扫描
做法和第二部分的第一步:初步扫描完全一致,在此不细说,只提供成功后的截图,可以和上面对比
扫描到27信道.png
有看到27信道被探测到,后面显示属于中国移动。
第二步:侦听
继续在当前的终端中输入
sudo ./ccch_scan -i 127.0.0.1 -a 你扫到的信道
而后新打开一个终端,输入以下命令,打开wireshark侦听信道
sudo wireshark -k -i lo -f 'port 4729'
之后会出现如下结果:
侦听.png
如上图所示,手机未改滤波器,所以只能侦听到下行的信号,但由于是晚上11多了,没有截获到短信。
第三步:筛选和分析
在上面所有步骤做完后,在wireshark的filter一栏填入gsm_sms,筛选短信
筛选.png之后,我们在wireshark中分析包内信息,在此我附上中午测试的截图:
短信内容.jpg本文到此结束,大家赶快尝试下。
网友评论