开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 13473|回复: 211
收起左侧

[易语言纯源码] [Wow64_Syscall_List]一份方便调用x64.Zw*/Nt*直接进入内核的玩意

  [复制链接]
发表于 2023-7-17 13:08:03 | 显示全部楼层 |阅读模式   浙江省绍兴市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
本帖最后由 树上的鱼儿 于 2023-7-17 17:29 编辑


许久没有来发帖了,其实这个东西没啥好讲的

Wow64_Syscall_List 是我自己随便起的名字,请不要纠结




Wow64_Syscall_List 采用自构建的Syscall,允许易语言程序在64位系统中直接调用x64内核功能号进入内核

源码中已内置大量Zw*/Nt*相关函数,可快速调用且直接进入内核,*注意:请不要在32位系统上使用

调用一个函数本来是这样的:
QQ图片20230717150817.png

Wow64_Syscall_List 就把它变成了这样而已:
crafted-syscall-flow.png




借用了SysWhispers2开源库获取内核功能号的思维,并改造为适合易语言使用的ShellCode

说起SysWhispers其1代SysWhispers1通过事先定义各系统大量的功能号存根,使用时在通过系统版本号搜寻相应功能号,这种方法现在看来着实臃肿不堪

SysWhispers2 某天一觉睡醒突发奇想,换了一种办法,就是根据PEB取出导出表中 Zw*相关导出函数,并对其函数名哈希,把这个哈希后的值和函数入口RVA存根,并根据其RVA对其进行冒泡排序从小到大排列存根,那么排在最前面的函数就是功能号0,依次递增,cha询时根据函数名哈希值即可准确获得表中位置,返回其位置即为功能号

神奇的事情就此发生,这种获得功能号的方法貌似非常不错,用一张图表示的话:


1111.png




感觉做了一件傻不楞登的事情

回复可见附件:
Wow64_Syscall_List.e (1008.95 KB, 下载次数: 220)

点评

由于不能修改本帖子,补充一下附件,修正一个问题在windows11下获取ssdt功能号有错误的问题,请到楼下置顶帖下载附件   浙江省绍兴市  发表于 2023-9-1 23:10
围观争论现场   上海市上海市  发表于 2023-7-18 11:16
很好,精易很久没这么热闹过了!有点小争执只为更深层次讨论,问题不大哈,两位~·~   广东省珠海市  发表于 2023-7-18 00:23
@1185384801 感谢你的恩赐.大兄弟.可叫我知道这方法在XP64歇菜鸟的了,牛逼啊,你咋这么厉害呢   浙江省绍兴市  发表于 2023-7-17 20:47
没有“傻不楞登”一说,到达任何目的都有不同方法,互相学习,没必要争个高低   浙江省杭州市  发表于 2023-7-17 20:35
感谢楼主分享,又学到了东西了   湖北省武汉市  发表于 2023-7-17 19:37
刚刚是谁说的“微软还必须告诉你”?微软想改就改,还真以为找到规律啦?下次改改函数这些方法又不能用了,都学汇编的,谁会把这些话说满?   四川省宜宾市  发表于 2023-7-17 19:26
@1185384801 xp64我个人没有佐证过,我想在文中我说了这是一种不错的方法,即使xp64不兼容,也不能代表其也是一种思路,你有意见正确提出,想笑请继续不要停   浙江省绍兴市  发表于 2023-7-17 19:20
笑了,XP64位上调用号为0的函数是NtMapUserPhysicalPagesScatter,然而NtAccessCheck先导出。 另外不要以为我没看过SysWhispers2,更不要随意揣测别人是干什么的   四川省宜宾市  发表于 2023-7-17 18:52
@1185384801 首先你不认同不需要来抨击,思路借用SysWhispers2开源库,看清楚事情再来评,你水平高高到都能造航母,精益就给你一个人玩好了牛逼先生   浙江省绍兴市  发表于 2023-7-17 18:46
要不要去翻翻64位XP的ntdll是怎么写的?某些水平很高的人?   四川省宜宾市  发表于 2023-7-17 18:29
@1185384801 瞎逼逼的脑子有病吧,爱着你事情了微软还必须告诉你 你是个什么东西吗   浙江省绍兴市  发表于 2023-7-17 18:23
你这说得好像导入表不能被修改一样,而且微软从来没说过内核调用号是依次递增的(甚至SSSDT中曾经有几个函数在user32.dll和gdi32.dll中调用syscall)   四川省宜宾市  发表于 2023-7-17 17:58
@ANormalUser:硬编码获取的确存在一定弊端,因为我感觉无法保证硬编码是否被修改过,如入口被Inlinehook时等情况时   浙江省绍兴市  发表于 2023-7-17 17:14
@ANormalUser:我只是想说SysWhispers2给我们提供一种更加容易且稳定的获取功能号的方式,不是说从哪里获取更好,从mov eax,*读入硬编码的方式固然也可以   浙江省绍兴市  发表于 2023-7-17 17:07
有没有一种可能,32位的ntdll调用号从它出现来就只用过mov eax,*,微软从来没动过   四川省宜宾市  发表于 2023-7-17 16:54

评分

参与人数 13好评 +10 精币 +27 收起 理由
laoxing + 1 + 2 感谢大哥一语点醒梦中人
zijingsh + 1 + 2 开源精神必须支持~
易语言资源网 + 1 + 3 开源精神必须支持~
camingo + 1 + 2 互相讨论,共同进步
llxx123 + 1 + 2 支持开源~!感谢分享
pj小黑屋 + 1 感谢分享,很给力!~
※逍遥游※ + 2 感谢分享,很给力!~
ppppzj + 2 支持开源~!感谢分享
凌哥 + 1 + 5 支持开源~!感谢分享
dghjgg + 1 支持开源~!感谢分享
ybyxzyyx + 1 + 2 YYDS~!
天雷 + 1 + 2 支持开源~!感谢分享
inat + 1 + 2 感谢分享,很给力!~

查看全部评分


本帖被以下淘专辑推荐:

签到天数: 5 天

 楼主| 发表于 2023-9-1 23:07:07 | 显示全部楼层   浙江省绍兴市
本帖最后由 树上的鱼儿 于 2023-9-1 23:50 编辑

由于不能修改本帖子,补充一下附件,修正一个问题
Wow64_Syscall_List 2.0 修正在windows11下获取ssdt功能号有错误的问题,目前未发现其他系统的兼容性问题

Wow64_Syscall_List 2.0.e (1005.81 KB, 下载次数: 77)
回复 支持 1 反对 0

使用道具 举报

签到天数: 11 天

发表于 2024-9-6 16:40:23 | 显示全部楼层   河北省石家庄市
学习一下
回复 支持 反对

使用道具 举报

发表于 2024-9-6 16:39:06 | 显示全部楼层   四川省乐山市
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

签到天数: 20 天

发表于 2024-7-20 00:12:04 | 显示全部楼层   河北省邯郸市
学习下 感谢大佬分享
回复 支持 反对

使用道具 举报

发表于 2024-3-17 20:00:04 | 显示全部楼层   浙江省台州市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2024-2-7 20:57:38 | 显示全部楼层   山东省临沂市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 2024-1-24 00:34:47 | 显示全部楼层   四川省广安市
厉害了!!!!!!!!
回复 支持 反对

使用道具 举报

结帖率:75% (18/24)

签到天数: 9 天

发表于 2024-1-9 10:02:39 | 显示全部楼层   山东省青岛市
Wow64_Syscall_List
回复 支持 反对

使用道具 举报

发表于 2023-12-9 16:42:07 高大上手机用户 | 显示全部楼层   山东省济南市
666
回复 支持 反对

使用道具 举报

发表于 2023-12-4 12:27:05 高大上手机用户 | 显示全部楼层   山东省泰安市
开源支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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