WinCE6.0中Romimage.exe的BUG

简介: WinCE6.0的Romimage.exe依然存在BUG,跟WinCE5.0一样。当新建的工程和PB的安装目录不在同一分区时就不能正确生成nb0文件。本以为WinCE6.0已经解决这个问题,不想饱汉不知饿汉饥,他们似乎没有发现这个BUG,也就不可能修复了。

     WinCE6.0Romimage.exe依然存在BUG,跟WinCE5.0一样。当新建的工程和PB的安装目录不在同一分区时就不能正确生成nb0文件。本以为WinCE6.0已经解决这个问题,不想饱汉不知饿汉饥,他们似乎没有发现这个BUG,也就不可能修复了。

       好在WinCE6.0开源,在Private的目录下找到了对应的源代码目录,打算修改代码,重新编译一个romimage.exe。看了半天,没找到什么线索,貌似少一些文件。只能另辟蹊径了。

       先找蛛丝马迹。在build.log找到一点线索,如下图所示,“failed moving temp file”!不能生成nb0文件,问题就在这。

           

     利用IDA反汇编romimage.exe。顺藤摸瓜,找到“failed moving temp file”,如下图所示。可以看到,是在调用MoveFileExW()时出错的。

           

       查了一下MoveFileExW()的用法,结合BUG的现象,不难发现,原来是参数dwFlags使用不正确。需要设置MOVEFILE_COPY_ALLOWED位。MOVEFILE_COPY_ALLOWED的功能如下:

     If the file is to be moved to a different volume, the function simulates the move by using the CopyFile and DeleteFile functions.

       显然,原来的程序中只设置了MOVEFILE_REPLACE_EXISTING位,为了支持不同分区的文件拷贝,需要增加MOVEFILE_COPY_ALLOWED的设置。

               

     修改方法:将push 1中的1改为3即可。      

                

     改完之后,重新编译NBOOTNBOOT.nb0果然出来了!

             

    修改后的romimage.exe的下载地址:http://files.cnblogs.com/we-hjb/romimage.rar 。romimage.exe所在的目录为C:\WINCE600\PUBLIC\COMMON\OAK\BIN\I386。当然,如果不改romimage.exe,也可用cvrtbin得到nb0文件,在对应的BIB文件中添加相关代码即可。最坏的解决办法是将PB工程放在C盘,但前提是C盘足够大。

目录
相关文章
|
机器学习/深度学习 人工智能 API
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:1~5
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:1~5
455 0
|
小程序 JavaScript 内存技术
用uni-app开发一个名为汉兜的游戏
虽然我是带队,但我希望尽可能让队员们自己去完成游戏的代码部分,我负责出出主意,提供一些美术,玩法创意上的支持。其实一开始大家头脑风暴组队领游戏创意的时候,汉兜这个游戏一直没人领,不得不说,不知道叫啥名队的小伙伴执行力很强,连给游戏起名字都很快,一点都不拖泥带水。
2195 0
用uni-app开发一个名为汉兜的游戏
|
Java Spring
@Scheduled 多个定时任务同时执行
这篇文章主要介绍了springBoot @Scheduled实现多个任务同时开始执行,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
1110 0
|
安全 网络协议 网络安全
Python 渗透测试:黑客内外网信息收集.(帮助 得到信息攻击计算机内外网.)
Python 渗透测试:黑客内外网信息收集.(帮助 得到信息攻击计算机内外网.)
153 0
|
数据可视化 搜索推荐 Devops
从DevOps实践者的角度谈谈云效Flow
一名DevOps实践者参与了云效流水线Flow的评测,认为Flow对新手友好,具有可视化编排功能。但在上手过程中,了解相关术语和流畅编排设计可能构成一些挑战。Flow的功能基本满足需求,但开放性有待提高,建议开放插件开发以丰富生态。YAML编排作为趋势,Flow在易用性和功能完善上仍有进步空间,如语法检查、智能提示等功能。此外,产品模块间的逻辑性和交互清晰度也需改进。总结来说,Flow功能齐全,适合中小企业,但在用户体验和生态建设上有改进余地。
533 3
解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
|
安全 JavaScript 前端开发
第十六届山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题—B模块安全事件响应/网络安全数据取证/应用安全
该内容描述了一次网络安全演练,包括七个部分:Linux渗透提权、内存取证、页面信息发现、数字取证调查、网络安全应急响应、Python代码分析和逆向分析。参与者需在模拟环境中收集Flag值,涉及任务如获取服务器信息、提权、解析内存片段、分析网络数据包、处理代码漏洞、解码逆向操作等。每个部分都列出了若干具体任务,要求提取或生成特定信息作为Flag提交。
377 0
|
JSON 前端开发 JavaScript
QML/Qt Quick anchors.fill 的使用(一)
QML/Qt Quick anchors.fill 的使用
301 0
|
存储 SQL 人工智能
如何解决IoT数据的存储计算的实践案例
物联网数据往往来自于智能设备或者传感器设备,这些设备只要运行中,将持续不断产生设备数据。同时这些数据的使用价值根据场景千差万别,其中时效性对不同场景有很大影响,如何解决好存储和计算是物联网数字化场景的关键问题。
|
存储 Java 大数据
Python 2 和 Python 3 主要区别有哪些(一)?
Python 2 和 Python 3 主要区别有哪些(一)?
334 0

热门文章

最新文章