另外一个**思路

[复制链接]
 楼主| cchenbin 发表于 2007-10-7 17:25 | 显示全部楼层 |阅读模式
我的jlink破解失败经历&nbsp;<br /><br />邮购了一个d版的jlink,尝试在升级的.dll中加入一段代码,用于读出0x00100000&nbsp;flash的内容,失败了。求助卖方,需要收费才给我重写,算了,不玩了,可惜我的1k多大洋。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;希望下面的内容对想破解的人有帮助,哪位要是搞定了,帮我烧一下flash中内容,我出邮费,不甚感激。联系wh.chxh#gmail.com&nbsp;<br /><br />这个jlink的版本是v5.2,硬件是一片AT91SAM7S64&nbsp;加一片LVC16245。S64片内Flash加密过,不可以直接读出。&nbsp;<br /><br />下面是我对该设备的了解,有些错误,不然的话,我的破解就应该成功。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;基本思路就是所谓的“特洛伊木马”,升级部分加入一下段串口打印代码,将flash内容打印出来。&nbsp;<br />当jlink连上pc时,执行Jlink.exe,会自动检查jinkarm.dll中部分firmware和硬件中的firmware版本,如果dll中的版本新,就会升级硬件中的部分。&nbsp;<br />比较的依据是字符串“J-Link&nbsp;compiled&nbsp;Jun&nbsp;14&nbsp;2007&nbsp;14:36:33&nbsp;ARM&nbsp;Rev.5”中的年月日,如果dll中的该串年月日大于硬件中的,就会自动升级。如将”Jun&nbsp;14”改为”Jun&nbsp;15”,&nbsp;也会在次升级写入。&nbsp;<br />下面看dll中的固件程序究竟是什么样的,dll是用upx压缩了的,解压就可以了。下面是提取出来的升级部分内容,长度为0x5400。&nbsp;<br />Offset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;1&nbsp;&nbsp;2&nbsp;&nbsp;3&nbsp;&nbsp;4&nbsp;&nbsp;5&nbsp;&nbsp;6&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;9&nbsp;&nbsp;A&nbsp;&nbsp;B&nbsp;&nbsp;C&nbsp;&nbsp;D&nbsp;&nbsp;E&nbsp;&nbsp;F&nbsp;<br />00000000&nbsp;&nbsp;&nbsp;2E&nbsp;00&nbsp;00&nbsp;EA&nbsp;14&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;&nbsp;14&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;14&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;&nbsp;&nbsp;...?馃?馃?馃?&nbsp;<br />00000010&nbsp;&nbsp;&nbsp;14&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;&nbsp;10&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;10&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;&nbsp;&nbsp;.馃????.馃?馃?&nbsp;<br />00000020&nbsp;&nbsp;&nbsp;04&nbsp;54&nbsp;10&nbsp;00&nbsp;08&nbsp;54&nbsp;10&nbsp;00&nbsp;&nbsp;0C&nbsp;54&nbsp;10&nbsp;00&nbsp;10&nbsp;54&nbsp;10&nbsp;00&nbsp;&nbsp;&nbsp;.T...T...T...T..&nbsp;<br />00000030&nbsp;&nbsp;&nbsp;F8&nbsp;38&nbsp;20&nbsp;00&nbsp;1C&nbsp;54&nbsp;10&nbsp;00&nbsp;&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;&nbsp;&nbsp;?&nbsp;..T..????????&nbsp;<br />00000040&nbsp;&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;................&nbsp;<br />00000050&nbsp;&nbsp;&nbsp;4A&nbsp;2D&nbsp;4C&nbsp;69&nbsp;6E&nbsp;6B&nbsp;20&nbsp;63&nbsp;&nbsp;6F&nbsp;6D&nbsp;70&nbsp;69&nbsp;6C&nbsp;65&nbsp;64&nbsp;20&nbsp;&nbsp;&nbsp;J-Link&nbsp;compiled&nbsp;&nbsp;<br />00000060&nbsp;&nbsp;&nbsp;4A&nbsp;75&nbsp;6E&nbsp;20&nbsp;31&nbsp;34&nbsp;20&nbsp;32&nbsp;&nbsp;30&nbsp;30&nbsp;37&nbsp;20&nbsp;31&nbsp;34&nbsp;3A&nbsp;33&nbsp;&nbsp;&nbsp;Jun&nbsp;14&nbsp;2007&nbsp;14:3&nbsp;<br />00000070&nbsp;&nbsp;&nbsp;36&nbsp;3A&nbsp;33&nbsp;33&nbsp;20&nbsp;41&nbsp;52&nbsp;4D&nbsp;&nbsp;20&nbsp;52&nbsp;65&nbsp;76&nbsp;2E&nbsp;35&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;6:33&nbsp;ARM&nbsp;Rev.5..&nbsp;<br />00000080&nbsp;&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;................&nbsp;<br />00000090&nbsp;&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;................&nbsp;<br />000000A0&nbsp;&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;................&nbsp;<br />000000B0&nbsp;&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;................&nbsp;<br />000000C0&nbsp;&nbsp;&nbsp;00&nbsp;00&nbsp;0F&nbsp;E1&nbsp;1F&nbsp;00&nbsp;C0&nbsp;E3&nbsp;&nbsp;12&nbsp;00&nbsp;80&nbsp;E3&nbsp;00&nbsp;F0&nbsp;21&nbsp;E1&nbsp;&nbsp;&nbsp;...?.楞..????&nbsp;<br />000000D0&nbsp;&nbsp;&nbsp;14&nbsp;D0&nbsp;9F&nbsp;E5&nbsp;1F&nbsp;00&nbsp;C0&nbsp;E3&nbsp;&nbsp;1F&nbsp;00&nbsp;80&nbsp;E3&nbsp;00&nbsp;F0&nbsp;21&nbsp;E1&nbsp;&nbsp;&nbsp;.袩?.楞..????&nbsp;<br />000000E0&nbsp;&nbsp;&nbsp;08&nbsp;D0&nbsp;9F&nbsp;E5&nbsp;08&nbsp;00&nbsp;9F&nbsp;E5&nbsp;&nbsp;10&nbsp;FF&nbsp;2F&nbsp;E1&nbsp;98&nbsp;3E&nbsp;20&nbsp;00&nbsp;&nbsp;&nbsp;.袩?.熷.?/針&gt&nbsp;.&nbsp;<br />000000F0&nbsp;&nbsp;&nbsp;58&nbsp;3E&nbsp;20&nbsp;00&nbsp;00&nbsp;50&nbsp;10&nbsp;00&nbsp;&nbsp;70&nbsp;B5&nbsp;0C&nbsp;4C&nbsp;0C&nbsp;4E&nbsp;82&nbsp;B0&nbsp;&nbsp;&nbsp;X&gt&nbsp;..P..p?L.N偘&nbsp;<br /><br />用ida反汇编:&nbsp;<br />ROM:00100000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AREA&nbsp;ROM,&nbsp;CODE,&nbsp;READWRITE,&nbsp;ALIGN=0&nbsp;<br />ROM:00100000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;ORG&nbsp;0x100000&nbsp;<br />ROM:00100000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CODE32&nbsp;<br />ROM:00100000&nbsp;<br />ROM:00100000&nbsp;loc_100000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:001050FC&nbsp;o&nbsp;<br />ROM:00100000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loc_1000C0&nbsp;<br />ROM:00100004&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:00100004&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;=0x105404&nbsp;<br />ROM:00100008&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:00100008&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;=0x105408&nbsp;<br />ROM:0010000C&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:0010000C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;=0x10540C&nbsp;<br />ROM:00100010&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:00100010&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;=0x105410&nbsp;<br />ROM:00100010&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:00100014&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0xFFFFFFFF&nbsp;<br />ROM:00100018&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:00100018&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;=0x2038F8&nbsp;<br />ROM:0010001C&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:0010001C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;=0x10541C&nbsp;<br />ROM:0010001C&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:00100020&nbsp;dword_100020&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0x105404&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:00100004&nbsp;r&nbsp;<br />ROM:00100024&nbsp;dword_100024&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0x105408&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:00100008&nbsp;r&nbsp;<br />ROM:00100028&nbsp;dword_100028&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0x10540C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:0010000C&nbsp;r&nbsp;<br />ROM:0010002C&nbsp;dword_10002C&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0x105410&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:00100010&nbsp;r&nbsp;<br />ROM:00100030&nbsp;dword_100030&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0x2038F8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:00100018&nbsp;r&nbsp;<br />ROM:00100034&nbsp;dword_100034&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0x10541C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:0010001C&nbsp;r&nbsp;<br />ROM:00100038&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xFF&nbsp;<br />ROM:00100039&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xFF&nbsp;<br />ROM:0010003A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xFF&nbsp;<br />ROM:0010003B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xFF&nbsp;<br />ROM:0010003C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xFF&nbsp;<br />ROM:0010003D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xFF&nbsp;<br />ROM:0010003E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xFF&nbsp;<br />ROM:0010003F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xFF&nbsp;<br />ROM:00100040&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100041&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100042&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100043&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100044&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100045&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100046&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100047&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100048&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100049&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010004A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010004B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010004C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010004D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010004E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010004F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100050&nbsp;aJLinkCompiledJ&nbsp;DCB&nbsp;&quot;J-Link&nbsp;compiled&nbsp;Jun&nbsp;14&nbsp;2007&nbsp;14:36:33&nbsp;ARM&nbsp;Rev.5&quot;,0&nbsp;<br />ROM:0010007F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100080&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100081&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100083&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100084&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100085&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100086&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100087&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100088&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100089&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010008A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010008B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010008C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010008D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010008E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010008F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100090&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100091&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100092&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100093&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100094&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100095&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100096&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100097&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100098&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:00100099&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010009A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010009B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010009C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010009D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010009E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:0010009F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000A9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000AA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000AC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000AD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000AE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000AF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000B9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000BB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000BC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000BD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000BE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000BF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;<br />ROM:001000C0&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:001000C0&nbsp;<br />ROM:001000C0&nbsp;loc_1000C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;ROM:loc_100000&nbsp;j&nbsp;<br />ROM:001000C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MRS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;CPSR&nbsp;<br />ROM:001000C4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#0x1F&nbsp;<br />ROM:001000C8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#0x12&nbsp;<br />ROM:001000CC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;R0&nbsp;<br />ROM:001000D0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;=0x203E98&nbsp;<br />ROM:001000D4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#0x1F&nbsp;<br />ROM:001000D8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#0x1F&nbsp;<br />ROM:001000DC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;R0&nbsp;<br />ROM:001000E0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;=0x203E58&nbsp;<br />ROM:001000E4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=loc_105534&nbsp;<br />ROM:001000E8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0&nbsp;<br />ROM:001000E8&nbsp;;&nbsp;---------------------------------------------------------------------------&nbsp;<br />ROM:001000EC&nbsp;dword_1000EC&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0x203E98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:001000D0&nbsp;r&nbsp;<br />ROM:001000F0&nbsp;dword_1000F0&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;0x203E58&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:001000E0&nbsp;r&nbsp;<br />ROM:001000F4&nbsp;off_1000F4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;loc_105534&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ROM:001000E4&nbsp;r&nbsp;<br />ROM:001000F8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0x70&nbsp;;&nbsp;p&nbsp;<br />ROM:001000F9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0xB5&nbsp;;&nbsp;?&nbsp;<br />ROM:001000FA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;0xC&nbsp;<br />ROM:001000FB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;0x4C&nbsp;;&nbsp;L&nbsp;<br />ROM:001000FC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCB&nbsp;&nbsp;0xC&nbsp;<br /><br />看ROM:001000E4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=loc_105534,BX&nbsp;R0这里就跳转到AT91Sam7s64&nbsp;bootloader部分了。后面的代码不具有可读性,应该是加密了的。&nbsp;<br />我就修改LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=loc_105534&nbsp;为LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=loc_105000,&nbsp;<br />在loc_105000加入一小段设置串口的代码并将0x1000000,64k内容用串口传出。结果就挂了!!!&nbsp;<br />我想可能是bootloader程序将升级部分读入后,将后面的不可读部分还原,我增加的部分代码也变了,所以没有将64k&nbsp;flash内容通过串口传出来。&nbsp;<br />如果再尝试的话,我觉得应该将串口传送的代码部分增加到ROM:0010007F处,或再上面一点,这里可能不会被bootloader改写。&nbsp;<br />嵌入的代码,加入到dll中时,要适度修改。如果要放到dll中的代码前面,还要精简一下。&nbsp;<br />#include&nbsp;&ltAT91SAM7S64.H&gt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;AT91SAM7S64&nbsp;definitions&nbsp;*/&nbsp;<br /><br />#define&nbsp;EXT_OC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;18432000&nbsp;&nbsp;&nbsp;//&nbsp;Exetrnal&nbsp;ocilator&nbsp;MAINCK&nbsp;<br />#define&nbsp;MCK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;48054857&nbsp;&nbsp;&nbsp;//&nbsp;MCK&nbsp;(PLLRC&nbsp;div&nbsp;by&nbsp;2)&nbsp;<br /><br />#define&nbsp;BR&nbsp;&nbsp;&nbsp;&nbsp;115200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Baud&nbsp;Rate&nbsp;*/&nbsp;<br /><br />#define&nbsp;BRD&nbsp;&nbsp;(MCK/16/BR)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Baud&nbsp;Rate&nbsp;Divisor&nbsp;*/&nbsp;<br /><br />int&nbsp;sendchar&nbsp;(int&nbsp;ch);&nbsp;<br />void&nbsp;AT91F_LowLevelInit(void);&nbsp;<br />void&nbsp;init_serial&nbsp;(void);&nbsp;<br /><br />int&nbsp;main(void)&nbsp;<br />{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*p;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91F_LowLevelInit();&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*AT91C_PMC_PCER&nbsp;=&nbsp;(1&nbsp;&lt&lt&nbsp;AT91C_ID_PIOA)&nbsp;|&nbsp;&nbsp;/*&nbsp;Enable&nbsp;Clock&nbsp;for&nbsp;PIO&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;AT91C_ID_US1);&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Enable&nbsp;Clock&nbsp;for&nbsp;USART0&nbsp;*/&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init_serial();&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;(char*)0x100000;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt&nbsp;65536;&nbsp;i++)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendchar(*p);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p++;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(1);&nbsp;<br />}&nbsp;<br />void&nbsp;AT91F_LowLevelInit(&nbsp;void)&nbsp;<br />{&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91PS_PMC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPMC&nbsp;=&nbsp;AT91C_BASE_PMC;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//*&nbsp;Set&nbsp;Flash&nbsp;Waite&nbsp;sate&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;Single&nbsp;Cycle&nbsp;Access&nbsp;at&nbsp;Up&nbsp;to&nbsp;30&nbsp;MHz,&nbsp;or&nbsp;40&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_BASE_MC-&gtMC_FMR&nbsp;=&nbsp;AT91C_MC_FWS_1FWS&nbsp;;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//*&nbsp;Watchdog&nbsp;Disable&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_BASE_WDTC-&gtWDTC_WDMR=&nbsp;AT91C_WDTC_WDDIS;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//*&nbsp;Set&nbsp;MCK&nbsp;at&nbsp;48&nbsp;054&nbsp;850&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;1&nbsp;Enabling&nbsp;the&nbsp;Main&nbsp;Oscillator:&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;SCK&nbsp;=&nbsp;1/32768&nbsp;=&nbsp;30.51&nbsp;uSecond&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Start&nbsp;up&nbsp;time&nbsp;=&nbsp;8&nbsp;*&nbsp;6&nbsp;/&nbsp;SCK&nbsp;=&nbsp;56&nbsp;*&nbsp;30.51&nbsp;=&nbsp;1,46484375&nbsp;ms&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPMC-&gtPMC_MOR&nbsp;=&nbsp;((&nbsp;AT91C_CKGR_OSCOUNT&nbsp;&&nbsp;(0x06&nbsp;&lt&lt8)&nbsp;|&nbsp;AT91C_CKGR_MOSCEN&nbsp;));&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Wait&nbsp;the&nbsp;startup&nbsp;time&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(!(pPMC-&gtPMC_SR&nbsp;&&nbsp;AT91C_PMC_MOSCS));&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;2&nbsp;Checking&nbsp;the&nbsp;Main&nbsp;Oscillator&nbsp;Frequency&nbsp;(Optional)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;3&nbsp;Setting&nbsp;PLL&nbsp;and&nbsp;divider:&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;-&nbsp;div&nbsp;by&nbsp;14&nbsp;Fin&nbsp;=&nbsp;1.3165&nbsp;=(18,432&nbsp;/&nbsp;14)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;-&nbsp;Mul&nbsp;72+1:&nbsp;Fout&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;96.1097&nbsp;=(3,6864&nbsp;*73)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;for&nbsp;96&nbsp;MHz&nbsp;the&nbsp;erroe&nbsp;is&nbsp;0.11%&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;out&nbsp;NOT&nbsp;USED&nbsp;=&nbsp;0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PLLCOUNT&nbsp;pll&nbsp;startup&nbsp;time&nbsp;estimate&nbsp;at&nbsp;:&nbsp;0.844&nbsp;ms&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PLLCOUNT&nbsp;28&nbsp;=&nbsp;0.000844&nbsp;/(1/32768)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPMC-&gtPMC_PLLR&nbsp;=&nbsp;((AT91C_CKGR_DIV&nbsp;&&nbsp;14&nbsp;)&nbsp;|&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(AT91C_CKGR_PLLCOUNT&nbsp;&&nbsp;(28&lt&lt8))&nbsp;|&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(AT91C_CKGR_MUL&nbsp;&&nbsp;(72&lt&lt16)));&nbsp;<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Wait&nbsp;the&nbsp;startup&nbsp;time&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(!(pPMC-&gtPMC_SR&nbsp;&&nbsp;AT91C_PMC_LOCK));&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(!(pPMC-&gtPMC_SR&nbsp;&&nbsp;AT91C_PMC_MCKRDY));&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;4.&nbsp;Selection&nbsp;of&nbsp;Master&nbsp;Clock&nbsp;and&nbsp;Processor&nbsp;Clock&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;select&nbsp;the&nbsp;PLL&nbsp;clock&nbsp;divided&nbsp;by&nbsp;2&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPMC-&gtPMC_MCKR&nbsp;=&nbsp;&nbsp;AT91C_PMC_PRES_CLK_2&nbsp;;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(!(pPMC-&gtPMC_SR&nbsp;&&nbsp;AT91C_PMC_MCKRDY));&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPMC-&gtPMC_MCKR&nbsp;|=&nbsp;AT91C_PMC_CSS_PLL_CLK&nbsp;&nbsp;;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(!(pPMC-&gtPMC_SR&nbsp;&&nbsp;AT91C_PMC_MCKRDY));&nbsp;<br />}&nbsp;<br /><br /><br />void&nbsp;init_serial&nbsp;(void)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Initialize&nbsp;Serial&nbsp;Interface&nbsp;*/&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91S_USART&nbsp;*&nbsp;pUSART&nbsp;=&nbsp;AT91C_BASE_US1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Global&nbsp;Pointer&nbsp;to&nbsp;USART1&nbsp;*/&nbsp;<br />&nbsp;&nbsp;*AT91C_PIOA_PDR&nbsp;=&nbsp;//AT91C_PA5_RXD0&nbsp;|&nbsp;AT91C_PA6_TXD0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Enalbe&nbsp;TxD0&nbsp;Pin&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_PA21_RXD1&nbsp;|&nbsp;AT91C_PA22_TXD1;&nbsp;<br /><br />&nbsp;&nbsp;pUSART-&gtUS_CR&nbsp;=&nbsp;AT91C_US_RSTRX&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Reset&nbsp;Receiver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_US_RSTTX&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Reset&nbsp;Transmitter&nbsp;&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_US_RXDIS&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Receiver&nbsp;Disable&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_US_TXDIS&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Transmitter&nbsp;Disable&nbsp;*/&nbsp;<br /><br /><br />&nbsp;&nbsp;pUSART-&gtUS_MR&nbsp;=&nbsp;AT91C_US_USMODE_NORMAL&nbsp;|&nbsp;&nbsp;/*&nbsp;Normal&nbsp;Mode&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_US_CLKS_CLOCK&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;/*&nbsp;Clock&nbsp;=&nbsp;MCK&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_US_CHRL_8_BITS&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;/*&nbsp;8-bit&nbsp;Data&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_US_PAR_NONE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;/*&nbsp;No&nbsp;Parity&nbsp;&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_US_NBSTOP_1_BIT;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;1&nbsp;Stop&nbsp;Bit&nbsp;&nbsp;*/&nbsp;<br /><br />&nbsp;&nbsp;pUSART-&gtUS_BRGR&nbsp;=&nbsp;BRD;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Baud&nbsp;Rate&nbsp;Divisor&nbsp;*/&nbsp;<br /><br />&nbsp;&nbsp;pUSART-&gtUS_CR&nbsp;=&nbsp;AT91C_US_RXEN&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Receiver&nbsp;Enable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91C_US_TXEN;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Transmitter&nbsp;Enable&nbsp;&nbsp;*/&nbsp;<br />}&nbsp;<br /><br />int&nbsp;sendchar&nbsp;(int&nbsp;ch)&nbsp;&nbsp;&nbsp;<br />{&nbsp;<br />&nbsp;&nbsp;/*&nbsp;Write&nbsp;character&nbsp;to&nbsp;Serial&nbsp;Port&nbsp;*/&nbsp;<br />&nbsp;&nbsp;AT91S_USART&nbsp;*&nbsp;pUSART&nbsp;=&nbsp;AT91C_BASE_US1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Global&nbsp;Pointer&nbsp;to&nbsp;USART1&nbsp;*/&nbsp;<br />&nbsp;&nbsp;while&nbsp;(!(pUSART-&gtUS_CSR&nbsp;&&nbsp;AT91C_US_TXRDY));&nbsp;&nbsp;&nbsp;/*&nbsp;Wait&nbsp;for&nbsp;Empty&nbsp;Tx&nbsp;Buffer&nbsp;*/&nbsp;<br />&nbsp;&nbsp;return&nbsp;(pUSART-&gtUS_THR&nbsp;=&nbsp;ch);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Transmit&nbsp;Character&nbsp;*/&nbsp;<br />}&nbsp;<br /><br />Pc&nbsp;License部分,看下面就可以了,很简单的&nbsp;<br /><br />.text:00413DF0&nbsp;sub_413DF0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;sub_4144F0+6C&nbsp;p&nbsp;<br />.text:00413DF0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;sub_4146A0+105&nbsp;p&nbsp;<br />.text:00413DF0&nbsp;<br />.text:00413DF0&nbsp;arg_0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;&nbsp;14h&nbsp;<br />.text:00413DF0&nbsp;arg_4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;&nbsp;18h&nbsp;<br />.text:00413DF0&nbsp;arg_8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;&nbsp;1Ch&nbsp;<br />.text:00413DF0&nbsp;arg_C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;&nbsp;20h&nbsp;<br />.text:00413DF0&nbsp;<br />;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;License_RDI_V11_S12345678_Eyymmdd&nbsp;_Kabcdabcd&nbsp;<br />;&nbsp;&nbsp;&nbsp;&nbsp;arg_0&nbsp;=&nbsp;&quot;RDI&quot;,&nbsp;&nbsp;arg_4&nbsp;=&nbsp;11,&nbsp;arg_8&nbsp;=&nbsp;12345678,&nbsp;arg_c&nbsp;=&nbsp;yymmdd&nbsp;<br />.text:00413DF0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;ebx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;<br />.text:00413DF1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;ebp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;<br />.text:00413DF2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;esi&nbsp;<br />.text:00413DF3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;edi&nbsp;<br />.text:00413DF4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edi,&nbsp;[esp+arg_0]&nbsp;<br />.text:00413DF8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx,&nbsp;0FFFFFFFFh&nbsp;<br />.text:00413DFB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eax,&nbsp;eax&nbsp;<br />.text:00413DFD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edx,&nbsp;[esp+arg_8]&nbsp;<br />.text:00413E01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repne&nbsp;scasb&nbsp;<br />.text:00413E03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edi,&nbsp;[esp+arg_4]&nbsp;<br />.text:00413E07&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ebp,&nbsp;ebp&nbsp;<br />.text:00413E09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx&nbsp;<br />.text:00413E0B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx&nbsp;<br />.text:00413E0C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edi,&nbsp;edx&nbsp;<br />.text:00413E0E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ebx,&nbsp;ecx&nbsp;<br />.text:00413E10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx,&nbsp;[esp+arg_C]&nbsp;<br />.text:00413E14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edi,&nbsp;ecx&nbsp;<br />.text:00413E16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;esi,&nbsp;esi&nbsp;<br />.text:00413E18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test&nbsp;&nbsp;&nbsp;&nbsp;ebx,&nbsp;ebx&nbsp;<br />.text:00413E1A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;loc_413E42&nbsp;<br />.text:00413E1C&nbsp;<br />.text:00413E1C&nbsp;loc_413E1C:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;sub_413DF0+50&nbsp;j&nbsp;<br />.text:00413E1C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eax,&nbsp;[esp+arg_0]&nbsp;<br />.text:00413E20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx,&nbsp;esi&nbsp;<br />.text:00413E22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx,&nbsp;80000003h&nbsp;<br />.text:00413E28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movsx&nbsp;&nbsp;&nbsp;eax,&nbsp;byte&nbsp;ptr&nbsp;[esi+eax]&nbsp;<br />.text:00413E2C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;loc_413E33&nbsp;<br />.text:00413E2E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx&nbsp;<br />.text:00413E2F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx,&nbsp;0FFFFFFFCh&nbsp;<br />.text:00413E32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx&nbsp;<br />.text:00413E33&nbsp;<br />.text:00413E33&nbsp;loc_413E33:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;sub_413DF0+3C&nbsp;j&nbsp;<br />.text:00413E33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecx,&nbsp;3&nbsp;<br />.text:00413E36&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eax,&nbsp;cl&nbsp;<br />.text:00413E38&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cdq&nbsp;<br />.text:00413E39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edi,&nbsp;eax&nbsp;<br />.text:00413E3B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ebp,&nbsp;edx&nbsp;<br />.text:00413E3D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;esi&nbsp;<br />.text:00413E3E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;esi,&nbsp;ebx&nbsp;<br />.text:00413E40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;loc_413E1C&nbsp;<br />.text:00413E42&nbsp;<br />.text:00413E42&nbsp;loc_413E42:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;sub_413DF0+2A&nbsp;j&nbsp;<br />.text:00413E42&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eax,&nbsp;edi&nbsp;<br />.text:00413E44&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edi&nbsp;<br />.text:00413E45&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imul&nbsp;&nbsp;&nbsp;&nbsp;eax,&nbsp;36DF45Dh&nbsp;<br />.text:00413E4B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;esi&nbsp;<br />.text:00413E4C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ebp&nbsp;<br />.text:00413E4D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eax,&nbsp;14718ABh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;eax就是实际校验&nbsp;<br />.text:00413E52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ebx&nbsp;<br />.text:00413E53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;retn&nbsp;<br />.text:00413E53&nbsp;sub_413DF0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endp&nbsp;<br />&nbsp;<br /> &nbsp;&nbsp;<br />
 楼主| cchenbin 发表于 2007-10-7 17:26 | 显示全部楼层

1

好好研究JLINK的加密和自动升级机制,然后了解一下AT91SAM7S64这颗芯片,你会有所发现的。把上位机软件PATCH一下,把升级的东西换成你自己的东西,然后把内部的程序全部送出来。。。这就是“特洛伊木马”的思想。
微风 发表于 2007-10-8 09:08 | 显示全部楼层

楼主,这篇帖子原本就出自21IC

人家已经**成功了,我买了一个
 楼主| cchenbin 发表于 2007-10-8 11:36 | 显示全部楼层

最好是象ULINK一样,大家都有得用

  
 楼主| cchenbin 发表于 2007-10-8 19:06 | 显示全部楼层

今天试了一个程序

生成的二进制文件如图,覆盖dll中的相应内容后,升级成功。<br />但jlink并没有运行我的程序,而且jlink还可以正常使用。<br />在jlink&nbsp;command中看到的版本号已经升级。不知为什么我的程序<br />没有运行起来?这个程序我已经在开发板上试过,可以正常运行。<br /><br />????<br /><br /><br />明天再试,还好jlink没有坏掉.
 楼主| cchenbin 发表于 2007-10-9 19:50 | 显示全部楼层

今天忙了一天没空去试,呵呵,**后我会公布原理图和固

  
王紫豪 发表于 2007-10-9 20:37 | 显示全部楼层

支持!!!!

  
xwj 发表于 2007-10-9 20:40 | 显示全部楼层

呵呵,等待LZ的好消息...

  
zhongyb 发表于 2007-10-10 08:36 | 显示全部楼层

GOOD!

  
 楼主| cchenbin 发表于 2007-10-10 10:15 | 显示全部楼层

别只口头支持啊,手上有jlink的朋友帮忙一起试吧

  
kent_gwk 发表于 2007-10-10 15:34 | 显示全部楼层

另一个**思路

我手上没有JLINK,没办法做试验,但我提供另外一种更安全破解思路:在上位机升级JLINK的时候,下载的代码应该已从升级的.dll中读出,如果运气好的话,IAR可能会在内存中把这段代码还原,我们可以在内存中把这段数据读出,就是JLINK里面的代码了;<br />&nbsp;&nbsp;&nbsp;具体操作可以先运行SOFT-ICE,在系统下载代码到JLINK的过程中,激活SOFT-ICE,然后在整个内存中寻找标志性的数据,例如&quot;J-Link&nbsp;compiled&nbsp;&nbsp;Jun&nbsp;14&nbsp;2007&nbsp;6:33&nbsp;ARM&nbsp;Rev.5&quot;,找到以后再把这段数据截下来就可以了,<br />&nbsp;&nbsp;&nbsp;有一点要确认,下载(注意是下载,不是在烧写)代码JLINK的过程被中断了,之后JLINK是否还能够使用,你要先确认,不然这个方法失败的话,你的JLINK可能会变成废物,但我想,JLINK设计的时候应该考虑过升级JLINK的过程失败的问题,不然哪怕是正常的升级JLINK,也有可能由于各种原因导致下载失败啊,如果这个下载失败也会导致JLINK无法工作,那有点说不过去
xwj 发表于 2007-10-10 15:42 | 显示全部楼层

是的,只要有办法中断、监听和注入数据,那就肯定能**

只是首先要确定试验的安全性(重复操作可行性)<br /><br /><br /><br />偶也没有JLINK,没法试:-)
微风 发表于 2007-10-10 16:01 | 显示全部楼层

在jinkarm.dll中找不到相同的代码

Offset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;1&nbsp;&nbsp;2&nbsp;&nbsp;3&nbsp;&nbsp;4&nbsp;&nbsp;5&nbsp;&nbsp;6&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;9&nbsp;&nbsp;A&nbsp;&nbsp;B&nbsp;&nbsp;C&nbsp;&nbsp;D&nbsp;&nbsp;E&nbsp;&nbsp;F&nbsp;<br />00000000&nbsp;&nbsp;&nbsp;2E&nbsp;00&nbsp;00&nbsp;EA&nbsp;14&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;&nbsp;14&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;14&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;&nbsp;&nbsp;...?馃?馃?馃?&nbsp;<br />00000010&nbsp;&nbsp;&nbsp;14&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;&nbsp;10&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;10&nbsp;F0&nbsp;9F&nbsp;E5&nbsp;&nbsp;&nbsp;.馃????.馃?馃?&nbsp;<br />00000020&nbsp;&nbsp;&nbsp;04&nbsp;54&nbsp;10&nbsp;00&nbsp;08&nbsp;54&nbsp;10&nbsp;00&nbsp;&nbsp;0C&nbsp;54&nbsp;10&nbsp;00&nbsp;10&nbsp;54&nbsp;10&nbsp;00&nbsp;&nbsp;&nbsp;.T...T...T...T..&nbsp;<br />00000030&nbsp;&nbsp;&nbsp;F8&nbsp;38&nbsp;20&nbsp;00&nbsp;1C&nbsp;54&nbsp;10&nbsp;00&nbsp;&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;FF&nbsp;&nbsp;&nbsp;?&nbsp;..T..????????&nbsp;<br />00000040&nbsp;&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;................&nbsp;<br />00000050&nbsp;&nbsp;&nbsp;4A&nbsp;2D&nbsp;4C&nbsp;69&nbsp;6E&nbsp;6B&nbsp;20&nbsp;63&nbsp;&nbsp;6F&nbsp;6D&nbsp;70&nbsp;69&nbsp;6C&nbsp;65&nbsp;64&nbsp;20&nbsp;&nbsp;&nbsp;J-Link&nbsp;compiled&nbsp;&nbsp;<br />00000060&nbsp;&nbsp;&nbsp;4A&nbsp;75&nbsp;6E&nbsp;20&nbsp;31&nbsp;34&nbsp;20&nbsp;32&nbsp;&nbsp;30&nbsp;30&nbsp;37&nbsp;20&nbsp;31&nbsp;34&nbsp;3A&nbsp;33&nbsp;&nbsp;&nbsp;Jun&nbsp;14&nbsp;2007&nbsp;14:3&nbsp;<br />00000070&nbsp;&nbsp;&nbsp;36&nbsp;3A&nbsp;33&nbsp;33&nbsp;20&nbsp;41&nbsp;52&nbsp;4D&nbsp;&nbsp;20&nbsp;52&nbsp;65&nbsp;76&nbsp;2E&nbsp;35&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;6:33&nbsp;ARM&nbsp;Rev.5..&nbsp;<br /><br />upx解压后只找到了类似“J-Link&nbsp;compiled&nbsp;Jun&nbsp;14&nbsp;2007&nbsp;14:36:33&nbsp;ARM&nbsp;Rev.5”那段,修改了日期的确可以升级。用ida反汇编后的代码差别太大,我水平不够,不敢再试。
 楼主| cchenbin 发表于 2007-10-10 17:45 | 显示全部楼层

=

<br />===============================================================<br />另一个**思路&nbsp;<br /><br />我手上没有JLINK,没办法做试验,但我提供另外一种更安全**思路:在上位机升级JLINK的时候,下载的代码应该已从升级的.dll中读出,如果运气好的话,IAR可能会在内存中把这段代码还原,我们可以在内存中把这段数据读出,就是JLINK里面的代码了;<br />&nbsp;&nbsp;&nbsp;具体操作可以先运行SOFT-ICE,在系统下载代码到JLINK的过程中,激活SOFT-ICE,然后在整个内存中寻找标志性的数据,例如&quot;J-Link&nbsp;compiled&nbsp;&nbsp;Jun&nbsp;14&nbsp;2007&nbsp;6:33&nbsp;ARM&nbsp;Rev.5&quot;,找到以后再把这段数据截下来就可以了,<br />&nbsp;&nbsp;&nbsp;有一点要确认,下载(注意是下载,不是在烧写)代码JLINK的过程被中断了,之后JLINK是否还能够使用,你要先确认,不然这个方法失败的话,你的JLINK可能会变成废物,但我想,JLINK设计的时候应该考虑过升级JLINK的过程失败的问题,不然哪怕是正常的升级JLINK,也有可能由于各种原因导致下载失败啊,如果这个下载失败也会导致JLINK无法工作,那有点说不过去&nbsp;<br />&nbsp;====================================================================<br /><br /><br />这种方法不可取,我们并不需要jlink把加密代码还原后的代码,我们要的是可以直接写到FLASH的固件。<br /><br />我没明的你“激活SOFT-ICE”怎么用,如果可以的话那就以更简单,在升级固件时jlink会解锁内部FLASH(3秒),如果这里可以设置断点的话,就可以直接用ice读jlink中flash的内容了。读出来的就是我们要的固件了。<br />
harlemjia 发表于 2007-10-10 20:44 | 显示全部楼层

一定要成功啊,呵呵

  
kent_gwk 发表于 2007-10-11 13:16 | 显示全部楼层

soft-ice

soft-ice&nbsp;是一个**软件常用的工具,具体你可以到网上查一下,它可以早于操作系统先进入内存,不要说一般的应用软件,哪怕是WINDOWS内核都可以被它停下来.然后可以随意查看内存,修改CPU的寄存器和内存里的代码.但哪怕程序停下来了,SOFT&nbsp;-ICE&nbsp;不能从通过USB读取jlink中flash的内容,因为USB的读写牵涉复杂的协议,只能从内存里读取数据喔
kent_gwk 发表于 2007-10-11 13:19 | 显示全部楼层

还有

SOFT-ICE在XP下面用的话,要比较新的版本才行,我手上这个是Compuware.DriverStudio.3.2.完全版(1百多M)试过是没问题的,
kent_gwk 发表于 2007-10-11 13:28 | 显示全部楼层

在升级固件时jlink会解锁内部FLASH(3秒),

如果在升级固件时jlink会解锁内部FLASH(3秒),那在这三秒中途把JLINK从USB拔掉,那理论上不会断了电也可以从新把内部FLASH锁起来吧,如果没有锁的话,那这时候直接通过JLINK上的ATMEL&nbsp;CPU&nbsp;的JTAG口应该就可以读出里面的代码了.<br /><br />但我所知的FLASH更新之前一般是先擦除,然后再写入,我怀疑你所说的3秒不是解锁,而是在擦除里面的FLASH.
xwj 发表于 2007-10-11 13:44 | 显示全部楼层

一般的重新烧录必然是:擦除--重写--加密

如果能监听JTAG口的数据,在加密指令前停下来....
zhongyb 发表于 2007-10-11 14:05 | 显示全部楼层

kent_gwk的理论好象不靠边

IAR可能会在内存中把这段代码还原,我们可以在内存中把这段数据读出,就是JLINK里面的代码了。<br />上面的是kent_gwk原话,试想BOOTLOADER在升级固件的时候怎么可能要把自己复制到PC的内存里去呢?这又是何道理?执行升级操作不是PC负责,PC只是发送升级命令和固件校验,升级的工作完全由BOOTLOADER来执行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

10

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部