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

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

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

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (5)
雪    币: 319
活跃值: (2349)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
csjwaman 24 2012-7-21 18:47
2
0
.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到模块地址,都不行。
雪    币: 319
活跃值: (2349)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
csjwaman 24 2012-7-21 23:22
3
0
发现问题所在了,原来是系统版本的问题,WINCE50就没问题,WINCE60就不行。原来是2个版本的内存管理方式不同。WINCE60禁止其他进程访问0X40000000-0X4FFFFFFF虚拟内存空间。请问各位兄弟,有什么办法可以让调试器访问这个虚拟内存空间?
雪    币: 220
活跃值: (281)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ZhaoYF 2012-7-31 22:09
4
0
听说IDA6.3可以访问CE6下的DLL空间
0X40000000-0X4FFFFFFF是系统空间
不可以写
IDA即使能访问
也不能设断
但VS2008可以访问并修改
不知是用什么方法
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
遗失灵魂 2014-5-17 22:22
5
0
不太明白,但是我记得有个叫“硬件断点”的东西。。也不行么?(难道IDA木有?)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
纯属误会 2014-7-2 14:29
6
0
能不能把一个导航启动中的一个确定界面去掉?
上传的附件:
游客
登录 | 注册 方可回帖
返回