首页
社区
课程
招聘
[讨论]在win10和winxp系统下相同程序呈现的不同领空问题
发表于: 2024-7-4 23:24 2740

[讨论]在win10和winxp系统下相同程序呈现的不同领空问题

2024-7-4 23:24
2740

在win7和win10系统下应用程序显示的领空不同问题

​ 我看过很多讲解逆向的视频,也搜了很多资料,但是没有人提这个问题,这对于新手小白用win10及以上的系统来破解会造成很大麻烦。下面具体讲解问题:

在这里我以下面程序为例:

该程序需要输入一个字符串点击破解

图片描述

winxp系统程序下messageboxw断点,发现系统断在了系统领空:
图片描述

在这里我们进行回溯,发现每一个return跳出call都是在系统领空,这里就只展示第一个call返回的情况:

图片描述
当我们一直回溯到程序领空后,发现关键跳转正好在这个call上面:

图片描述

这时大家是不是觉得破解很简单,只要回到程序领空往上走就行。

好了,上面都是基础,这时候我们在win10系统上面重复做一样的操作:

图片描述

同样断点断在系统领空,这时候我们开始回溯,发现第一个return就来到了程序领空:

图片描述

小伙伴们这里就要注意了,程序来到了程序领空,但是我们往上看却并不是关键跳转所在,我们只能继续回溯,发现一直在程序领空,回溯了好几次后才找到关键call以及关键跳转:

图片描述

这里就有一个重要问题:在winxp下我们可以直接了断的在返回程序领空后找到关键跳转,而在win10我们下断点返回程序领空后却不是关键call所在,还得继续回溯,对于汇编不了解或者是复杂代码的破解难度应该算是巨大提升了吧,有大佬可以讲解这个问题吗,本人小白一枚,最近发现这个问题感觉win10对于破解并不友好

或许是我对程序领空和系统领空理解有问题,不过我看很多都是按这套理论讲解的,有大佬可以对这一现象进行解释吗?

注:我一开始以为是工具的问题,这里用的是ollydb,后来也用x32dbg试过发现是一样的。


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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 25418
活跃值: (4772)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你这两个看起来都不像同一个程序
XP下中断在 System_W1,这个是什么模块?
两个系统找到的关键点代码虽然长得像,但不是同一个地方
2024-7-5 15:26
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
这就是一个程序,可能是我截图没截好的原因让你误会了,但你可以用别的程序试试,应该是一样的结果
2024-7-5 22:10
0
雪    币: 537
活跃值: (600)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你这是.net,你有确定runtime一样版本了吗
2024-7-23 11:31
0
游客
登录 | 注册 方可回帖
返回
//