首页
社区
课程
招聘
[旧帖] [求助]神奇的东西,大侠请教 0.00雪花
发表于: 2011-5-10 20:39 4730

[旧帖] [求助]神奇的东西,大侠请教 0.00雪花

2011-5-10 20:39
4730
在分析一款软件

add esp,4
pop edx
mov eax,dword ptr fs:[18]
mov eax,dword ptr ds:[eax+30]
mov eax,dword ptr ds:[eax+2C]
call dword ptr[3098124]
test eax, eax
je  408392

单步跟到 call dword ptr[3098124] 的时候,发现3098124这个内存是不可访问的.
然后它没有跳到异常处理中, 但是CALL出来的结果是正确的.
test eax, eax 在这里下断也可以断下.

当执行到3098124的时候,整个堆栈都是空的 但是不影响程序流程执行  这是什么技术?
望指教...

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

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 248
活跃值: (129)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
补充一下..
add esp,4
pop edx
mov eax,dword ptr fs:[18]
mov eax,dword ptr ds:[eax+30]
mov eax,dword ptr ds:[eax+2C]
call dword ptr[3098124]
test eax, eax
je  408392

这个是HOOK跳转后的函数,不是目标程序本身的函数..
2011-5-10 20:40
0
雪    币: 723
活跃值: (81)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3
call dword ptr[3098124]

是从 ds:[3098124]  里取地址,不是从 stack
2011-5-10 20:56
0
雪    币: 248
活跃值: (129)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
3098124 的地址是空的.不可访问的
2011-5-10 21:17
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
地址是空的是什么含义, 内存单元里面的数据为0么?
2011-5-10 21:43
0
雪    币: 248
活跃值: (129)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
不是,是ctrl+G 无法到达3098124 也无法读取3098124内的数据
3098124指向的数据假设为589245 但是这个589245是不可访问的..
2011-5-10 21:50
0
雪    币: 12626
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
会不会是ring3的OD不能读取呢?
2011-5-11 11:08
0
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
dd 3098124
2011-5-12 17:15
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
一般这种应该始终是靠异常处理一类的方法来保证正常执行的,否则就不知道了....
坐等BIN
2011-5-12 17:29
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
10
是不是OD被设置忽略某些异常了呢?
2011-5-13 21:43
0
雪    币: 89
活跃值: (151)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
上面的地址没有获得变量所以call dword ptr[3098124]里没值,1楼兄弟继续研究上面的注册或加密锁验证处,看看是那里给这里赋入值吧
2011-5-15 17:23
0
游客
登录 | 注册 方可回帖
返回
//