提取Flash芯片信息

1 篇文章 0 订阅
订阅专栏

目录

0X01 前言

0X02 芯片介绍

ROM芯片

Flash芯片

 一、IICEEPROM

 二、SPINorFlash

 三、ParallelNorFalsh(CFIFlash)

 四、ParallelNandFlash

 五、SPINandFlash

 六、eMMCFlash

 七、USF2.0

0X03 Flash芯片提取固件

一、物理环境

二、工具环境

三、拆取芯片

四、识别芯片

五、提取固件

0X04 固件分析

0X05 Flash芯片固件防护

参考资料


0X01 前言

本文章主要以提取固件为主导。随着由于针对设备的攻击越来越多,很多厂商不再提供固件下载,所以有些时候只能通过物理的方式从设备中导出固件。

0X02 芯片介绍

ROM芯片

常见的 IOT 产品,一般采用嵌入式 linux 系统开发,对芯片分析主要目的之一就是获取到硬件系统的固件,从固件中分析可能存在的安全风险。固件一般存储在 ROM 中,ROM 是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。常见的存储芯片按照存储读取方式和制作工艺不同,可以分为:ROM、PROM、EPROM、EEPROM、FLASH-ROM。在大部分IOT产品中多采用 flash 芯片作为存储器,提取固件主要也是通过读取 flash 芯片。

Flash芯片

FLASH ROM 属于真正的单电压芯片,在使用上很类似 EEPROM,因此,有些书籍上便把 FLASH ROM 作为 EEPROM 的一种。事实上,二者还是有差别的。FLASH ROM在擦除时,也要执行专用的刷新程序,但是在删除资料时,并非以 Byte 为基本单位,而是以 Sector(又称 Block)为最小单位,Sector 的大小随厂商的不同而有所不同;只有在写入时,才以 Byte 为最小单位写入;FLASH ROM 芯片的读和写操作都是在单电压下进行,不需跳线,只利用专用程序即可方便地修改其内容;FLASH ROM的存储容量普遍大于EEPROM,约为 512K 到至 8M KBit,由于大批量生产,价格也比较合适,很适合用来存放程序码,近年来已逐渐取代了 EEPROM,广泛用于主板的 BIOS ROM,也是 CIH 攻击的主要目标。

根据技术方式不同可分为:IIC EEPROM、SPI NorFlash 、CFI Flash、Parallel NandFlash、SPI NandFlash、eMMC Flash、USF2.0 等。其中 SPI NorFlash 因为接口简单,使用的引脚少,易于连接,操作方便,并且可以在芯片上直接运行代码,其稳定性出色,传输速率高,在小容量时具有很高的性价比,这使其很适合应于嵌入式系统中作为 FLASH ROM,所以在市场的占用率非常高。我们通常见到的 S25FL128、MX25L1605、W25Q64 等型号都是 SPI NorFlash,其常见的封装多为 SOP8,SOP16,WSON8,US0N8,QFN8、BGA24 等,下面对芯片分类进行介绍。

 一、IICEEPROM

  IICEEPROM,采用的是IIC通信协议。
  IIC通信协议具有的特点:简单的两条总线线路,一条串行数据线(SDA),一条串行时钟线(SCL);串行半双工通信模式的8位双向数据传输,位速率标准模式下可达100Kbit/s;一种电可擦除可编程只读存储器,掉电后数据不丢失,由于芯片能够支持单字节擦写,且支持擦除的次数非常之多,一个地址位可重复擦写的理论值为100万次,常用芯片型号有AT24C02、FM24C02、CAT24C02等,其常见的封装多为DIP8,SOP8,TSSOP8等。

 二、SPINorFlash

  SPINorFlash,采用的是SPI通信协议。有4线(时钟,两个数据线,片选线)或者3线(时钟,两个数据线)通信接口,由于它有两个数据线能实现全双工通信,因此比IIC通信协议的IICEEPROM的读写速度上要快很多。SPINorFlash具有NOR技术FlashMemory的特点,即程序和数据可存放在同一芯片上,拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从Flash中读取代码执行;可以单字节或单字编程,但不能单字节擦除,必须以Sector为单位或对整片执行擦除操作,在对存储器进行重新编程之前需要对Sector或整片进行预编程和擦除操作。
  

  NorFlash在擦写次数上远远达不到IICEEPROM,并且由于NOR技术FlashMemory的擦除和编程速度较慢,块尺寸又较大,因此擦除和编程操作所花费的时间会很长;但SPINorFlash接口简单,使用的引脚少,易于连接,操作方便,并且可以在芯片上直接运行代码,其稳定性出色,传输速率高,在小容量时具有很高的性价比,这使其很适合应于嵌入式系统中作为FLASHROM,所以在市场的占用率非常高。

  常见到的S25FL128、MX25L1605、W25Q64等型号都是SPINorFlash,其常见的封装多为SOP8,SOP16,WSON8,US0N8,QFN8、BGA24等。

 三、ParallelNorFalsh(CFIFlash)

  ParallelNorFalsh,也叫做并行NorFlash,采用的Parallel接口通信协议。拥有独立的数据线和地址总线,它同样继承了NOR技术FlashMemory的所有特点;由于采用了Parallel接口,ParallelNorFalsh相对于SPINorFlash,支持的容量更大,读写的速度更快,但是由于占用的地址线和数据线太多,在电路电子设计上会占用很多资源。ParallelNorFalsh读写时序类似于SRAM,只是写的次数较少,速度也慢,由于其读时序类似于SRAM,读地址也是线性结构,所以多用于不需要经常更改程序代码的数据存储。

  常见到的S29GL128、MX29GL512、SST39VF020等型号都是ParallelNorFlash,其常见的封装多为TSSOP32、TSOP48、BGA64,PLCC32等。

 四、ParallelNandFlash

  ParallelNandFlash同样采用了Parallel接口通信协议,NandFlash在工艺制程方面分有三种类型:SLC、MLC、TLC。

  NandFlash技术FlashMemory具有以下特点:以页为单位进行读和编程操作,以块为单位进行擦除操作;具有快编程和快擦除的功能,其块擦除时间是2ms,而NOR技术的块擦除时间达到几百ms;芯片尺寸小,引脚少,是位成本(bitcost)最低的固态存储器;芯片包含有坏块,其数目取决于存储器密度。坏块不会影响有效块的性能,但设计者需要有一套的坏块管理策略!

  对比ParallelNorFalsh,NandFlash在擦除、读写方面,速度快,使用擦写次数更多,并且它强调更高的性能,更低的成本,更小的体积,更大的容量,更长的使用寿命。这使NandFlash很擅于存储纯资料或数据等,在嵌入式系统中用来支持文件系统。其主要用来数据存储,大部分的U盘都是使用NandFlash,当前NandFlash在嵌入式产品中应用仍然极为广泛,因此坏块管理、掉电保护等措施就需要依赖NandFlash使用厂家通过软件进行完善。

  常见到的S34ML01G100、MX30LF2G18AC、MT29F4G08ABADA等型号都是ParallelNandFlash,其常见的封装多为TSOP48、BGA63、BGA107,BGA137等。

 五、SPINandFlash

  SPINandFlash,采用了SPINorFlash一样的SPI的通信协议,在读写的速度上没什么区别,但在存储结构上却采用了与ParallelNandFlash相同的结构,所以SPInand相对于SPInorFlash具有擦写的次数多,擦写速度快的优势,但是在使用以及使用过程中会同样跟ParallelNandFlash一样会出现坏块,因此,也需要做特殊坏块处理才能使用。

  SPINandFlash相对比ParallelNandFlash还有一个重要的特点,那就是芯片自己有内部ECC纠错模块,用户无需再使用ECC算法计算纠错,用户可以在系统应用当中可以简化代码,简单操作。

  常见到的W25N01GVZEIG、GD5F4GQ4UBYIG、F50L1G41A等型号都是SPINandFlash,其常见的封装多为QFN8、BGA24等。

 六、eMMCFlash

  eMMC采用统一的MMC标准接口,自身集成MMCController,存储单元与NandFlash相同。针对Flash的特性,eMMC产品内部已经包含了Flash管理技术,包括错误探测和纠正,Flash平均擦写,坏块管理,掉电保护等技术。MMC接口速度高达每秒52MBytes,eMMC具有快速、可升级的性能,同时其接口电压可以是1.8v或者是3.3v。

  eMMC相当于NandFlash+主控IC,对外的接口协议与SD、TF卡一样,主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。这些特点对于希望通过缩小光刻尺寸和降低成本的NAND供应商来说,同样的重要。

  eMMC由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口、快闪存储器设备(NandFlash)及主控制器,所有都在一个小型的BGA封装,最常见的有BGA153封装;我们通常见到的KLMAG8DEDD、THGBMAG8B4JBAIM、EMMC04G-S100等型号都是eMMCFlash。eMMCFlash存储容量大,市场上32GByte容量都常见了,其常见的封装多为BGA153、BGA169、BGA100等。

 七、USF2.0

  JEDEC在2013年9月发布了新一代的通用闪存存储器标准USF2.0,该标准下的闪存读写速度可以高达每秒1400MB,这相当于在两秒钟内读写两个CD光盘的数据,不仅比eMMC有更巨大的优势,而且它甚至能够让电脑上使用的闪存存储介质固态硬盘也相形见绌。UFS闪存规格采用了新的标准2.0接口,它使用的是串行界面,很像PATA、SATA的转换,并且它支持全双工运行,可同时读写操作,还支持指令队列。相对之下,eMMC是半双工,读写必须分开执行,指令也是打包,在速度上就已经是略逊一筹了,而且UFS芯片不仅传输速度快,功耗也要比eMMC5.0低一半,可以说是日后旗舰手机闪存的理想搭配。目前仅有少数的半导体厂商有提供封装成品,如三星、东芝电子等。

 

0X03 Flash芯片提取固件

一般读取 Flash 芯片的内容的方法,较为常见有以下两种方式(有大牛提出了10种固件获取方式,有兴趣的可以看参考资料中序号为3的链接):
1、直接将导线连接到芯片的引脚,在通过飞线连接编程器,进行在线读取固件。

2、把芯片拆焊下来,通过烧录座编程器,离线读取固件。

 

一、物理环境

因一时兴起,所以工具准备的不是很充分,没有购置芯片脚夹、烧录夹、面包板、杜邦线等工具,故采用上文所述第二种方法,用工具对摄像头8脚存储芯片拆取进行离线烧录提取固件,如下图所示。
1、RT809F编程器
2、弹跳座
3、电烙铁及焊锡等
4、摄像头
5、钳子、螺丝刀、镊子、撬棒等工具

 

二、工具环境

binwalk -- 通过固件文件头来分析文件和文件系统
file -- 用来检测是否是有效的文件和文件类型
hexdump --16进制导出工具
strings --跟hexdump类似但是可以以可读的形式展示
dd --从二进制文件中挖掘数据
lzma --解压LZMA文件

 

三、拆取芯片

首先我们使用螺丝刀,钳子等工具将摄像头外壳拆取下来,找到Flash芯片位置。

通常读取固件使用夹具连接各引脚,并和编程器连接,直接进行固件读取,但是由于我们手头没有合适的工具,所以采用拆解Flash芯片进行固件读取。

1、将电烙铁加热加上锡,对准芯片一侧上锡,此时使用镊子将上锡的一侧轻轻翘起。

2、对准芯片另一侧上锡,此时使用镊子将上锡的另一侧轻轻翘起,使用镊子轻轻夹出。

3、清理焊锡,将清理后的Flash芯片放置于弹跳座中。

 

四、识别芯片

1、使用USB线将编程器连接至电脑并打开编程器软件,如图所示:

 

2、点击智能识别SmartID,自动识别厂商芯片。

 

五、提取固件

将读取出的后缀为BIN的固件进行保存,至此固件读取完毕,为下一步固件分析提供基础。

 

0X04 固件分析

此处固件分析仅作为流程性简单介绍,之后会单独提取出来作为文章发布。

file用来检测是否是有效的文件和文件类型,file分析的结果可以告诉我们该文件是否是已知的类型,这里的结果我们可以看到仅仅是显示数据文件。

 

hexdump 工具可以让你分析文件中的每一个字节,这是非常有价值的。使用hexdump分析固件如下,把结果写入到文件中方便分析:

string可以显示文件中所有可打印的数据,依旧把结果写入到文件中方便分析:

binwalk会分析二进制文件中可能的固件头或者文件系统,然后输出识别出的每个部分以及对应的偏移量,-e参数,自动把固件镜像中的所有文件都解压出来:

 

0X05 Flash芯片固件防护

防止Flash芯片被轻易提取出固件,以下为固件防护的措施有关的建议:

1、防止固件提取的方式,对于MCU内部Flash的情况,通过编程的方式,把flash区域设置为读保护状态;而外部Flash的固件基本上都可以读取。

2、对于外部Flash,可以用电路设计保护起来,设计在线检测电路,一旦发现Flash芯片的引脚出现断线,立即进行强电攻击,将Flash芯片破坏掉。

 

参考资料

1、物联网安全百科

https://iot-security.wiki/hardware-security/hardware/preliminary.html

2、一文看懂Flash芯片的种类与区别

http://m.elecfans.com/article/654892.html

3、看雪2018峰会回顾_智能设备漏洞挖掘中几个突破点(内有十种固件提取方法和首次公开uboot提取固件方法)

https://bbs.pediy.com/thread-230095.htm

4、物联网产品的硬件设计时注意的“安全”

https://blog.csdn.net/u011270542/article/details/86614349

编程器提取eeprom_Flash芯片内存提取
weixin_26843605的博客
01-10 2016
作为Flash芯片内容提取系列的第一部分,本文将介绍如何拆焊Flash芯片,设计及制作相应的分线板。该系列将详细讲解及实践对嵌入式设备的非易失性存储的简单有效攻击手段。这些攻击包括:(1)读取存储芯片内容;(2)修改芯片内容;(3)监视对存储芯片的读取操作并远程修改(中间人攻击)。想想,当你拆开一个嵌入式产品,却被挡在Flash之外,好奇的你一定想对它一探究竟吧!那么,下面我们就开始!拆...
STM32HAL库-F4-针对芯片内部FLASH读保护实现防篡改、破解功能(详解)
qq_36075612的博客
03-08 1378
STM32HAL库-F4系列,针对芯片读写保护实现防篡改、破解功能(详解)
Flash中数据的存储和读取
12-12
如何利用Flash代码让Flash动画中的数据储存在电脑上。一般是利用Flash中的ShareObject代码来实现的。(下载的文件中有fla源文件,源文件中说明非常详细。)
J-Flash 读取Flash数据
dailin2012的博客
03-01 2110
J-Flash 读取Flash数据
IAP_5_读取内部Flash的数据
人非生而知之者
11-21 1539
1、内部Flash 2、读取内部Flash 对于内部Flash,可以在通用地址空间直接寻址。 直接寻址的意思就是,可以通过指针直接取地址的内容。 读取 8位,*(uv8 *)ADDR; 读取16位,*(uv16 *)ADDR; 读取32位,*(uv32 *)ADDR; ......
python中dbscan和kmeans_基于密度聚类的DBSCAN和kmeans算法比较
weixin_39853523的博客
12-03 619
根据各行业特性,人们提出了多种聚类算法,简单分为:基于层次、划分、密度、图论、格和模型的几大类。其中,基于密度的聚类算法以DBSCAN最具有代表性。场景 一假设有如下图的一组数据, 生成数据的R代码如下x1 y1x2y2datanames(data)qplot(data$x, data$y)用密度聚类DBSCAN方法,可以看到聚类效果如下:library(ggplot2)plibrary('fp...
WwR_2.51资源 可以备份提取制作mtk芯片线刷包+操作视频
07-10
资源可以备份mtk芯片的线刷资源 资源内带全部流程视频操作 -英文 可以无固件前提下从手机提取制作可以sp平台刷的完整线刷包 需要一定的操作技术与基本常识 需要的友友可以下载借鉴
mtk提取字库工具+线刷平台SP_Flash_Tool
07-06
mtk提取字库工具+线刷平台SP_Flash_Tool 辅助工具提取mtk芯片机型 备份全字库 提取preloader分区等等 需要一定的刷机常识和操作能力 参考教程 ...
STM32H7XX-KEIL-MDK-外部FLASH-FLM下载算法-Application-Note
11-25
目录结构预览:1. MDK下载算法基础知识2. FLM开发2.1 FLM工程建立2.2 SPI Flash MDK下载算法制作2.3 SPI Flash MDK下载算法使用2.4 FLM_DEBUG调试工程建立方法
STM32H7 系列芯片 FLM 下载算法文件
04-16
STM32H7 系列芯片 FLM 下载算法文件 放置路径:`keil安装路径/ARM/Flash`
STM32 QSPI QPI SPI FLASH W25Q256 MDK下载算法FLM文件下载
08-03
想要使用正点原子阿波罗的W25Q256 这个32MB的SPI flash作为代码存储和运行闪存,需要BootLoader +APP +下载算法三部分。 先把下载算法复制到D:\MDK\ARM\Flash 打开你的APP,把MDK工程0x8000 0000改成0x9000 0000编译...
EDA/PLD中的采用Device DNA和Flash存储器ID保证安全
11-17
在非易失性FPGA-Spartan-3AN平台中采用了与Spartan-...该设计现在专门融合了FPGA和Flash ID。  拥有两个独一无二的ID就像需要两张不同的ATM卡才能取钱一样。如果想提取现金,必须持有两张卡。如果其中一张卡丢失,则
标准字库BIN文件.rar
07-28
芯片可选用W25Q16、W25Q32、W25Q64等2M以上的SPI Flash芯片,使用烧写器将文件写入芯片中即可,Flash芯片的操作方法请参考芯片手册。文件中包含了12*12、16*16、24*24、32*32的点阵GB2312字库,8*16点阵GB2312特殊...
stm32 远程升级 OTA升级 使用WIFI连接升级 芯片 stm32f103系列 升级方式:wifi模块?自建服务器 升级文
07-10
芯片 stm32f103系列 升级方式:wifi模块?自建服务器 升级文件为BIN文件,需要使用配套的exe文件将原来的bin文件内的数据,每隔128个字节进行crc16检验,并添加到后面。 单片机下载后,每下载130个字节便检验一下数据...
如何拆焊Flash芯片
strongerHuang
03-30 2158
关注、星标公众号,不错过精彩内容作者:S2ealea素材来源:FreeBuf.COM相信不少电子工程师都有拆焊芯片的经历,本文将介绍如何拆焊Flash芯...
Linux MTD下获取Nand flash各个参数的过程的详细解析 (转)
itismine的专栏
10-25 4406
下面是Linux MTD中,获取nand flash型号,各个参数,以及硬件特性的函数,其实也就是nand_get_flash_type,下面对其详细解析: 【看此文之前,一些有必要先解释的术语】1.       Program(编程):此处的编程,不是写软件,写代码,而是对于硬件来说的,可以理解为对硬件编程,只不过其工具是硬件内部的逻辑,而不是你用的软件。对Nand Flash
固件提取-flash芯片
weixin_44932880的博客
12-07 4034
固件 路由flash 固件提取 固件模拟 flash 固件 固件:也称 firmware, 通常用于嵌入式领域,泛指运行于硬件之上的操作系统软件。刷固件或者更新固件是指删除原系统,更换新的系统软件。 包括 uboot引导系统,加载环境变量 kernel内核 fs文件系统,应用程序 固件在无线路由器出厂的时候通常封装在一个flash集成电路里, 现在的flash集成电路通常采用8脚封装,也有更多针脚的, 它焊接在路由器的主板上,相当于台式电脑的硬盘。 路由器FLASH flash相关了解 FLASH
Nand Flash数据存储方式和数据读写方法!
征途的专栏
01-05 4495
   本站已经有很多文章谈到Nand Flash的数据存储方式,但关于NAND Flash的数据读写方法方面的文章不多,这篇文章详细讲述了Nand Flash数据存储方式和数据读写方法,并用具体的芯片为例作了详细的解释,所以转过来给各位友参考。    NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell中只能存储一个bit。这些cell 以8
用ccs7.0提取芯片数据
最新发布
01-17
CCS7.0又被称为Code Composer Studio,是一款专业的集成开发环境(IDE),可以用于嵌入式系统开发。在使用CCS7.0提取芯片数据时,主要有以下几个步骤: 第一步,准备好所需的开发工具和硬件。这包括CCS7.0软件的安装,连接好芯片的开发板以及相应的调试工具,如仿真器或调试探头。 第二步,打开CCS7.0软件,并创建一个新的工程。选择正确的芯片型号,并指定相应的目标设备。这样CCS7.0就能够在后续的操作中正确识别和读取芯片数据。 第三步,选择合适的调试接口。根据所连接的调试工具和开发板,选择正确的调试接口,如JTAG、SWD等。通过这个接口,CCS7.0可以与芯片进行通信并提取数据。 第四步,设置调试配置。在CCS7.0中,设置正确的调试配置可以确保芯片被正确初始化并可以被读取。配置中包括芯片的时钟频率、复位方式、调试模式等。同时,还需要设置断点和观察点以便进行数据调试和分析。 第五步,进行数据提取。通过CCS7.0的调试功能,可以读取和观察芯片内部的寄存器、内存、变量等数据。可以通过断点和单步执行来控制芯片的运行,并提取所需要的数据。 第六步,保存和导出数据。在CCS7.0中,可以将提取到的数据保存为文件并导出,以便在之后的分析和使用中进行使用。 总结起来,使用CCS7.0提取芯片数据需要准备好开发工具和硬件,设置正确的调试配置,并通过调试功能进行数据提取和保存。这个过程需要熟悉CCS7.0的使用方法,并根据具体的芯片和需求进行相应的设置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • ssh: connect to host gitlab.com port 22: Connection timed out 4496
  • 提取Flash芯片信息 4468
  • gitlab使用详解 3066
  • 虚拟机Ubuntu18.04连接网络 2742
  • git clone、git pull和git fetch的用法及区别 833

分类专栏

  • git 3篇
  • 工具 1篇
  • 网络 1篇
  • 虚拟机 1篇
  • 物联网 1篇
  • Ubuntu18.04 1篇

最新评论

  • ssh: connect to host gitlab.com port 22: Connection timed out

    coderhhan: ....你配置写github?能通吗?我去

  • ssh: connect to host gitlab.com port 22: Connection timed out

    H_Cloud_: 右击,新建文本文件,然后改名成 config 就可以了

  • ssh: connect to host gitlab.com port 22: Connection timed out

    我是真的很菜啊: 我能不能问一下怎么创建的那个config文件啊?

  • 提取Flash芯片信息

    Windymin_: 楼主,请问攻击者能在不拆除芯片的条件下直接篡改FLASH内容吗?

  • gitlab使用详解

    weixin_42594134: 对小白来说,这个文章太好了!赞赞

大家在看

  • 【Leetcode 876 】链表的中间结点——快慢指针(单节点与双节点)

最新文章

  • Linux ls 命令
  • git clone、git pull和git fetch的用法及区别
  • 【转载】TCP/IP协议
2023年1篇
2020年9篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源小孩起的名字免费测试追忆潸然男孩带恒的起名厚积薄发是什么意思马氏女起名大全炮神电视剧虚拟实验室盛世军婚全文免费阅读半年线英文名软件v7.0工资贷款中日军力对比刘氏100分男孩起名默默无语给套餐起名字初生儿起名评分表饭店起名带阳字的名字手机电视软件别闹薄先生卡萨丁出装国家崛起宫崎爱莉顾姓男生起名大全魔兽争霸地图下载网站华与什么字配起名好cad2014注册机姓宁的起姓名大全魔兽防守地图包下载三个优先梦见蜜蜂淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化