想写一些小程序,请问我适合学习什么编程语言?

①类似U盘/移动硬盘加密软件,若想使用这个移动硬盘或者U盘,必须输入密码才可以使用,仅在windows上实现即可(不考虑linux)。
②系统验证程序,进入桌面后(包括开机启动进入桌面和win+L锁定后进入桌面),必须输入密码才能继续使用,且这个密码需要通过手机验证才能获取(非短信验证,初步的想法是,通过系统时间,设定一个算法,使手机和电脑的密码同步,也有人说可以通过手机远控电脑实现)。
③U盘监控,可以监控插入办公电脑的所有U盘的操作进行记录并通过内网发送到指定的电脑上。(仅仅是记录并发送复制粘贴新建修改等操作,而不是备份文件)。
④加密电脑上的指定类型文件,不可以通过未授权的U盘或者移动硬盘复制粘贴文件
⑤未授权的U盘和移动硬盘不可以接入电脑。

个人觉得如果python能实现最好,可是如果U盘插在没有python运行环境的电脑上,貌似就很难实现了。如果无法用纯python实现,哪么哪种语言可以凭一己之力实现呢?

如果想从py脚本生成EXE,使之可以在任意Windows系统上运行,可下载 ↓
http://down2.pc6.com/xy3/py2exe-0.6.9.win32-py2.7.zip

你的几个想法很好,但鄙人还有几句话要说。
想法1:这个可以实现,但是,加密数据是很容易的,但是,你所说的加密移动硬盘——如果是说,没有密码,也无法在根目录下存储,或者打开移动硬盘,这在技术上有较大困难。

想法2:如果你对windows了解很深,你可以做到,但是这要求你要有破解系统文件与进程的能力,但是为了这个验证码,你似乎还需要一个短信服务器。。还有一点需注意,就是在Windows解锁前,是无法连接到服务器的,假设你挂了一个破解过的端口在登录页面,使之联系到短信服务器,那么这个端口就很容易被网络黑客的端口扫描器扫到,导致电脑被入侵,可能得不偿失。

想法3:完全可以实现,唯一难点就是,要避开杀毒软件的拦截。

想法4:如果说加密,直接将文档,数据进行加密,是可以的,如果光是要拦截非法的数据拷贝,用Python恐怕实现不了,因为这必须用到硬件唯一识别码(就是电脑硬盘的那一串十六进制数字),但Python这样的高级语言,实现不了,可以学汇编。

想法5:这种想法实现出来的结果顶多是,它会接入电脑,而且显示盘符,但是没有操作文件或运行程序的权限,但是遗憾的是,在底层硬件这方面,Python似乎排不上用场,建议试试C和汇编。

建议你学学C语言,汇编语言这种接近系统底层的语言,能帮助你解决问题,实现想法。

如果我的回答对你有帮助,敬请采纳。追问

问题是生成exe以后,怎么调用去实现这些功能

追答

在系统开启“自动播放选项”的时候,可以利用Autorun.ini或者修改注册表,开机自启动。。
可以参考:
http://wenku.baidu.com/view/5a579c7b5acfa1c7aa00cc1b.html

追问

感谢你的回复:
想法1:不需要对文件进行加密,只需要控制别人访问目录的权限即可,以前用过相关软件,每次插入U盘时,都会提示输入密码,否则不可用。
想法2:这个问题在python上可以完美解决,原理就是编辑一个全屏置顶的窗口,输入密码才可以关闭该窗口,同时锁定组合键,动态密码的话,通过计算机和手机的系统时间进行相同算法的加密,即可获取动态密码。
想法345:求大体的思路,以及所用的语言

追答

想法2:巧妙极了!我倒是完全没想到。。不过这样,以安全模式重启岂不是就失效了?。。。这是个小问题哈。。

想法3:建议去学习一下,黑客攻防,以及网上流传的操作记录器木马等等。最好学习:C、C++语言。像这种硬件操作记录,在NTFS文件格式中可以读取变更日志。

http://univasity.iteye.com/blog/805234

想法4,5:你所指的不是加密文件,是控制权限咯?和想法5的功效差不多,那就放一块好了。。

如果说实现这个,在表面上实现,改注册表就可以了。用C/C++:

//写注册表禁用USB
void CusbmngDlg::LockUSB_ByWReg()
{
    HKEY hKey;
    DWORD dwAge = 4;
    RegCreateKey(HKEY_LOCAL_MACHINE,L"SYSTEM\\CurrentControlSet\\Services\\USBSTOR",&hKey);
    RegSetValueEx(hKey,L"Start",0,REG_DWORD,(CONST BYTE*)&dwAge,4);
    RegCloseKey(hKey); 
}

但是,这只能一次性把所有U盘全禁止,所以可以建立一个密码文件放在U盘,如果是授权的,那么读取密码文件,和程序算法库中是相符的,就:

//写注册表解除禁用USB
void CusbmngDlg::UNLockUSB_ByWReg()
{
    HKEY hKey;
    DWORD dwAge = 3;
    RegCreateKey(HKEY_LOCAL_MACHINE,L"SYSTEM\\CurrentControlSet\\Services\\USBSTOR",&hKey);
    RegSetValueEx(hKey,L"Start",0,REG_DWORD,(CONST BYTE*)&dwAge,4);
    RegCloseKey(hKey); 
}

如果不让陌生的U盘接入电脑,首先按照同样的原理判断是否授权过,若无,则:

//弹出移动存储设备
void CusbmngDlg::RejectFlash()
{
   char strSystemDirectory[256];
   GetSystemDirectory(strSystemDirectory;字数超过写不下了,还有的代码看评论

追问

两个问题:
①这是你现写的,还是搜索出来的?
②python可以实现这些功能吗?

追答

    代码是手打的,但不是原创的,网上有C++写注册表的教程的,然后稍微了解一下系统注册表的结构和原理就能写出来了(其实这我也不是很懂),实际上你看它代码的格式都差不多,就是读注册表,修改键值。

    Python可以实现无压力,请百度:Python操作注册表。。

    但是代码我就不会写了。。没有学过Python,截至目前只会用Python 输出Helloworld【呵呵呵】

追问

感谢大神的回答。

请问python可以实现第一点的功能吗?
而且如果用python实现的话,那岂不是办公区每一台都要安装python的运行环境了?
然而每台电脑都会默认安装C++的运行环境,在这方面,是不是C++比python方便?
另外,学完《C++ primer plus》以后能不能写出你这样级别的代码?(假设默认就知道注册表的相关知识)

追答

控制权限也是可以利用修改注册表键值实现,所以是可以的。
C++比Python高效,但是把Python脚本用我的第一次回答里提到的那个软件可以打包成一个EXE,无需运行库。
完全可以,这其实只要了解C里面有关语法,数组,函数,指针这种关键点,就会发现其实并不难!

关键在于对注册表有关知识的理解和把握

追问

您有联系方式吗?还有些具体问题想请教您。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-17
想法太宏大了。还说小程序

第一个win7以上系统就自带bitlocker。根本就不用写程序。
第四条和第五条是冲突的,你没发现吗追问

bitlocker太费事了,弄不好东西都没了,自己写的程序肯定比这玩意靠谱。而且,我没觉得这些程序宏大呀。会的人应该最多几个小时就能搞定其中一个了吧。

追答

一个大公司写的加密都没你一个不入流的外行写的好?
那你试试吧,希望你能成功。

追问

第四条和第五条是两个独立的功能。当然,这5条,都是独立的功能。

相似回答