网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网络攻防 > 安全文摘 > 批处理打造自己的工具  

批处理打造自己的工具

2008-04-23  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

很久没给大家带来好的东西了。这篇文章是最出色的地方就是结合了INF文件。这个对我来说是个新概念。! 网管下载dl.bitscn.com

  这个批处理工具有5个功能

网管网www.bitscn.com

  1.查询快捷方式所指文件路径 中国网管联盟bitsCN.com

  2.系统账号重命名功能 中国网管论坛bbs.bitsCN.com

  3.重新启动 网管联盟bitsCN@com

  4.安装和卸载系统服务功能 网管联盟bitsCN_com

  5.查看端口关联进程功能 网管联盟bitsCN_com

  在这里,功能一利用的是findstr的正则表达式。在批处理实例教学动画里面有,不懂的可以看下。不过个人感觉有点啰嗦。,直接用FOR扩展下就可以得到的东西。为什么要去弄个findstr呢。?

中国网管论坛bbs.bitsCN.com

  系统账号重命名利用了wmic,这个wmi命令行形式。wmic很强哦。

中国网管论坛bbs.bitsCN.com

  重新启动和安装卸载服务都是通过echo INF文件来实现的。这是这文章的亮点,不过可惜的是没有把secedit也结合进去。不然就真的淫荡之极了。哈哈。

网管u家u.bitscn@com

  本来想挑战一下作者的。但是没得时间。呵呵。 网管u家u.bitsCN.com

  源代码如下。

网管下载dl.bitscn.com

@Echo off
If "%1" == "" Goto Help
网管论坛bbs_bitsCN_com


If "%1" == "-help" Goto Help
If "%1" == "-reboot" Goto Reboot
If "%1" == "-installservice" Goto InstallService
If "%1" == "-removeservice" Goto RemoveService
If "%1" == "-fport" Goto Fport
If "%1" == "-querylnk" Goto QueryLnk
If "%1" == "-renname" Goto RenName
Goto Exit

网管u家u.bitscn@com


:QueryLnk
If "%~2" == "" Echo 您未输入要查询的快捷方式路径(若路径有空格,请用引号引起来)&&Goto Help
If /i "%~x2" NEQ ".lnk" Echo 错误,您输入的不是快捷方式&&Goto Exit
Echo.
Echo.
Echo 您输入的是:
Echo %2
Echo.
Echo 查到目标文件路径是:
type %2|more|findstr "^[a-zA-Z]:\\\\"
Goto Exit 网管联盟bitsCN_com

:Reboot
If "%2" == "" Echo 要重新启动请加任意参数(Exp:NP -reboot y)&&Goto Exit
Setlocal
Cd/d %temp%
Echo [version] > reboot.inf
Set inf=InstallHinfSection DefaultInstall
Echo signature=$chicago$Content$nbsp;>>reboot.inf
Echo [defaultinstall] >>reboot.inf
Rundll32 setupapi,%inf% 1 %temp%\reboot.inf
Del reboot.inf
Goto Exit

网管u家u.bitscn@com

:InstallService
Setlocal
Cd/d %temp%
If "%2"=="" Echo NP -InstallService ServiceName FileName&&Goto Exit
If "%3"=="" NP -InstallService ServiceName FileName&&Goto Exit
Echo [Version] >install.inf
Echo Signature="$WINDOWS NT$" >>install.inf
Echo [DefaultInstall.Services] >>install.inf
Echo AddService=%2,,My_AddService_Name >>install.inf
Echo [My_AddService_Name] >>install.inf
Echo DisplayName=%2 >>install.inf
Echo Description=%2 >>install.inf
Echo ServiceType=0x10 >>install.inf
Echo StartType=2 >>install.inf
Echo ErrorControl=0 >>install.inf
Echo ServiceBinary=%3 >>install.inf
Rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %temp%\install.inf
Del install.inf
Echo 安装完毕,需立即启动,请用Net start命令!
Goto Exit

中国网管论坛bbs.bitsCN.com

:RemoveService
Setlocal
Cd/d %temp%
If "%2"=="" Echo NP -RemoveService ServiceName&&Goto Exit
Net start|find "%2" >nul&&net stop %2
Echo [Version] >Remove.inf
Echo Signature="$WINDOWS NT$" >>Remove.inf
Echo [DefaultInstall.Services] >>Remove.inf
Echo DelService=%2 >>Remove.inf
Rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %temp%\Remove.inf
Del Remove.inf
Goto Exit

网管联盟bitsCN_com

:Fport
setlocal enabledelayedexpansion 
echo ------------------------------------------------------------------------ 
echo       进程名称                端口号     
ECHO TCP协议: 
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; 
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j; 
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( 
call :Assoc %%i TCP %%j 
echo       !TCP_Proc_Name!                !TCP_Port! 
网管网www.bitscn.com

ECHO UDP协议: 
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do ( 
call :Assoc %%i UDP %%j 
echo       !UDP_Proc_Name!                !UDP_Port! 

echo 按任意键退出 
pause>nul 

网管联盟bitsCN_com

:Assoc 
::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) 
for /F "tokens=2 delims=:" %%e in ("%1") do ( 
  set %2_Port=%%e 

:: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; 
for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( 
  ::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。 
  set %2_Proc_Name=%%~a 

Goto Exit 网管u家u.bitsCN.com

:RenName
If "%2"=="" Echo 请输入要重命名的名称&&Goto Exit
Wmic UserAccount Where Name=’%1’ call Rename %2
Goto Exit 中国网管论坛bbs.bitsCN.com

:Help
Echo ******************************************************************************
Echo **                Small_Tool
Echo **
Echo **                Code By NetPatch
Echo **    Exp:
Echo **    NP -Help        //脚本帮助
Echo **    NP -Reboot        //重新启动
Echo **    NP -InstallService    //安装服务
Echo **    NP -RemoveService    //删除服务
Echo **    NP -Fport        //端口关联的进程
Echo **    NP -QueryLnk        //查询快捷方式所指文件路径
Echo **    NP -RenName        //系统帐号重命名 中国网管联盟bitsCN.com
Echo **
Echo **    注意:命令请全部用小写形式!
Echo *******************************************************************************
CMD /K 网管论坛bbs_bitsCN_com

:Exit  网管bitscn_com



TAGs
 上一篇:超级浓缩Mysql5注射技巧总结   下一篇:小心Cookie泄密 如何防范网吧黑客窃取机密
批处理打造自己的工具 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: