请选择 进入手机版 | 继续访问电脑版

DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 54409|回复: 31

[资料] NANDReader(用ft2232h做的nand读取器)研究了一番 发发成果

[复制链接]
发表于 2016-9-21 15:14:51 | 显示全部楼层 |阅读模式
本帖最后由 fangyushuma 于 2016-9-23 01:56 编辑

http://www.diybcq.com/ 首发:      从这里发现的就先发这里了;之前搜索到坛主 发的 NANDReader(用ft2232h做的nand读取器) 相关帖子 ,研究了一番 有部分截图 就不贴到帖子上了 ,
首先这是一个 编程器 : 到底能干嘛 请看如何逆向嵌入式设备的NAND Flash》一文http://www.wtoutiao.com/p/120zlN4.html
应用举例: 路由器、 U盘 等采用nandflash 芯片存储数据的设备 ,需要重写数据
像这位网友就使用单片机自己写程序修复了路由器:http://www.right.com.cn/forum/thread-158635-1-1.html
当然,由于Nandflash 的特性: 实际 并非如此 容易, 最麻烦的是 Nandflash ECC 校验问题


之前搜索到该坛坛主 发的 《NANDReader(用ft2232h做的nand读取器)》系列 相关帖子 ,
研究了一番 有部分截图 就不贴到帖子上了,文件里有 ,感兴趣的点这里 http://pan.baidu.com/s/1nuT86YP   
FT2232 NandFlash 编程器.rar  文件是成果,苦逼的研究     LZ 技术菜,受到软件和硬件限制,只能发个简单的 成果,
该软件是USB 直接读取,并非 串口 读数据,所以速度上还可以, 之前用stc 单片机研究过nandflash 的读取(串口的), 那速度,128M 要读1 两天还得开高波特率。。。。。
相关文章提到 该软件有C++ 写的版本,但是没搞懂怎么用,  LZ C++ 要学的好一点 ,然并卵
LZ 测试了下,把一个16M 的U盘(里边有文件的)(这U盘是大学时的 妹子到电脑城买的,发现有问题,给我修了修,结果是扩容盘,就给我了)
用 软件 读出,然后 擦除, 在写回到NandFlash 里,  插上U盘,发现里边的文件还在, 没有重新量产
好吧更多的,让网友们研究把


ID.jpg 写入.jpg

1 安装python   为了方便文件夹中提供两个版本,其他版本,也许也可以
2 安装FT2232 驱动 CDM v2.12.00WHQL Certified.exe
3 安装 pyftdi  pyusb  six 3个库: 解压后在命令行中 执行 setup.py install
   pyftdi pyusb 文件夹中都提供了两个版本,任意选择一个版本安装
4 运行 zadig_2.2.exe FT2232驱动更新为  libusbK (v3.0.7.0)驱动: Options - list all devices 可显示所有设备(我的已经安装了,所以是Upgrade Driver 且版本是3.0.6.0
成功后设备管理其中应该 libusbK USB Devices 设备(我的是USB <-> Serial Converter(Interface 0)

5 、使用: 运行 DumpFlash.py -h  自行查看帮助选项 以及 文件夹中其他文档;我也没摸透
比如DumpFlash.py -i 可查看 NandFlash芯片 信息
                 DumpFlash.py -r read.bin 可读取整个Flash 数据到read.bin文件
                 DumpFlash.py -w data.bin 可将data.bin文件 写入到Flash

6、该软件是国外开源软件,深入研究可自行google
http://www.wtoutiao.com/p/120zlN4.html这篇是翻译文档,可以了解下

7、我遇到的一些问题: 该软件,感觉并不成熟,
       1、该软件是可以在linux 下运行的,我使用的是Rea Hat 7
linux 好像不需要安装ibusbK 驱动,python  linux一般都有吧,也不用装了,但是版本支持问题,该装还得装
       2、在Windows 上用,目前我测试到的问题是:
如果使用 命令行运行(直接运行), 并执行写入操作,软件不能稳定运行,然后就蹦了,异常了;如果用DEBUG 模式运行,目前没发现问题

       DEBUG 模式运行:就不会蹦  和直接运行比较      速度上有明显区别 DEBUG 模式 要慢很多, 直接运行要快但是 软件会挂掉(linux下速度和DEBUG 差不多,不会挂) 原因未知 python 可在挂掉的地方 加上 try 能够不挂

8Nand的一些特性 会和 软件使用 有关系:
比如:写数据前,要先擦除Flash(该软件设计上,有坏块检测)
   具体的:自行研究
9、所有 根版本有关的:不绝对 依赖于文件夹中提供的版本
10、支持原作者、支持开源:请勿用于商业用途,否则一切后果于本人无关








评分

参与人数 1专家 +1 银子 +10 收起 理由
liyf + 1 + 10 赞一个!

查看全部评分

发表于 2016-9-21 17:15:00 | 显示全部楼层
折腾的过程就是学习
发表于 2016-9-22 18:55:47 | 显示全部楼层
厉害,支持支持。。
发表于 2016-9-24 14:48:47 | 显示全部楼层
支持支持 值得学习
发表于 2016-9-27 16:20:43 | 显示全部楼层
学习学习学习
发表于 2016-9-29 00:58:40 | 显示全部楼层
看不懂纯支持了
发表于 2016-10-25 09:48:27 | 显示全部楼层
非常感谢楼主的分享!谢谢!
发表于 2017-8-21 14:21:11 | 显示全部楼层
试了好多次,都没成功,请教楼主了。
直接运行dumpflash.py -i,结果是:
PS C:\Python27\DumpFlash> .\DumpFlash.py -i
Traceback (most recent call last):
  File "C:\Python27\DumpFlash\DumpFlash.py", line 65, in <module>
    flash_util=FlashUtil(options.filename,options.page_size, options.oob_size, options.pages_per_block,options.slow)
  File "C:\Python27\DumpFlash\FlashUtil.py", line 18, in __init__
    self.io = NandIO(slow)
  File "C:\Python27\DumpFlash\FlashDevice.py", line 160, in __init__
    self.WaitReady()
  File "C:\Python27\DumpFlash\FlashDevice.py", line 173, in WaitReady
    if data[0]&2==0x2:
IndexError: array index out of range
发表于 2017-8-21 14:23:35 | 显示全部楼层
运行python dumpflash.py -i 结果是evice not ready, aborting...

完全照着你的教程做的
发表于 2017-10-18 23:59:07 | 显示全部楼层
折腾的过程就是学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-3-29 14:40 , 耗时 0.098858 秒, 23 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表