Icelight驱动部分完整逆向(源代码)

逆向随笔——对可以过TP的注入驱动的一次逆向 前言: 逆一些东西,有点收获,就写篇随笔记录一下。因为写的随便,就不发看雪了。 今天一个朋友给我发了一个说是可以过TP的注入驱动,希望我逆一下看看是什么套路。 正文: 接收过来压缩包,看了一下 loadddll32和64分别是用在32和64的驱动,MemOpe和dnf.exe都是测试用例(不过我是用自己写的123.exe进行测试)。 先跑起来,看看线程和模块上有没有什么特别的地方 有一个线程P... 阅读详情
 by achillis

Icelight(一线光)是个安全小工具,整体功能比较一般,但自我保护还不错,比较全面吧.
前几天不能上网,无聊之中看到Icelight的驱动不大(14k),于是就把它给逆了一下,也是我第一次完整逆一个驱动.
驱动中Hook时用了两个反汇编引擎(搞不懂为什么用两个),其中一个是LDasm,就直接拿来用了.
另一个水平有限,还原成的C版不准确导致有时候结果不正确,无奈之下用了原版汇编~~

对应的程序版本:1.8.802
TimeDateStamp:4886978D

驱动源码编译通过,可以替换原驱动正常工作~~
里面用的相关技术没有很特别的,但是应该说比较实用,至少有以下看点:
1.SSDT Hook 保护进程(Hook函数写的很ws哈)
2.SSDT Shadow Hook(有8个相关函数,比较全了)
3.强制删除文件(这个作者也说了,是参考自网上一份代码)
4.一字节两次跳转法Hook PspTerminateThreadByPointer保护自己线程
5.直接投递Apc杀线程(为杀线程准备了两个ApcRoutine,获取PsExitSpecialApc失败就用自带的)
5.强制杀进程(自己遍历ThreadList然后逐个投递Apc杀之)
需要以上代码实例的尽可来A~~

不足之处:
1.有一个反汇编引擎没有还原成C(之前还原成C版的了,但是用的时候结果不完全正确,只好先用原版汇编的保证准确度)
2.程序退出后,驱动卸载之后会有一些遗留问题,进程无法打开,关于窗口的部分操作不正常,这个我找不出原因来,大牛帮解决下...

这个驱动的DeviceIoControl例程中对于用户层传入的参数不论是读还是写都不作任何检查,所以想搞个BSOD相当容易
大家写驱动时不要犯这样的错误了...
不说了,有兴趣的自己看代码吧
上传的附件
文件类型: rarILDriver完整逆向.rar (2009-01-01 20:30, 264.0 KB, 141 次下载)

逆向一个基于驱动的恶意程序 本程序发现于机器狗变种病毒释放恶意程序的下载列表中:穿透还原系统后的机器狗病毒在机器启动后会从指定网址下载多个恶意程序,本程序即其中之一,其功能为通过底层键盘过滤方式盗取用户键盘输入信息。因程序使用了底层键盘过滤技术,故而可记录大部分软件的键盘输入,包括网游、QQ、邮箱的帐户输入信息等。 一、原理:     此程序随系统进程internat.exe启动而被执行,程序通过加载自身资源里的两个驱动来隐 阅读详情

相关推荐

Java反编译器:源代码恢复与逆向工程指南

本文还有配套的精品资源,点击获取 简介:Java反编译器是一个帮助开发者理解Java字节码背后逻辑的工具,它能够将.class文件转换回可读的Java源代码。这对于分析没有源代码的库或进行逆向工程尤其重要。本文介绍了Java反编译器的重要性、使用方法及工作原理,并概述了几种常用的反编译器工具如JD-GUI、JAD、FernFlower和Procyon,以及使用这些工具时应注...

weixin_30205153的博客 2637

逆向基础-Windows驱动开发(一)

驱动开发

AppWhite_Star的博客 1431

逆向工程源码.zip

逆向工程核心原理一书的源代码,有需要的朋友可以下载。

逆向-获取一个网站中一个功能的源代码

前言 只是一个分享经验贴,自己也是小白,对于逆向了解不多。只不过有需求,那么就要找出思路完成,分享一下我的思路。 范例 以在线JSON校验格式网站的压缩JSON功能逆向需求源代码 网址:在线JSON校验格式网站 1、首先,devtool工具在Elements中找到按钮的源代码,如下图,我们可以看到其有两个属性对我们有用,id和data-html,type和class就不多说了。 2、紧接着我们ctrl+F,打开搜索框,将id复制进去,寻找页面中是否有与id关联的代码。在本案例中并无,因此,我们进入d

News777的博客 2573

教你一步一步反编译并得到所有源代码

教你一步一步反编译java得到所有源代码 ,jad.exe 你必须安装有JDK

c++逆向工程源代码

c++逆向工程源代码

小程序逆向之源码获取

没错这就是你微信里加载过的所有小程序,从文件夹的名称很难看出来哪一个是,但是可以从文件的时间上,找到你操作目标小程序相近时间的文件夹,点进文件夹,找到后缀是wxapkg的文件就是我们想要的文件。用微信开发者工具加载源码,就可以愉快的找你想要的东西了,但是需要提醒的一点就是,反编译小程序没有文章讲的那么简单,会出现各种小问题(环境、依赖、分包等等),欢迎大家一起探索。2、上一步得到的文件是加密过的,是不能拿来直接用的,所有就需要我们先要将找到的文件解密,需要一个小工具。2、找到PC端加载小程序的文件。

学习python 3161

Windows Server安装Intel I219-V网卡驱动完整教程

在Windows Server系统上安装Intel I219-V网卡驱动的方法。

小白成长历程 5186

初学驱动逆向,笔记一。

初学驱动逆向,在《windows驱动开发技术详解》中随便找个例子逆逆看 [ \chapter09\SpecialStartIOTest ]。 水平很菜,各路牛人笑过。 逆向该例子的DriverEntry和CreateDevice函数,这两个函数在《windows驱动开发技术详解》的例子中十分常见。 并逆向的本范例驱动的核心部分 HelloDDKRead 函数,没什么技术含量。 经验:需要熟

Diomedes's Place 2059

Pintos project 1 实验报告(代码分享)

任务一 Alarm Clock 用到的相干目录有: pintos/src/devices time.h && time.c pintos/src/threads thread.h && thread.c 预期pass希望:暂无,安装pintos之后,第一次对threads进行make check操作,可以发现以alarm--开头的前六个文件,以及mlfqs-fair-2和mlfqs-fair-20文件,一开始就测试成功pass。但是为了避免对后期的修改有影响,这里还是要

m0_53112875的博客 6872

金蝶ERP元数据解析:字段属性与表结构映射实战

本文深入解析金蝶ERP元数据的核心价值与应用实践,详细介绍了字段属性与表结构映射的关键技术。通过缓存获取与工具类直连两种方案对比,结合实际案例展示元数据在数据库校验、动态表单生成等场景的应用,帮助开发者高效解决二次开发中的常见问题。

weixin_33738555的博客 435

逆向pyinstaller打包的exe程序获取源代码

由于 Python 程序使用简单,并且拥有丰富的第三方库,有很多人会用 Python 程序编写小工具或者恶意文件,偶尔会遇到需要对 Python 编译打包的 exe 程序进行逆向的需求,特此记录一下逆向过程。

fishfishfishman的博客 5704

YOLOv8缺陷检测可视化界面实战:PyQt5布局设计与代码实现

本文详细介绍了如何利用PyQt5为YOLOv8缺陷检测模型构建一个专业、易用的可视化界面。通过实战讲解PyQt5的布局管理器设计、信号槽机制与YOLOv8核心的集成,帮助开发者快速将AI模型部署为直观的桌面应用,提升工业质检等场景的落地效率。

redis7keeper的博客 758

某超级注入程序的驱动逆向

1、起因 从哥们儿那找到了一个超级注入的工具,打开一看加了vmp,然后还有驱动的驱动,于是这里把驱动提取出来,简单分析一下。 1.1运行 让程序先把驱动释放出来,可以看到这里需要买卡,然后才会释放驱动加载(简单破解一下就行,不是重点) 1.2破解之后 下一个CreateServiceA断点,让它在加载驱动之前断下,接着将驱动拷贝出来。从下图可以看到虽然驱动有签名,但是个过期签名,高版本windows10上是加载不上的。 2、驱动分析 好消息是驱动没有加壳,可以f5分析一下 2.1W.

被遗弃的庸才博客 3197

别只刷题了!我用834分经验告诉你,华为HCIP大数据考试(H13-723)这样准备更高效

本文分享了华为HCIP大数据认证(H13-723)834分通关的高效备考经验。通过分析考试动态、题库验证技巧和章节优先级策略,帮助考生超越单纯刷题,系统化掌握核心知识点。特别强调实时流处理和离线批处理等重点章节,提供黄金90分钟临场发挥策略,助力考生一次性通过考试。

weixin_38168786的博客 460

RoboMaster新手必看:用STM32 HAL库搞定大疆M3508电机正反转(附完整代码)

本文详细介绍了如何使用STM32 HAL库驱动大疆M3508电机实现正反转控制,包括硬件准备、PWM配置、电机校准及完整代码实现。特别针对RoboMaster新手常见问题提供了解决方案,如电机抖动、不转等故障排查,并分享了缓启动、DMA更新等进阶技巧,帮助开发者快速掌握电机控制核心技术。

weixin_42519985的博客 228

磁盘机病毒驱动部分逆向分析

;对磁盘机病毒驱动部分进行逆向分析,这是简单的逆向代码,可以了解磁盘机驱动部分的原理。  .386  .model flat, stdcall  option casemap:none;+++++++++++++++++++++++++++++++++++++++++++++++++++++; include文件定义;++++++++++++++++++++++++++++++++++++++

herx1的专栏 1014

Mac安装Typescript报错

根本原因是系统级目录的权限限制。推荐通过修改目录权限或使用nvm彻底解决问题。

江拥羡橙的博客 210

一个小型的用于监视进程产生和撤销驱动逆向分析

一个小型的用于监视进程产生和撤销驱动逆向分析前两天,闪电狼兄给了一个Themida_1.0.0.5加壳的新版绝影凯旋vip1.65,狼把它目录中一个驱动NTProcDrv.sys让偶分析分析,注意这不是Themida_1.0.0.5驱动,不过它也保护这Themida加壳的主程序.早前错认了!由于偶是菜鸟加壳盲.只好"雾"里看花去捏裸笨的NTProcDrv.sys.作者声明: 只是感兴趣,没有其他目

1710

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

MISAYAONE的博客 1708

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

学习笔记2—逆向生成代码快速开发

接上一节的内容,上一节把环境和软件都已经搭建完成,并且运行成功。 一、逆向工程使用 人人开源项目中的代码生成器:https://gitee.com/renrenio/renren-generator 克隆下来放入工程中,加入moudle 修改数据库配置 修改一下逆向工程的模板,把一些没有用的注释掉。 首先生成xuanyuan_pms数据库的相关代码。 启动逆向工程 全部生成完成后是一个压缩包,把里边的内容解压出来复制到product项目中 创建xuanyuan_commo...

軒轅劍的博客 502

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

逆向工程核心原理源代码

链接:https://pan.baidu.com/s/1qvXbeE9AIZyTpVTKIIyuGA 提取码:zofw

qq_39249347的博客 2650

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

逆向未知dhook.sys驱动源代码

IRP_MJ_CREATE和IRP_MJ_CLOSE,DriverUnload例程很简单可以看写出的C代码或者是dhook.sys的驱动.关键IRP_MJ_DEVICE_CONTROL例程有点复杂和用户层通信.如下:.text:000103DB ; int __stdcall sub_103DB(PDRIVER_OBJECT DeviceObject,PIRP Irp).text:000103DB

2501

DeviceIOControl详解-各个击破

DeviceIoControl这个api我们用的不多,但是很重要,有时会帮助我们实现一些特别的需求, 如获取硬件设备信息、与硬件设备通信(读写数据)等,对照msdn,下面我们详细解释一下这个api的用法(有什么错误再所难免,各位不吝指教啊)。DeviceIoControl是用来控

GIS_wudi的专栏 3万+

逆向工程源码加详解

什么逆向工程:即根据数据库自动生成实体类以及mapper、mapper.xml文件 那么什么时候可以用到呢?        对于以为一位初学者来说。你进入公司不可能一进入就是项目组长吧。肯定要一步一步的做起来,比如一个项目项目组长给你建好了数据库,字段已经建好,那我们总不能看着数据库去一个一个的去建实体类和数据库的操作。就出现了逆向工程,我们可以根据项目组长的数据库字段,建立相应的实体类 xm...

java初期 2573

od 追踪_OD逆向一个简单的工程实战

今天闲着没事干,找朋友要了一款简单的登录软件用来写这篇基础入门文章,这篇文章算是最基础的一个逆向工程的实战演示。软件逆向工程(Software Reverse Engineering)又称软件反向工程,是指从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法...

weixin_39541767的博客 737
上一篇: MBRPROT -- Object Hijack(Deep disk filter without hook or function replace)
下一篇: HOOK SwapContext 枚举隐藏进程(学习笔记4)
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值