USB接口被封如何解开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了USB接口被封如何解开相关的知识,希望对你有一定的参考价值。

USB接口被封如何解开

下面介绍其具体用法:  

第一步:准备1枚”屌丝的芯”,1张SD卡(或者手机内存卡+卡托),1根USB线,1个手机充电器

 


第二步:格式化SD卡

“文件系统”选择“FAT32”,“分配单元大小”选择“8192字节”

第三步:将SD卡插入”屌丝的芯”的插槽,将”屌丝的芯”直接插到主机后面的串口,用手机充电器+USB线给”屌丝的芯”供电

 

第四步: 超级终端的使用方法

打开windows自带的超级终端:“开始→所有程序→附件→通讯→超级终端”

“名称”里面键入“115200”点击“确定”

“连接时使用”一般其默认的com口就是需要的,直接点击“确定”就行

端口设置如上:“每秒位数”选择“115200”;“数据位”选择“8”;“奇偶校验”选择“无”;“停止位”选择“1”;“数据流控制”选择“无”;点击“确定”,你会看到如下界面:

下面进入的就是传输界面

点击“呼叫→呼叫”即开启传输,点击“呼叫→断开”即关闭传输,当开启传输的时候界面会不停地有字母“C”被打印出来,代表等待传输文件  

第五步:开始文件的传输,注意一定将文件添加到压缩包之后再传输

点击“传送→发送文件”

设置如上:“文件名”选择要传输的文件(压缩包),协议选择“Ymodem” 点击“发送” 

文件传输进行中„„ 接下来耐心等待文件传输吧 

会自动在SD卡中创建一个叫“UART”的文件夹,传输的文件都会放在那个文件夹下 

从上个界面不难看出文件传输的很慢,一个48K的文件需要8s远远不及USB,而且这个速度会随着传输时间的变长而慢慢下降,但出现这种情况实在是有不得已的苦衷,因为9针串口的最大支持速度只有115200bit/s大约14KB/S,而”屌丝的芯”中又有软件开销,所以其最大速度也只有这个速度的一半大约8KB/S。 

纵然速度有点让人失望但是对于广大工程师来说真正要拷贝的重要文件并不大,比如一个大型项目的源代码也很难超过1M吧,再比如这篇篇幅巨大的说明文档word版压缩后也不过2M,用”屌丝的芯”传输也就分分钟的事,何况”屌丝的芯”做的这么低调,黑色和机箱融为一体,无LED指示灯悄无声息,无任何标签没人认识,传输过程中不影响做别的工作,可以慢慢传! 

注意事项: 

1、SD卡必须按照要求格式化 2、超级终端按照要求进行配置 3、文件必须压缩后再传输 

4、每个压缩包大小强烈建议不要超1M,如文件过大可以分解压缩 5、压缩包名字建议用英文命名除扩展名外不要超过8个字母或数字 

6、“屌丝的芯”会自动在你的SD卡中创建一个叫“UART”的文件夹,        传输的压缩包都会放在那个文件夹下 

7、传输过程中如果出现未知错误,请对“屌丝的芯”重新上电后再传输 

参考技术A 以前一提到“安全”二字,大家总会优先想起网络,因为黑客、后门总是数据泄漏的第一渠道。但是随着USB存储设备,尤其是闪存盘的普及,USB设备逐渐成为泄漏资料的“罪魁”,其所带来的危险甚至胜过网络。以目前极为普及的闪存盘为例,它具有免驱动、隐秘性强、容量大、传输速度快等特点,这些特性使之成为一件不折不扣的“间谍”工具。即使一台机器没有联网,不良用心者也可以用闪存盘轻易“带”走保存在本机上的隐秘资料,而且不会留下任何痕迹。因此很多单位都不约而同的用胶带“封杀”了USB接口,但这个“防君子不防小人”的办法并不能真正解决问题。

釜底抽薪:屏蔽USB控制器

通过修改Bios设置,可以直接屏蔽主板上的USB控制器,这个方法几乎适用于所有计算机。这里笔者以目前使用最为广泛的Award BIOS为例进行说明。启动计算机时按键盘的Del键进入BIOS设置界面,用方向键定位到“Integrated Peripherals”项,按回车打开,把其中“USB Controller”设置为“Disabled”。

另外为了防止非法用户更改该设置,请务必加上BIOS密码,然后保存退出,计算机会自动重启,以后计算机上所有的USB接口即告失效。

这个方法虽然简单有效,但副作用也非常明显,因为在屏蔽USB接口之后,不但闪存盘之类的移动存储设备不能用,而且连USB接口的外设,例如USB鼠标、键盘、打印机等都将无法使用,很不方便。

温柔一刀:修改注册表停用USB驱动

在“开始”/“运行”中输入“Regedit”,按回车即可打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor”主键,双击名为“Start”的DWORD值,将“数值数据”改为4。

注意右边的“基数”默认为“十六进制”,该设置切勿更改,单击“确定”即可修改完成。

现在试试看,插上闪盘,闪盘的工作指示灯不亮,而系统也没有任何反应,这证明我们的修改成功了。为了防止非法用户用同样的方法解锁,最好把Regedit.exe程序改名或者直接删除。

小提示:“Start”值是一个控制USB存储设备驱动程序工作状态的开关,可设为以下三种值,设为2时表示自动,设为3时表示手动(这是默认设置),设为4则为停用。

借他山之石:使用第三方工具

第三方USB控制工具具有使用简单、安全可靠的特点,强烈推荐大家使用。这里笔者以“攀达计算机USB控制器”(以下简称“攀达”)为例说明。

软件名称:攀达计算机USB控制器
软件版本:1.1
软件性质:共享软件
软件体积:2339KB
运行平台:Windows 2000/XP
下载地址:http://www3.skycn.com/soft/20883.html

运行下载得到的可执行文件即可自动完成安装并运行于后台,这时系统托盘里会出现一个熊猫图标,双击会弹出一个对话框,要求你输入管理员密码,“攀达”的初始密码为空,直接按“确定”即可打开其设置窗口。

首先单击“修改管理员密码”重设管理员密码,至于那三个复选框的作用笔者就不再多费口舌了,大家顾名思义即可。唯一需要说明的是,如果你选择了“程序在后台隐藏运行”,那么就只能按Alt+Shift+P组合键呼出这个设置窗口了。设置完成后,请按右上角的“x”关闭对话框。虽然界面上说需要重启计算机才能使设置生效,但至少在笔者的Windows XP专业版上却是适时生效的。
参考技术B 通过修改bios设置,可以直接屏蔽主板上的usb控制器,这个方法几乎适用于所有计算机。这里笔者以目前使用最为广泛的award
bios为例进行说明。启动计算机时按键盘的del键进入bios设置界面,用方向键定位到“integrated
peripherals”项,按回车打开,把其中“usb
controller”设置为“disabled”。
另外为了防止非法用户更改该设置,请务必加上bios密码,然后保存退出,计算机会自动重启,以后计算机上所有的usb接口即告失效。
这个方法虽然简单有效,但副作用也非常明显,因为在屏蔽usb接口之后,不但闪存盘之类的移动存储设备不能用,而且连usb接口的外设,例如usb鼠标、键盘、打印机等都将无法使用,很不方便。
温柔一刀:修改注册表停用usb驱动
在“开始”/“运行”中输入“regedit”,按回车即可打开注册表编辑器,找到“hkey_local_machine\system\currentcontrolset\services\usbstor”主键,双击名为“start”的dword值,将“数值数据”改为4。
注意右边的“基数”默认为“十六进制”,该设置切勿更改,单击“确定”即可修改完成。
现在试试看,插上闪盘,闪盘的工作指示灯不亮,而系统也没有任何反应,这证明我们的修改成功了。为了防止非法用户用同样的方法解锁,最好把regedit.exe程序改名或者直接删除。
小提示:“start”值是一个控制usb存储设备驱动程序工作状态的开关,可设为以下三种值,设为2时表示自动,设为3时表示手动(这是默认设置),设为4则为停用。
参考技术C   修改注册表可能性不大,估计是在CMOS设置里面封的.就是开机按DEL键进入的那个界面.“USB Controloer”参数或“OnChip USB”参数,设置为“Enable” 参考技术D BIOS里设置就可以了

我怎样才能解开这个项目

我有一个场景,我的业务层以dll的形式直接引用到我的数据库层,该数据库层充当此项目中的存储库,现在这意味着对数据库层有直接依赖性,需要解耦,请见下面的结构:

Project Structure between Business layer and Database Layer Business layer directly referring to database

我知道如何使用DI和容器,但我想要一些提示以及如何以某种形式将其解耦而无需在业务层中添加IRepository接口,并且数据库层具有在业务层中调用irepository的具体存储库。这根本没有意义吗?

我有一个存储库接口,位于Database_Layer dll中:

 public interface IRepository
 {
    Task Add(Object item);

    Task Remove(int id);

    Task<Object> Find(int id);

    Task UpdateAsync(Object item);

    Task<IEnumerable<Object>> GetAllAsync();

    Task<IEnumerable<Object>> GetAllAsync(Object id);
}

然后我在业务层中有一个名为ContentPanel的类:

using Database_Layer.Interfaces;
namespace Business_Tier.Concrete
{
public class ContentPanel : IPanel
{
    IRepository _repository;
    public ContentPanel(IRepository repo)
    { 
        this._repository = repo;
    }

    public IResolver _Resolver { get; set; } = null;
    public IResolver Resolver { get => _Resolver; set => _Resolver.Resolve<IRepository>("ContentRepository",_repository); }

    public void Delete_Content_Panel(int id)
    {

    }

}

我想消除使用引用database_layer.interfaces并只解决存储库依赖性,我是否必须在Business层中定义存储库接口,以便执行此操作?

答案

业务层(dll)依赖于您的数据访问层(dll)

您需要使用接口从数据访问实现中抽象业务层合同

在Startup项目中使用DI将允许您将所需的实现注入该接口

业务层在数据访问层中始终具有物理依赖性,但在数据访问实现中不具有依赖性。

以上是关于USB接口被封如何解开的主要内容,如果未能解决你的问题,请参考以下文章

如何使用网线接口转usb

如何利用Android手机usb接口当WIFI热点

如何将TF卡接口转换为USB接口

如何写一个Android USB接口驱动

关于STM32关闭SWD/JTAG接口的问题

RJ45转USB接口问题(详细看补充)全部分给你们了、拜托了