首页
社区
课程
招聘
[求助]IDA调试WINCE程序进不了DLL地址
发表于: 2012-7-21 08:05 9258

[求助]IDA调试WINCE程序进不了DLL地址

2012-7-21 08:05
9258
用IDA远程调试一个WINCE程序,该程序用LoadLibraryW加载了一个DLL,再用GetProcAddress获取DLL入口地址,然后跳转到该入口地址执行。我想在获取DLL入口后,直接到入口处下断,结果提示JMPASK错误,无法进入DLL空间。用G命令也进不了该地址。在模块列表中也进不了该地址。从GetProcAddress的返回值看,该DLL已经正常加载了,但为什么就是进不了DLL空间呢?请各位指点一下,如何才能进入DLL空间。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
2
.text:00013400 STR     R0, [R4,#(dword_11528C - 0x115250)]
.text:00013404 MOV     R0, R4
.text:00013408 MOV     LR, PC
.text:0001340C MOV     PC, R1                 //运行到这里,F7就跑飞了。
.text:00013410 MOV     R4, R0
.text:00013414 LDR     R0, [R10]             ; hLibModule
.text:00013418 BL      FreeLibrary
.text:0001341C MOV     R0, R4
.text:00013420 ADD     SP, SP, #4
.text:00013424 LDMFD   SP, {R4-R10,SP,PC}
.text:00013424 ; End of function sub_1332C

运行到.text:0001340C MOV     PC, R1  时,R1=419F90EC 就是DLL的入口地址。在这里再F7单步就跑飞了。

在text:0001340C时无论是g 419F90EC 还是在模块列表里JMP到模块地址,都不行。
2012-7-21 18:47
0
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
3
发现问题所在了,原来是系统版本的问题,WINCE50就没问题,WINCE60就不行。原来是2个版本的内存管理方式不同。WINCE60禁止其他进程访问0X40000000-0X4FFFFFFF虚拟内存空间。请问各位兄弟,有什么办法可以让调试器访问这个虚拟内存空间?
2012-7-21 23:22
0
雪    币: 220
活跃值: (341)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
听说IDA6.3可以访问CE6下的DLL空间
0X40000000-0X4FFFFFFF是系统空间
不可以写
IDA即使能访问
也不能设断
但VS2008可以访问并修改
不知是用什么方法
2012-7-31 22:09
0
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
不太明白,但是我记得有个叫“硬件断点”的东西。。也不行么?(难道IDA木有?)
2014-5-17 22:22
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
能不能把一个导航启动中的一个确定界面去掉?
上传的附件:
2014-7-2 14:29
0
游客
登录 | 注册 方可回帖
返回
//