发表于 2018-4-27 22:36

申请会员ID:比尔板蓝根

1、申 请 I D:比尔板蓝根
2、个人邮箱:41551815@qq.com
3、原创技术文章:关于批处理的一些学习心得

题外话:本人是一名编程兴趣爱好者,目前正在自学汇编过程中,破解逆向能给我的编程思想带来很多灵感及帮助,特此申请。发布一些早期工作中用到的批处理,简单易懂,有时候用处大过于编写单独的程序。

1、隐藏批处理窗口vbs代码:CreateObject("WScript.Shell").Run "cmd /c sprise.bat",0
      简单的一行代码,计事本编辑,后缀名改为vbs,即可隐藏名为sprise.bat的批处理运行窗口。
2、寻找可移动磁盘。
    cd /d %~dp0    ::此句的作用为转换到该批处理所在的目录下
      :restart            ::goto跳转点
      for %%i in (d e f g h i j k l m n o p q r s t u v w x y z) do (for /f "delims=" %%j in ('fsutil fsinfo drivetype %%i:^|find /i "可移动驱动器"') do (set "b=%%j"&&goto text))
      ::fsutil fsinfo drivetype (x盘):可以输出该盘的类型,U盘为可移动驱动器
      ::两个for循环嵌套,后一个for循环为字符串处理,成功则将变量b的值设为该盘的卷标,并跳转到text处(同时也退出了循环)。关于字符串的处理,有意了解百度即可。
      :text                   ::goto跳转点

      set "lis=%b:~0,1%"   ::设lis为b变量的前一个字符,也就是盘符
      vol %lis%:>nul 2>nul::测试该盘是否存在,并取消回显。注意%lis%后面跟了个':'号
      if %errorlevel% equ 0 (goto copy) else (ping 127.1 -n 5 > nul&goto restart)
      ::检测上个命令执行状态。equ为等于,执行成功%errorlevel%的值为0。如果执行成功,跳转到copy。如果不成功,自ping5次(延时,降低该批处理对计算机资源的占用。另,有的机子上不一定有choice命令),然后跳转重新开始(如果未检测到u盘,else便是无限循环的关键)
      :copy               ::goto跳转点
   上述命令执行完后,U盘的盘符存在于变量%lis%中,随后便可用copy,xcopy,md,rd.....等命令进行操作。配上上一条vbs,可以做到隐藏窗口,静默运行的作用(这不就是所谓的'U盘小偷'吗,后续处理批处理也有,但为避免被人恶意利用,就不贴出来了)。
   缺点,仅能读取第一个u盘(逻辑问题,因为本人没遇上需要处理多个u盘的场景,就没再进行深度开发),应用范围较窄。如需中止程序,需在任务管理器里结束cmd.exe进程。
3、隔x秒自动杀进程批处理
      :2                        ::goto跳转点
   tasklist|findstr /i QQExternal.exe&&taskkill /f /im QQExternal.exe
   ::从tasklist列表中找出QQExternal.exe,如果成功,调用taskkill命令,使用/f /im参数将其杀掉。本可使用变量,但因为只是学习一些命令的用法,后续并没有使用,因此没有使用set。
   choice /t 5 /d y /n > nul
   ::延时5秒,类似于ping 127.0.0.1 -n 5,但时间控制更精确。
   goto 2                  ::循环跳转

Hmily 发表于 2018-4-28 15:27

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
页: [1]
查看完整版本: 申请会员ID:比尔板蓝根