首页
社区
课程
招聘
[原创]Windows CE 必备开发工具总结(献给想进入Windows CE底层研发的朋友们)
2008-12-28 22:41 33638

[原创]Windows CE 必备开发工具总结(献给想进入Windows CE底层研发的朋友们)

2008-12-28 22:41
33638
开发工具:

VS2005或VS2008都可以。两者都包含“智能设备”开发功能。

ActiveSync:这是PC和智能设备通信的工具。可以传送文件同步数据等。

Windows Mobile 6 Professional SDK Refresh:安装了这个就会有WM6的模拟器使用。

Windows Mobile 6.1 Professional Images (USA):安装了这个可以使用目前最新的WM6.1的模拟器。

Visual Studio Remote Tools:

这组工具安装了VS2005或2008后就会有。里面的工具可以和模拟器连接查看文件、注册表、进程线程情况等非常好用!

Cellular Emulator:

安装了SDK之后会有这个工具。有了这个工具你可以在PC上给你的模拟器打电话、发短信、进行GPRS连接等。我个人很喜欢这个工具。因为当初写“索法”概念病毒时有秘密打电话、发短信的功能。有了这个工具可以方便的模拟,省了很多银子。

程序分析工具:

WinHex:分析二进制文件很方便。

PE Explorer:查看PE文件内部信息十分方便。

IDA:破解程序必备工具。

文档资料:

MSDN:如果你是做Windows平台开发的那么我觉得这是必须安装的东西了。国内外Windows CE的书都还比较少,而且MSDN确实是非常权威的资料!

看雪学院出的:
《加密与解密》、《软件加密技术内幕》等等。我个人强力推荐!我看这几套书已经好今年了,每隔一段时间看都会有新的收获和启发!
我认为看雪出的书都有一定深度,很难一次看懂,这没有关系。只要每次有一点点收获都行。到开发中去积累,隔上3-4个月再看,就会有新的收获!

暴雪说:暴雪出品,必为精品!从我个人的体会看:看雪出品,也为精品!

编程语言:

.NET:可以选择VB.NET或者C#等。不过我个人和在公司工作的体验来看,从这个路线走比较容易,但是很难学深入。

C/C++:Windows CE平台可以使用C/C++调用API、COM或者MFC类库来写程序。这是微软很聪明的地方,桌面平台的开发人员很容易转入Windows CE平台。我个人比较推荐使用C/C++调用API或COM开发。这样学的更底层一些,有了API开发的经验,和扎实的C++功底,学MFC比较容易,向下进入汇编层也不难!

ARM汇编:如果你的目标平台是ARM而不是MIPS,SH或PPC,目前可以使用的工具是我搞得Xarm。你可以使用ARM汇编调用API和COM编程。虽然开发效率可能比前面的都低,但是可以学的很底层,对ARM CPU和Windows CE 底层的了解达到比前面的语言更深的水平。ARM汇编在Windows CE/ARM平台的作用和X86在Windows桌面平台的作用相当。如果想研究复杂的多态病毒,或者在PE文件一级做工作就需要这个工具了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞7
打赏
分享
最新回复 (38)
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xxoo 2008-12-29 03:45
2
0
楼主.能否介绍如何破解Windows CE程序.国内几乎没这方面的资料...我只用过ida静态调试过.如何用evc动态调试还不知道如何进行....
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-29 08:36
3
0
关于“如何破解Windows CE程序”这项任务内容很宽泛对于不同的要求有不同的解决方法。

有的要求是:想得到软件的资源如对话框、菜单、图标等。
通过PE Explorer可以实现。

有的要求是:想知道软件的实现方法,用了哪些类库或API等。
通过PE Explorer可以实现一部分。WINCE中最核心的DLL,Coredll.dll中的API就不能用这个方法得到因为其中的API不是靠函数名引出的。而且一些出现的很早的DLL中的API都存在这个问题。需要专门的方法解决,后面找时间给大家介绍我的办法一起交流。

正因为国内做这方面工作的少所以资料少。反过来说开发者也没有做什么防御工作,比较容易对付! 大家可以开动脑筋多想些办法,并到论坛来交流,一定会有很多收获。

动态调试我前面做过一些,主要是用VS2008做的,EVC应该也可以。目前我大部分资料都不在公司这边,只有逐步总结发布到论坛上。
雪    币: 5
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
君王传世 2008-12-29 09:10
4
0
恩``支持手机平台的软件开发和逆向
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-29 15:28
5
0
我个人认为要做手机平台的逆向工程,特别是以ARM为目标平台需要有ARM汇编的扎实基础。
雪    币: 155
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
greatbob 2008-12-29 16:28
6
0
LZ是电子科大的么。。。
      请问LZ有没有什么ARM汇编的学习资料呢,我只有一本指令手册,这方面资料太少了。编程思路和X86汇编相差大么。
    没有ARM开发板不知道能不能在普通PDA上学习,处理器是intel pxa255.或者有什么模拟器
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
Sysnap 14 2008-12-29 17:28
7
0
WIN CE明年才打算学....先顶一下
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-29 17:32
8
0
我在电子科大待了10年了,现在虽然主要在公司工作,但还没有脱离电子科大。

学习资料比较多。有很多介绍ARM处理器的教程。

如果使用ARM汇编开发和X86差距比较大。以为ARM是RISC结构的处理器,而X86是CISC结构的。会有很多不同。不过感觉有X86的基础,ARM还简单些。我就是从X86,MASM32转型过来的。
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-29 17:46
9
0
没有开发板能否学习要看你的目的。

如果你攻的是专用的嵌入式平台。比如做工业控制、机器人等方向需要开发板才好。

如果你的主攻方向是手机、PDA、导航仪、机顶盒这样的通用的嵌入式平台,不用开发板也可以。甚至只使用模拟器都可以。因为在ARM汇编熟悉之后,你的主要任务是积累API函数了。此时用模拟器完全可以了。

把上面题的工具找到,安装之后就可以得到你想要的模拟器了。呵呵。

虽然现在学有一定难度很多东西都要自己摸索,但是职业前景,发展潜力巨大!
祝你学习顺利!
雪    币: 155
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
greatbob 2008-12-30 14:32
10
0
恩,谢谢!!!!!!!!!!!!!
因为感觉好像嵌入式平台都用LINUX,大家提得多,所以主要是学的它。。其实微软的东西的确好使,可能很多人关心的成本吧

以前高中班上的牛人都在电子科大,所以我也经常去那里,呵呵
雪    币: 224
活跃值: (10)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
救世猪 1 2008-12-30 17:46
11
0
恩,支持楼主出几篇ida逆向的教程

我到现在还不知道怎么用ida来动态的调试ppc程序

如果动态调试的话,ida会把exe复制到哪个目录进行运行???
雪    币: 7640
活跃值: (148)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
guobing 2008-12-30 19:14
12
0
想问一下,lz大哥,能讲一下j2me与嵌入式开发有多大的关系吗?我记得eclipse 也可以调试软件。
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-30 19:31
13
0
嵌入式开发的语言和工具很多。J2ME是使用Java语言的微型版,现在支持J2ME的平台还是比较多的。
雪    币: 251
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
newjueqi 7 2008-12-30 19:39
14
0
难道LZ是科大的博士?
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-30 19:45
15
0
呵呵。是的。从本科一直读上来。

不过这些都是空头衔,论坛高手非常多,还有很多需要向大家学习的!
希望大家多多帮助,有机会多交流!
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-30 19:46
16
0
我研究CE/ARM有60多周时间(1年2个月),还处于初级阶段。

还有很多需要大家指教的!大家多交流,都会有很大提高!
雪    币: 251
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
newjueqi 7 2008-12-30 20:04
17
0
很难得的实战型博士,我听大学老师说他在读博期间都是整天在搞论文
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-30 20:06
18
0
呵呵。确实是这样的,前面也在搞论文。感觉现在论文是越来越水,越来越脱离实际了。
我喜欢编程和底层研究所以,主要搞开发。

我找实习或工作也是靠研发而和博士没有关系。呵呵。
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kaison 2008-12-30 20:29
19
0
问一下,我现在再用wm5.0做开发,可以不以再装一个6.0
两个能同时存在吗?
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
foxabu 13 2008-12-30 22:46
20
0
10年。。。寒窗苦吗?
雪    币: 208
活跃值: (371)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
moodsky 8 2008-12-31 11:19
21
0
Windows Mobile 6 Professional SDK
http://download.microsoft.com/download/f/2/3/f232f773-7edc-4300-be07-d3b76a5b3a91/Windows%20Mobile%206%20Professional%20SDK.msi

Windows Mobile 6 Professional SDK Refresh.msi
http://www.microsoft.com/downloads/info.aspx?na=46&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=06111a3a-a651-4745-88ef-3d48091a390b&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2ff%2f2%2f3%2ff232f773-7edc-4300-be07-d3b76a5b3a91%2fWindows+Mobile+6+Professional+SDK+Refresh.msi

Windows Mobile 6 Professional Images (CHS).msi
http://download.microsoft.com/download/0/1/2/012bfbba-9fe5-4e68-86c9-d434446d97dd/0804/Windows%20Mobile%206%20Professional%20Images%20(CHS).msi

Windows Mobile 6 Standard SDK Refresh.msi
http://download.microsoft.com/download/f/2/3/f232f773-7edc-4300-be07-d3b76a5b3a91/Windows%20Mobile%206%20Standard%20SDK%20Refresh.msi

Windows Mobile 6 Standard Images (CHS).msi
http://download.microsoft.com/download/0/1/2/012bfbba-9fe5-4e68-86c9-d434446d97dd/0804/Windows%20Mobile%206%20Standard%20Images%20(CHS).msi

Windows Mobile 5.0 Emulator Images for Pocket PC - CHS.msi
http://www.microsoft.com/downloads/info.aspx?na=208&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=eec33ae3-c129-4c25-abaa-18e8e842178f&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fb%2f7%2f5%2fb7566ed3-6940-4541-8cf2-3e0fc1fafbc4%2fWindows+Mobile+5.0+Emulator+Images+for+Pocket+PC+-+CHS.msi

Windows Mobile 5.0 SDK for Pocket PC
http://download.microsoft.com/download/d/2/e/d2e43e33-53b0-45b6-ba70-fe6fdc4aa5bb/Windows%20Mobile%205.0%20Pocket%20PC%20SDK.msi

ACTIVE SYNC 4.5-最新微软同步软件4.5简体版 ,msi,7.53MB
http://p2s.newhua.com/down/MicrosoftActiveSync_setup_cn.msi

VS80sp1-KB926604-X86-CHS.exe
http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=zh-cn&SrcCategoryId=&SrcFamilyId=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f8%2f0%2f7%2f8071514d-9370-45c3-8af1-4ff09a70e59d%2fVS80sp1-KB926604-X86-CHS.exe
雪    币: 299
活跃值: (25)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
zjjmjtoot 4 2008-12-31 11:43
22
0
那得看有没有地方XX了。
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-31 12:13
23
0
你是说在VS2005/2008中开发使用WM5模拟器?

如果是这种情况就没关系。因为现在WM6.0已经出了两年多了所以还是转到6.0比较好。
而且6.0SDK中提供的一些很有用的仿真工具5.0中无法使用。

推荐转到6.0/6.1比较好。
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2008-12-31 12:14
24
0
没什么苦的感觉,积蓄实力,让自己更有竞争力。

这两年研究WINCE还主要在家一个人做的。呵呵。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
debugcn 2008-12-31 12:15
25
0
支持一下啊!好东西
游客
登录 | 注册 方可回帖
返回