吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 3723|回复: 36
上一主题 下一主题

[原创源码] 日常造轮子学习之ArkTool

[复制链接]
跳转到指定楼层
楼主
自己的小白 发表于 2020-6-21 11:11 回帖奖励
本帖最后由 自己的小白 于 2020-6-23 11:57 编辑

README

前言

仿PCHunter32做的一个简易ARK,练手之作,以此记录。如有错误,不吝赐教。

界面

功能介绍

驱动信息

遍历/刷新驱动

在内核层通过驱动链(只使用了按加载顺序构成的链表,还可以使用按内存顺序构成或按初始化顺序构成的链表)遍历所有驱动的信息

隐藏驱动

通过对比驱动名,将要隐藏的驱动从驱动链(按加载顺序构成的链表)上摘除。原本它邻接的节点驱动被卸载时,系统会把此节点的Flink,Blink域指向它相邻节点的下一个节点,但是,它此时已经脱离链表了,如果现在它原本相邻的节点驱动,被卸载了,那么此节点的Flink,Blink域将有可能指向无用的地址而造成随机性的BSoD。为了防止随机性的BSOD(蓝屏死机),将要隐藏的驱动LIST_ENTRY结构体的Flink,Blink域指向自己

进程信息

遍历/刷新进程

在内核层通过EPROCESS进程执行体块获取进程活动链表,遍历进程活动链表获取所有EPROCESS进程执行体块,从而获取所有进程的信息

隐藏进程

同隐藏驱动差不多,将要隐藏的进程在进程活动链表摘除,就不多说了

结束进程

将要结束的进程的ID传输到内核层,使用ZwOpenProcess打开进程,获取进程句柄,然后使用ZwTerminateProcess结束进程

查看模块

弹出一个对话框,并遍历选中进程的所有模块信息。通过进程执行体块EPROCESS找到PEB,再使用进程挂靠附加到目标进程中,通过PEB获取模块链表,遍历模块链表获取所有模块信息

查看线程

弹出一个对话框,并遍历选中进程的所有线程信息。通过进程执行体块EPROCESS获取进程的线程链表,通过遍历线程链表获取所有的线程执行体块ETHREAD,从而获取该进程的所有线程信息

文件信息

遍历文件

通过ZwQueryDirectoryFile函数实现内核版FindFirstFile、FindNextFile函数,然后同用户层遍历文件一样使用这两个内核版函数遍历文件

注意:内核中操作文件需要在文件名加前缀 \\??\\

删除文件

使用 ZwDeleteFile 删除文件

注册表信息

遍历注册表

通过ZwOpenKey打开注册表键(根键为\\Registry),获取注册表键句柄

通过ZwQueryKey获取一个注册表项有多少子项和子键

通过ZwEnumerateKey获取指定子项的信息

通过ZwEnumerateValueKey获取指定子键的信息

最后通过ZwClose关闭注册表键句柄

创建子项

使用InitializeObjectAttributes宏初始化对象属性,它主要初始化注册表键径

然后通过ZwCreateKey创建

删除子项

使用InitializeObjectAttributes宏初始化对象属性,它主要初始化注册表键径

然后通过ZwOpenKey打开注册表键,获取注册表句柄

使用ZwDeleteKey删除注册表键

最后通过ZwClose关闭注册表键句柄

IDT(中断描述符表)

遍历/刷新IDT

IDT表存放于IDTR寄存器,可以使用汇编指令 __asm sidt sidtInfo;来获取IDTR寄存器的值,从而获取IDT表的首地址

GDT(全局描述符表)

遍历/刷新GDT

GDT表存放于GDTR寄存器,可以使用汇编指令 __asm sgdt sgdtInfo;来获取GDT表首地址和GDT表项数

SSDT(系统符号调度表)

遍历/刷新SSDT

WIN7 - x32下系统导出系统描述符表 KeServiceDescriptorTable 变量。声明后,就可以直接使用。通过这个变量可以获取到SSDT的首地址,参数个数表的首地址、服务函数的个数以及SSDT中每个服务被调用的次数

SYSENTER-HOOK

通过修改SYSENTER_EIP_MSR(编号0x176)寄存器使其指向我们自己的函数,就可以在自己的函数中对所有来自Ring3层的调用进行第一手过滤。

过程:

  • ​        读取SYSTENTER_EIP_MSR寄存器的信息,并备份系统KiFastCallEntry函数的地址
  • 构建一个我们自己的MyKiFastCallEntry函数用以过滤调用信息
  • 设置SYSTENTER_EIP_MSR寄存器指向我们自己构造的函数的地址
  • 如果需要摘除钩子,将备份的系统KiFastCallEntry函数地址写回SYSTENTER_EIP_MSR寄存器即可

内核重载

  • 将内核文件加载到内存
  • 修复重定位
  • 使用当前内核数据填充新内核的SSDT表
  • HOOK KiFastCallEntry,使RING3进程调用走新内核

说明:

  1. ​        本程序仅用于交流和研究,请勿用于其他用途。有任何后果与本人无关
  2. ​        由于环境不一样 所以不能保证每个功能在每台机器上都是可行的。如果程序有bug还请多多体谅

MyMFCArk.rar (552.73 KB, 下载次数: 182)

免费评分

参与人数 23吾爱币 +21 热心值 +21 收起 理由
soyiC + 1 + 1 用心讨论,共获提升!
lendone + 1 + 1 谢谢@Thanks!
wap6575 + 1 + 1 用心讨论,共获提升!
烦烦烦 + 1 + 1 我很赞同!
onlylonely + 1 + 1 热心肠。
yixi + 1 + 1 热心回复!
lookerJ + 1 + 1 用心讨论,共获提升!
ps0000001 + 1 + 1 用心讨论,共获提升!
12924869872 + 1 开源吧
duanjia0912 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
昨夜星辰恰似你 + 1 + 1 造轮子!搞起来
s88550177 + 1 + 1 大佬NB
sam喵喵 + 1 谢谢@Thanks!
苏紫方璇 + 1 + 1 不错的代码,学习下
yiwai2012 + 1 + 1 感谢分享技术吾爱破解论坛因你更精彩!
不怕黑的夜晚 + 1 + 1 我很赞同!
独行风云 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
nj001 + 1 我很赞同!
a77582508 + 1 + 1 学习一波
Zerobits + 1 + 1 我很赞同!
又红又专 + 1 + 1 是个大佬
davidai + 1 谢谢@Thanks!
skyward + 1 + 1 大佬级别

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
12924869872 发表于 2020-6-23 22:39
下载看看                                                  
推荐
 楼主| 自己的小白 发表于 2020-6-24 14:16 |楼主
caizhe666 发表于 2020-6-24 12:54
看到一个玩内核的了。。。建议你下次发出去时说一下你的测试环境,eprocess的的activelink的偏移每个系统不 ...

测试环境win7 32位,不应该先到虚拟机跑跑吗,直接真机,不会吧,不会吧
沙发
 楼主| 自己的小白 发表于 2020-6-21 11:50 |楼主
本帖最后由 自己的小白 于 2020-6-22 13:10 编辑

感谢版主大大加精
3#
pumishuo 发表于 2020-6-21 14:40
感谢发布原创作品,吾爱破解论坛因你更精彩!
4#
不怕黑的夜晚 发表于 2020-6-21 23:50
感谢发布原创作品,吾爱破解论坛因你更精彩!
5#
Psyber 发表于 2020-6-22 00:19
可以开源嘛大佬
6#
czxj2003 发表于 2020-6-22 09:29
seeseeseeseeeeeee

免费评分

参与人数 1吾爱币 -5 收起 理由
苏紫方璇 -5 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

7#
 楼主| 自己的小白 发表于 2020-6-22 10:03 |楼主
Psyber 发表于 2020-6-22 00:19
可以开源嘛大佬

下面压缩包就是源码啊
8#
yiwai2012 发表于 2020-6-22 12:43
感谢大佬分享源码 JJ 增长5厘米
9#
sam喵喵 发表于 2020-6-22 16:33
感谢分享,有源码的分享是最牛的,必须评分一波
10#
leonalewis 发表于 2020-6-22 22:06
源码!感恩大佬无私
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2020-7-2 17:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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