替换GINA.DLL实现自己的登陆界面

自定义GINA  自定义GINA GINA(Graphical Identification and Authentication)是一个由Winlogo.exe加载和使用的DLL,是一个可以自定义和可替换的模块。GINA实现了一个有图形界面的可交互式的用户登录和权限策略。例如,通过替换系统本身自带的GINA可以实现智能卡、虹膜扫描等安全认证的方式来替代Windows NT中默认使用的用户名和密码 阅读详情
发表日期:2004年12月9日   出处:www.xiaozhou.net(本站原创)    作者:酷狗     【编辑录入:webmaster】
 

想不想拥有自己个性化的WIN2000登陆界面呢?本文就教你如何实现。

登陆界面示例(这是我在虚拟机上抓的图):

 

你可以通过编程替换掉微软的MSGINA.DLL,用来实现自己的密码登陆验证功能,如图,我就加入了两个密码验证的功能。

一、原理
在NT/2000中交互式的登陆支持是由WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互式的界面为用户登陆提供认证请求。WinLogon会和GINA DLL进行交互,缺省是MSGINA.DLL(在System32目录下)。微软同时也为我们提供了接口,我们可以自己编写GINA DLL来代替MSGINA.DLL。

WinLogon初始化时会创建3个桌面:
(1)、winlogon桌面:主要显示Windows 安全等界面,如你按下CTRL+ALT+DEL,登陆的界面等
(2)、应用程序桌面:我们平时见到的那个有我的电脑的界面
(3)、屏幕保护桌面:屏幕保护显示界面。

在默认情况下,GINA显示登陆对话框,用户输入用户名及密码 。所以要获得用户名和密码 ,则可以写一个新的GINA DLL,其中提供接口调用msgina.dll的函数WlxLoggedOutSAS。

二、程序实现
GINA DLL要输出下列函数(winlogon会调用):

(表一)GINA 函数一览表

函数 描述
WlxActivateUserShell激活用户外壳程序
WlxDisplayLockedNotice允许GINA DLL 显示锁定信息
WlxDisplaySASNotice 当没有用户登陆时,Winlogon调用此函数
WlxDisplayStatusMessageWinlogon 用一个状态信息调用此函数进行显示
WlxGetConsoleSwitchCredentials Winlogon调用此函数读取当前登陆用户的信任信息,并透明地将它们传到目标会话
WlxGetStatusMessage Winlogon 调用此函数获取当前状态信息
WlxInitialize 针对指定的窗口位置进行GINA DLL初始化
WlxIsLockOk 验证工作站正常锁定
WlxIslogoffOk 验证注销正常
WlxLoggedOnSAS 用户已登陆并且工作站没有被加锁,如果此时接收到SAS事件,则Winlogon 调用此函数
WlxLoggedOutSAS 没有用户登陆,如果此时收到SAS事件,则Winlogon 调用此函数, This indicates that a logon attempt should be made 。
WlxLogoff 请求注销操作时通知GINA DLL 
WlxNegotiate 表示当前的Winlogon版本是否能使用GINA DLL
WlxNetworkProviderLoad 在加载网络服务提供程序收集了身份和认证信息后,Winlogon 调用此函数
WlxRemoveStatusMessage Winlogon 调用此函数告诉GINA DLL 停止显示状态信息
WlxScreensaverNotify 允许GINA与屏幕保护操作交互
WlxShutdown 在关闭之前Winlogon 调用此函数,允许GINA实现任何关闭任务,例如从读卡器中退出智能卡
WlxStartApplication 当系统需要在用户的上下文中启动应用程序时调用此函数
WlxWkstaLockedSAS当工作站被锁定,如果接收到一个SAS,则Winlogon 调用此函数

为了简化编程,我们从MSGINA.DLL中动态获取上述函数,在自定义的DLL中(以下称为MyGina.DLL)中直接调用MSGINA.DLL的函数即可。现在我们要处理的就是WlxLoggedOutSAS函数:

int WINAPI WlxLoggedOutSAS(PVOID                pWlxContext,
         DWORD                dwSasType,
         PLUID                pAuthenticationId,
         PSID                 pLogonSid,
         PDWORD               pdwOptions,
         PHANDLE              phToken,
         PWLX_MPR_NOTIFY_INFO pMprNotifyInfo,
         PVOID *              pProfile)
{
//=========================加入我的登陆=========================
  


   Clogin login;
 if (login.DoModal()==IDCANCEL)
 {
   return WLX_SAS_ACTION_NONE;
 }
 if(login.bCLOSE==TRUE)
 {
  return WLX_SAS_ACTION_SHUTDOWN;
 }
 if(login.DoModal()==IDOK)
 {

  char UserName[40];
  char PassWord[40];
  char PassWord2[40];
  
  strcpy(UserName,theApp.MyUser);
  strcpy(PassWord,theApp.MyPass);

 //在这里,我为了简便,直接在程序里面比较密码,并且把默认管理员帐号设置为自动登陆

//自动登陆函数SetAutoLogon
        strcpy(PassWord2,theApp.MyPass2);
 //  AfxMessageBox(UserName);
 //  AfxMessageBox(PassWord);  
  if(!strcmp(UserName,"Administrator"))
   if(!strcmp(PassWord,"123"))
    if(!strcmp(PassWord2,"456"))
    {
     SetAutoLogon("administrator","","123");
     return theApp.MyWlxLoggedOutSAS(pWlxContext,dwSasType,pAuthenticationId,
   pLogonSid,pdwOptions,phToken,pMprNotifyInfo,pProfile);
    }


 }
 AfxMessageBox("密码或者用户名错误!不能登陆!");
 return WLX_SAS_ACTION_NONE;

}

然后设计登陆框,实现自己的界面,具体实现就不再详细说明了,可以参考代码。

三、安装和注意事项:

在编写GIAN DLL中要注意,GINA DLL使用的是unicode。

【安装】GINA DLL的安装:
1. 添加注册表
键名 : /HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Winlogon
变量名 : GinaDLL
变量类型 : [REG_SZ]
内容 : "你的GINA DLL的名称" 如:"MyGina.DLL:

2. 将你的GINA DLL(MyGina.dll)拷贝到系统目录下(system32);

3. 重启机器,你的GINA DLL(MyGina.dll)就会运行。

【注意】
1. 如果出现进不了你的系统,那你进入DOS后,将msgina.dll拷贝成你的GINA DLL(MyGina.dll)就可进入了;或者进入安全模式,删除掉那个键值( GinaDLL )。

2. Console 程序如果想使用MFC类,必须包含<afx.h>,同时注释掉<windows.h>。

3. 如果出现这种错误:“LINK : fatal error LNK1104: cannot open file "mfc42u.lib" ”,那么说明 lib路径的设置问题,你的链接器在指定的目录下没有找到这个的文件,你应该添加新的目录以便编译器找到所需的库文件。具体位置:IDE中 菜单Tools/Options/Directories/show directories for/ <library files>。

4. 如果出现这种错误:“uafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in main.obj ”或者“mfcs42ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in main.obj ”,那么“See if you have _AFXDLL and _USRDLL in the preprocessor definitions. Try removing one of them”。具体位置:IDE中 菜单Project / Setting / C/C++ / preprocessor definition 。


Gina dll 程序,已经替换登陆界面 windows登陆界面改写dll,替换了系统自带登陆界面,只要修改注册表的gina相关项就可以替换运行 立即下载

相关推荐

GINA.dll 各函数介绍

GINA.dll 各函数介绍 首先介绍一下Winlogon。Windows 2000/NT有三种系统状态:没有用户登录状态、用户成功登录状态以及工作站锁定状态。Winlogon是Windows 2000/NT操作系统提供交互式登录支持的组件。Winlogon有三个组成部分:可执行文件winlogon.exe,提供图形界面认证功能的动态库 Gina Dll,以及一些网络服务提供动态库Network Provider Dll。

windows gina

做过windows定制登录的(xp/2000/2003等,vista/win7/2008已经使用了另外一种叫做凭证提供程序的方式了)一定很了解这个了,写这个的主要目的是希望给刚刚接触GINA的同学一些帮助(但愿是有用的)!!GINA英文全名叫做 Graphical Identification and Authentication,是一个图形化的登录认证模块.首先让我们看一下windows的登录过

Sunwind的专栏 7827

xp安全模式下实现自定义msgina.dll(正常模式和安全模式可用)

xp安全模式下实现自定义msgina.dll(正常模式和安全模式可用)

Windows开机登录认证与Gina DLL

Windows的开机密码认证模块一般是由Gina DLL完成的。在NT/2000中交互式的登陆支持是由WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互式的界面为用户登陆提供认证请求。  1.Gina原理  WinLogon会和GINA DLL进行交互,缺省是MSGINA.DLL(在System32目录下)。微软同时也为我们提供了接口,我们可以自己编写GINA DL

曾今拼命的想,现在却拼命的忘 1096

Gina dll编写

Gina dll编写,VC6.0编译即可

MyGina.dll

MyGina.dll

Gina.DLL被破坏,无法调用winlogin登录界面

Gina.DLL被破坏,无法调用winlogin登录界面。一、现象1、Windows XP 在Normal和Safe Mode 下提示GinaDll文件被破坏或者提示rpcfap.dll丢失,登录UI无法正常显示。2、利用ERD启动系统后,查找注册表[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winl

疯狂的鼠标 7129

为什么你的SiC MOSFET仿真不准?可能是离子注入的‘沟道效应’在捣鬼(Silvaco BCA模块详解)

本文深入分析了SiC MOSFET仿真中离子注入沟道效应的关键影响,揭示了Silvaco BCA模块在模拟SiC晶向和角度参数时的核心设置要点。通过详细解析晶圆偏切与注入角度的等效关系,提供优化MOSFET沟道区注入仿真的五步实战方法,帮助工程师将阈值电压仿真误差从26%降低到5%以内。

weixin_26789847的博客 409

替换GINA.DLL实现自己的登陆界面uiu

  你可以通过编程替换掉微软的MSGINA.DLL,用来实现自己的密码登陆验证功能,如图,我就加入了两个密码验证的功能。   一、原理   在NT/2000中交互式的登陆支持是由WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互式的界面为用户登陆提供认证请求。WinLogon会和GINA DLL进行交互,缺省是MSGINA.DLL(在System32目录下)。微软同

yingfox的专栏 1736

从零到一:树莓派OpenWrt squashfs固件扩容背后的文件系统魔法

本文深入解析树莓派OpenWrt系统中squashfs固件的扩容原理与操作。通过理解squashfs与overlayfs的协同机制,掌握分区调整和文件系统扩容技巧,解决存储空间限制问题,提升设备可用性。

hadoop5ranger的博客 1037

Weaxor勒索病毒实战分析:从加密算法到防御策略(附检测工具清单)

本文对Weaxor勒索病毒进行了深度实战剖析,详细拆解了其采用ChaCha20与AES-CTR的混合加密算法、横向移动手法及数据回传行为。文章重点分析了其密钥生成机制的“漏洞修复”,并提供了从主机加固、网络监控到基于IOC威胁狩猎的立体化企业级防御策略与检测工具清单。

weixin_29233333的博客 260

替换GINA.DLL实现自己的登陆界面[酷狗] 转

http://www.libing.net.cn/read.php?1292发表日期:2004年12月9日 出处:www.xiaozhou.net(本站原创)代码下载: 下载文件 (已下载 6 次) 点击这里下载文件 你可以通过编程替换掉微软的MSGINA.DLL,用来实现自己的密码登陆验证功能,如图,我就加入了两个密码验证的功能。一、原理在NT/2000中交互式的登...

weixin_30847865的博客 89

Linkage Mapper 工具参数详解——Building Network and Map Linkages

此文档用于解析使用LinkageMapper各输入输出参数详情以及可能的影响,并介绍了如何解释模型输出结果和输出参数,适合刚入手的人。篇幅很长很啰嗦,是因为每个参数都解释的万分细致。

sumuses的博客 6105

替换GINA.DLL实现自己的登陆界面 http://www.xiaozhou.net/ReadNews.asp?NewsID=569

想不想拥有自己个性化的WIN2000登陆界面呢?本文就教你如何实现。登陆界面示例(这是我在虚拟机上抓的图):screen.width-333)this.width=screen.width-333" alt="" src="http://www.xiaozhou.net/uploadfile/jpg/2004-12/2004129152523118.jpg" border="0"> 你可以通过编程

xu的blog 5592

K8s-K8s部署Zookeeper+Kafka+ELFK+持久化数据

K8s环境下容器化部署`Zookeeper+Kafka+ELFK`日志收集系统

✅ 专注企业级 Linux/DevOps 运维的实战派 ✅ 已输出上百篇可落地方案 ✅ Shell 脚本开箱即用 ✅ K8s/YAML 环境验证 ✅ 故障排查链路完整复现 1914

使用Zed 实现测距

此代码基于官方代码基础上进行改写,主要是获取zed相机深度画面的深度值,为yolo测距打基础。Zed相机是由Stereolabs公司开发的一种先进的立体视觉相机。这种相机专为计算机视觉和机器学习应用而设计,能够提供高质量的3D捕捉和分析功能。: Zed相机配备有一对垂直排列的传感器,能够捕捉两个略有偏移的图像,从而模拟人的双眼视觉,实现深度感知。: 利用立体成像技术,Zed相机能够实时生成环境的3D模型,这对于机器人导航、增强现实(AR)和虚拟现实(VR)等应用至关重要。

weixin_45303602的博客 911

替换GINA.DLL实现自己的登录界面

你可以通过编程替换掉微软的MSGINA.DLL,用来实现自己的密码登陆验证功能,如图,我就加入了两个密码验证的功能。一、原理在NT/2000 中交互式的登陆支持是由WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互式的界面为用户登陆提供认证请求。WinLogon会和GINA DLL进行交互,缺省是MSGINA.DLL(在System32目录下)。微软同时也为我们提供了接口,

yushiqiang1688的专栏 8657

Open3D(C++) 点云构建三维Delaunay三角剖分

C++版本的Open3D实现从点云构建三维Delaunay,可视化效果。

点云侠的博客 2247

关于gina.dll的编写

gina,正如微软官方说明所说的: The GINA operates in the context of the Winlogon process and, as such, the GINA DLL is loaded very early in the boot process. The GINA DLL must follow rules so that the integrity of...

tianshibaijia 325

# YOLOv11-seg改进系列 | 引入CVPR MetaFormer的C3k2_PoolingFormerCGLU模块,池化Token混合+CGLU门控MLP

本文引入 CVPR 2022 论文(MetaFormer/PoolFormer)提出的 MetaFormer 元架构设计,以Pooling Token 混合器 + ConvolutionalGLU(CGLU)MLP构成,将其封装为,用于替换 YOLOv11-seg 的 C3k2 块。对比维度C3k2(基线)C3k2_PoolingFormerCGLU(本文)参数量(n scale)2.46M≈2.49M9.6≈9.69.7(+1.0%)架构范式单阶段卷积MetaFormer 双阶段。

qq_44224801的博客 843

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

XP GINA DLL 的开发

安装 修改 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的 键:ginadll 类型:REG_SZ值: myGina.dll 如果DLL异常或出错,将导致系统无法正常登陆 计算机锁定前,由WINLOGON调用 XP下 和 2003不同, WIN7后不在使用GINA 1 ty...

weixin_30530339的博客 198

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

利用GINA实现U盘开机锁

一、原理        GINA是WinLogon的可插入部件。Windows操作系统中Winlogon进程负责管理与登录和身份认证相关的安全性工作,包括处理用户的登录与注销、启动用户shell、输入口令、更改口令、锁定与解锁工作站等。Winlogon进程在系统初始化时,启动用户程序之前运行起来,以保证相关操作对其它进程不可见,避免其它进程取得登录敏感数据。启动过程中winlogon.exe

wwjshao的专栏 2632

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【引用】Windows开机登录认证与Gina DLL

Windows的开机密码认证模块一般是由Gina DLL完成的。在NT/2000中交互式的登陆支持是由WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互式的界面为用户登陆提供认证请求。1.Gina原理WinLogon会和GINA DLL进行交互,缺省是MSGINA.DLL(在System32目录下)。微软同时也为我们提供了接口,我们可以自己编写GINA DLL来代替MSGI

314
上一篇: 改造PE中的函数为导出函数
下一篇: Hooking the kernel directly
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值