吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 521|回复: 1

[易语言] 【从编程角度理解程序领空和系统领空】

[复制链接]
书香 发表于 2024-2-12 02:24 | 显示全部楼层 |阅读模式

本帖最后由 书香 于 2024-2-12 02:34 编辑

总系列链接:【书香编程系列教程】从零开始学编程语言
本系列上一级链接: 【易语言od联动学习系列简介】不是从上一级来的先返回上一级链接看大纲)


程序领空系统领空很多人都听说过,很多教程也都有介绍,但是对于两者之间的联系一般都是一句话概括了,就是只能修改程序领空,不能修改系统领空
这句话会让相当多一些学习者们懵逼,为什么不能改?改了会怎么样。其实是可以修改系统领空里的数据的,这个不能修改指的是不需要(不必要),而不是技术上达不到

接下来我们从开发的角度来开始阐述这个问题
①:首先要明白exe是什么,exe实际上你可以理解为接口调用程序Windows系统实际上就相当于一个平台,一个框架,这就像开发微信小程序的微信公众平台一样,他是一个平台。Windows系统是一个平台,exe就是使用Windows这个平台开发出来的产品。

②:既然Windows系统是开发平台,exe是开发出来的产品,Windows系统作为平台是一定会为开发者提供开发工具包的(就像SDK、JDK一样),这个工具包里面集成了大量功能,只要你能想得到的一切基于Windows系统的功能(窗口移动、改变窗口大小、弹出信息框、网络访问等等),这个工具包里面都有并且为开发者提供了调用接口,这个工具包的名字就叫Windows核心支持库

③:核心支持库的目录是C:\Windows\System32
fakename.png
这些dll就是功能,使用dll接口调用即可

易语言的命令,精易模块、可以说大部分几乎所有的应用程序开发(exe,不管你什么语言),基本上大部分功能都是靠调用这些dll来实现功能的

精易模块是开源的,我们以网页_访问代码举例,这句代码的dll调用接口如下
fakename.png

对应去调用的dll见下图
fakename.png

然后以大家最熟悉的信息框断点来举例
fakename.png

很多教程说的是看地址,地址大的就是系统领空,书香教大家看模块,模块名是user32,他对应的是下面这个dll
fakename.png

④解释模块领空的概念
开发中exe是调用程序,一般叫主模块(主模块名称就是当前exe的进程名称),被调用的dll就是其他模块,比如信息框弹窗(MessageBoxA)这个功能是由user32.dll提供的,所以下方的界面就叫user32.dll领空,其实od中显示的模块名是省略了的,没有携带后缀(.exe或.dll)
fakename.png

当前代码在哪个文件里面,就叫哪个文件的领空

⑤理解dll
我们自己也可以开发dll
049:【dll讲解】                     050:【dll的开发】                   051:【dll的调用】



重点:dll不是说非要放到核心支持库目录(C:\Windows\System32)才能生效,大家随便打开一个程序(比如浏览器),右键查看文件位置,里面一堆的dll,dll可以存在于任何位置


⑤理解程序领空和系统领空的含义
不是说内存地址大就是系统领空(当然基本正确)重点是要看当前的功能代码属于作者写的还是调用的Windows核心支持库的如果是自己写的代码就属于程序领空,windows系统提供的就属于系统领空


继续解释问题,为什么很多教程说系统领空不能改
比如user32.dll,不是改不了,改了我们替换到核心支持库的目录C:\Windows\System32即可,重点是改了以后你的程序是能用了,其他的程序用什么?比如浏览器,word工具,你能想的到的软件基本都调用了user32.dll
举个例子:
你骑电动车走小路要穿过一条大马路,大马路太高了,你的车开不上去,你可以选择拿几个石头垫一下,你如果选择把马路挖低一点,人家的车怎么走这条马路?

思考:
如何知道当前的dll领空是不是属于系统文件,假设我写了一个同名的user32.ll放到其他目录调用甚至我把Windows里面那个user32.dll替换了,你如何判断当前user32.dll里面没有我的验证?

结语:
其实很多程序的验证都是在dll里的,比如著名的大漠插件授权就是授权在dll,所以不要一看到内存地址太大了就想着返回,你要把系统领空的数据不能修改理解成“对应的dll能不改就不改,而不是一定不能改”




所以,请不要一看到系统领空就想着马上跳出来



本系列上一级链接: 【易语言od联动学习系列简介】
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lies 发表于 2024-2-12 13:01 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表