鱼C论坛

 找回密码
 立即注册
查看: 3004|回复: 11

要想实现U盘里自启动以及控制U盘的访问权 需要哪些方面的知识?

[复制链接]
发表于 2014-6-19 10:56:21 | 显示全部楼层 |阅读模式
20鱼币
如题:要想实现U盘里自启动以及控制U盘的访问权  需要哪些方面的知识?想让一个程序在插入U盘后即运行,不管是否自动播放,并且可以控制U盘是否被访问,以及格式化。
如有大神,请不吝赐教。

最佳答案

查看完整内容

那选我为最佳答案呗。。亲。。。╭(╯3╰)╮
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-19 10:56:22 | 显示全部楼层

点评

青莲真厉害~  详情 回复 发表于 2014-6-20 16:05
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-19 17:36:03 | 显示全部楼层
可以通过量产解决访问权限的问题,例如禁止写入权限,跟光盘一样的只读权限。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-19 21:09:46 | 显示全部楼层
小甲鱼 发表于 2014-6-19 17:36
可以通过量产解决访问权限的问题,例如禁止写入权限,跟光盘一样的只读权限。

谢谢小甲鱼。不过这样会不会 U盘没法像正常U盘一样存储和读写文件。我只是想让U盘在验证密码前无法打开和格式化U盘。

点评

如果你希望写一个安全软件,将数据存放在U盘的安全软件中,需要验证才能对该安全软件内的东西进行操作,这是可以办到的。但无法阻止从我的电脑右键“格式化U盘”。  详情 回复 发表于 2014-6-19 21:24
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-19 21:24:50 | 显示全部楼层
♂我是上帝♂ 发表于 2014-6-19 21:09
谢谢小甲鱼。不过这样会不会 U盘没法像正常U盘一样存储和读写文件。我只是想让U盘在验证密码前无法打开和 ...

如果你希望写一个安全软件,将数据存放在U盘的安全软件中,需要验证才能对该安全软件内的东西进行操作,这是可以办到的。但无法阻止从我的电脑右键“格式化U盘”。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-19 21:35:49 | 显示全部楼层
本帖最后由 ♂我是上帝♂ 于 2014-6-19 21:40 编辑

http://www.demohour.com/projects/320198  如果在U盘量产时就把软件写入呢?我看到网上有一个软件安装后,即使重装系统也没用。,我是只菜鸟,上面的不知道说得对不对?只是想实现自己的想法.谢谢小甲鱼。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-20 09:21:56 | 显示全部楼层
ring3下实现。。。。。检测U盘插入的函数

        ///// 检测U盘插入c#代码
        ///// </summary>

        //public const int WM_DEVICECHANGE = 0x219;
        //public const int DBT_DEVICEARRIVAL = 0x8000;
        //public const int DBT_CONFIGCHANGECANCELED = 0x0019;
        //public const int DBT_CONFIGCHANGED = 0x0018;
        //public const int DBT_CUSTOMEVENT = 0x8006;
        //public const int DBT_DEVICEQUERYREMOVE = 0x8001;
        //public const int DBT_DEVICEQUERYREMOVEFAILED = 0x8002;
        //public const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
        //public const int DBT_DEVICEREMOVEPENDING = 0x8003;
        //public const int DBT_DEVICETYPESPECIFIC = 0x8005;
        //public const int DBT_DEVNODES_CHANGED = 0x0007;
        //public const int DBT_QUERYCHANGECONFIG = 0x0017;
        //public const int DBT_USERDEFINED = 0xFFFF;

        //protected override void WndProc(ref Message m)
        //{
        //    try
        //    {
        //        if (m.Msg == WM_DEVICECHANGE)
        //        {
        //            switch (m.WParam.ToInt32())
        //            {
        //                case WM_DEVICECHANGE:
        //                    break;
        //                case DBT_DEVICEARRIVAL://U盘插入
        //                    DriveInfo[] s = DriveInfo.GetDrives();
        //                    foreach (DriveInfo drive in s)
        //                    {
        //                        if (drive.DriveType == DriveType.Removable)
        //                        {
        //                            Upath = drive.Name.ToString();
        //                            string folderpath = Upath + @"\taxbase";
        //                            if (!Directory.Exists(folderpath))
        //                            {
        //                                Directory.CreateDirectory(folderpath);
        //                            }
        //                            string path = Upath + @"\taxbase\" + LoginUserInfo.LoginUser.Com_code + @".db";
        //                            if (File.Exists(path))
        //                            {
        //                                MessageBox.Show("检测到U盘插入,可以更新数据!");
        //                            }
        //                            break;
        //                        }
        //                    }
        //                    break;
        //                case DBT_CONFIGCHANGECANCELED:
        //                    break;
        //                case DBT_CONFIGCHANGED:
        //                    break;
        //                case DBT_CUSTOMEVENT:
        //                    break;
        //                case DBT_DEVICEQUERYREMOVE:
        //                    break;
        //                case DBT_DEVICEQUERYREMOVEFAILED:
        //                    break;
        //                case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
        //                    break;
        //                case DBT_DEVICEREMOVEPENDING:
        //                    break;
        //                case DBT_DEVICETYPESPECIFIC:
        //                    break;
        //                case DBT_DEVNODES_CHANGED:
        //                    break;
        //                case DBT_QUERYCHANGECONFIG:
        //                    break;
        //                case DBT_USERDEFINED:
        //                    break;
        //                default:
        //                    break;
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        MessageBox.Show(ex.Message);
        //    }
        //    base.WndProc(ref m);
        //}


至于访问控制,。。。。可以用HOOK API 实现。。。HOOK CreateFile试试。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-20 09:36:34 | 显示全部楼层
向往青莲 发表于 2014-6-20 09:21
ring3下实现。。。。。检测U盘插入的函数

        ///// 检测U盘插入c#代码

谢谢(这年头,干啥都不容易。灌水也要专业点哈~ 论坛和谐学习环境,需要你我一起来维护^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-20 09:37:53 | 显示全部楼层
♂我是上帝♂ 发表于 2014-6-20 09:36
谢谢(这年头,干啥都不容易。灌水也要专业点哈~ 论坛和谐学习环境,需要你我一起来维护^_^

我。。。我这算灌水么?。。。
{:7_154:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-20 10:47:31 | 显示全部楼层
向往青莲 发表于 2014-6-20 09:37
我。。。我这算灌水么?。。。

没有啦,我就想回复谢谢。结果出来这个,我就直接粘贴,凑字数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-20 16:05:51 | 显示全部楼层
向往青莲 发表于 2014-6-20 12:02
那选我为最佳答案呗。。亲。。。╭(╯3╰)╮

青莲真厉害~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-20 17:16:46 | 显示全部楼层
小甲鱼 发表于 2014-6-20 16:05
青莲真厉害~

这个是百度查到的。。。
像这种,最好的办法是写一个文件过滤驱动(minifilter应该就能实现, 当然HOOK也可以,不过就怕不稳定,minifilter很稳定)。。。。。强大有效方便。。。
我怕楼主不懂,就没敢说。。。。。。囧。。。反正感觉ring0实现比ring3实现强多了。。。

鱼哥。。。我计算机入门都是看的你的教程入门的呢。。。。。。。。。。
C语言,C++,汇编,OD,win32汇编。。。。。。。。
{:7_148:}

评分

参与人数 1鱼币 +5 收起 理由
♂我是上帝♂ + 5 谢谢诸位大神

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 05:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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