html tool

显示标签为“window”的博文。显示所有博文
显示标签为“window”的博文。显示所有博文

2021年6月28日星期一

net use && for

单个命令:

net use \\${ip}\IPC$ ${passwd}   /u:${username}

这里的如果改为net use \\${ip}\IPC$ *  /u:${username}

会提示输入passwd


配合文件:

[pd.file]

***     admin

123    admin

...


文件中使用\t间隔,如下使用可以登录成功或失败,形成登录日志

for /F "tokens=1,2*" %i in (pd.file) do net use \\${ip}\IPC$ %i /u:%j


2021年2月25日星期四

powershell导出文件vim默认打开乱码问题

 参考:https://www.zhihu.com/question/22363620

问题: powershell 中使用 > ,>>导入到文件,文件用vim打开为乱码(同一个操作用cmd导入,vim打开不是乱码),此文件用记事本打开,不是乱码,看编码格式是unicode,如下:




解决:
:set encoding=utf8
:e  #这个不知为什么一定要加,之前只用上面的就可以。
另外查了一下记事本的unicode 是bom 小 的参见: 

https://www.zhihu.com/question/20650946/answer/15745831
如果是为了跨平台兼容性,只需要知道,在 Windows 记事本的语境中:
  • 所谓的「ANSI」指的是对应当前系统 locale 的遗留(legacy)编码。[1]
  • 所谓的「Unicode」指的是带有 BOM 的小端序 UTF-16。[2]
  • 所谓的「UTF-8」指的是带 BOM 的 UTF-8。[3]


2019年1月9日星期三

转: shellcode-call&&pop获得eip的方法

来源地址:
https://www.xineting.club/2018/11/03/shellcode%E7%BC%96%E7%A0%81%E6%8A%80%E6%9C%AF/


如何获取shellcode起始位置

  • Shellcode在以位置无关方式访问时,首先需要引用一个基址指针,用该基址指针加上或减去一定的偏移,从而顺利的访问shellcode中包含的数据。
  • Shellcode在以位置无关的方式访问指令和数据时,通常是通过基址地址加上偏移的方式来实现,该基址地址通常是shellcode执行时的起始位置。
  • 获取到该起始位置后,需要将其写入到一个通用寄存器中,作为后续基址指针来使用。可能大家很容易想到通过mov eax,eip这条指令直接把当前eip的值放入到eax中遗憾的是,x86架构上指令指针寄存器eip不能被软件直接访问。
  • call/pop指令
    Shellcode可以通过在一个call指令后立即执行pop指令,将上一刻压入栈中的指令地址载入到寄存器中,从而获取到shellcode起始的内存地址。

【popexizhi: 
这里解释了why
。。。 
         call L001
L001:
        pop ebx                        // 这个是要获得call L001的eip到ebx啊!!
        sub ebx, 8                    //【next 】看我如何计算的和更好的计算方式

2019年1月3日星期四

读书笔记-改变线程EIP注入-原理和方式笔记




12.1.2 改变线程EIP注入
  • 1.CreatRemoteThread
    • [test pass]
      原理:
      1.在目标进程中申请内存,并向其中写入dll路径
      2.然后调用CreatRemoteThread ,在目标进程中创建线程,线程函数的地址写 LoadLibrarA(W),参数为步骤1中dll的路径存放内存指针

      PS:
      要求拥有目标进程的4个权限:
      PROCESS_CREATE_THREAD
      PROCESS_QUERY_INFORMATION
      PROCESS_VM_OPERATION
      PROCESS_VM_WRITE
      win7及其以上版本要求更多的权限
      问题:
      Vista以上版本增加了会话(Session)隔离,调用CreateRemoteThread时对会话进程检查,不再统一会话会调用CsrClientCallServer 登记新线程失败,但是这个过程在KernelBase.dll中进行,可以使用Shellcode将其Patch掉。
      但即使如此,如果涉及需要CSRSS子系统支持操作,其创建和执行就会失败。
  • 2.RtlCreateUserThread
    • [test fail] -- 这个好奇怪原始代码编译运行也不行
      原理:
      RtlCreateUserThread
      ntdll中Rtl执行体的一部分,与CreateRemoteThread类似,最终都是用NtCreateThreadEx 来创建线程实体。
      但它一般用来创建特殊线程
      (eg: Native 程序的smss.exe 用其来创建监听线程,
                   以及在调试器附加到进程时创建DbgUiRemoteBreakin线程)
      所以不需要经过csrss的验证登记。
      diff:  与CreateRemoteThread不同的是,使用RtlCreateUserThread创建的线程需要自己结束自己
      • PS:
        • + - native程序介绍:
          • https://www.cnblogs.com/BoyXiao/archive/2011/09/21/2183059.html
            在一开始的 Windows NT 内核中是支持三个环境子系统的,即 POSIX,WINDOWS,OS/2,这些子系统属于同一层,它们共用了 Windows NT 所提供的 API,
            即每一个子系统中的 API 的调用都会转换到下一层的相同调用上,
            在 Windows 环境子系统(有 Windows,Posix,OS/2)中的程序,
            都会调用其相对于的子系统下的 API,比如 Windows 子系统中的程序有可能会调用 Win32 API CreateProcess,

            而 Posix 子系统中的程序也有可能会调用 Posix API CreateProcess(当然有可能在 POSIX 下创建进程不是这个名称),
            但是终归来说,这两个 CreateProcess 的调用都会转换到 Ntdll.dll 中的 NtCreateProcess 中,
            也就是上面的三个子系统最后的调用都会回归到 ntdll.dll 上,
            而我们的 Native Application 则是绕过 Windows 子系统,
            直接自己调用 Native API,比如创建进程的话,我就不再通过子系统中的神马 CreateProcess 来完成了,
            而是直接在程序中调用 ntdll.dll 中的 Native API NtCreateProcess 来完成,
            而这类程序即称之为 Native Application !
                      

            Native Application 的运行环境:
            上面也说了,Native Application 是只能够访问 ntdll.dll 中的内容的,
            而如果是在子系统下运行一个程序的话,必然会加载其他的 DLL,
            比如在 Windows 子系统下一个 kernel32.dll 是必不可少的吧,
            如果 Native Application 能够运行在 Windows 子系统下的话,必然也会加载到 Kernel32.dll,
            这样不就和上面相违背了嘛 ~
            总之:Native Application 是不能够运行在任何子系统下的 !
          + - smss.exe与native的启动时机
          • Native Application 的启动时机:
            对于 Windows 操作系统的引导过程,这里需要带一笔的,Windows 操作系统启动时,
            当 Windows 内核的引导完成以后,就会启动会话管理器 smss.exe 进程了,
            smss.exe 进程虽然是一个用户模式的进程,但是这个进程相对于其他用户模式进程是具有一定特殊性的,
            首先 smss.exe 进程是直接建立在 Windows NT 内核上的,其不依赖于任何一个环境子系统,
            至于不依赖于任何一个环境子系统这一说的话,还是可以很好的解释的,
            因为当环境子系统进程(Windows 子系统进程为 csrss.exe)就是由 smss.exe 进程启动的,
            然后 smss.exe 是 Windows 操作系统启动的第一个用户态进程,
            而 Native Application 也属于用户态程序,自然 Native Application 的启动是在 smss.exe 之后,
            而后前面也说过,Native Application 运行时,子系统进程还尚未启动,
            所以 Native Application 的启动则是在 csrss.exe 之前的,
            而话又说回来,csrss.exe 就是由会话管理器(smss.exe)启动的,
            所以 Native Application 的启动时机也就只有一种可能了,

            即 smss.exe 先启动 Native Application,然后 Native Application 开始执行,
            等到 Native Application 都给执行完了后 smss.exe 再启动 csrss.exe 进程。
            (事实上,Win32 应用程序环境子系统 csrss.exe 本质上也是一个 Native Application ~)
  • 3.QueueUserApc/NtQueueAPCThread
    • [?] 这个没有提供原始代码
      原理:
      线程从等待状态苏醒时,会检测是否有APC交个自己执行,如果有则执行。
      APC分两种,内核APC和用户模式APC,这里通过QueueUserAPC将APC过程添加到目标线程中APC队列,等待线程从等待状态到苏醒切换时,执行此线程。

2018年11月6日星期二

windows-KnownDlls

参考:http://www.voidcn.com/article/p-fqfurypq-mw.html

[popexizhi: 只是备注一下位置,这里用管理员权限win7当前也无法添加的:)]

 1. D L L模块中的函数转发器使用
#pragma comment(linker, "/export:SomeFunc=DllWork.SomeOtherFunc")
这个p r a g m a告诉链接程序,被编译的D L L应该输出一个名叫S o m e F u n c的函数。但是
S o m e F u n c函数的实现实际上位于另一个名叫S o m e O t h e r F u n c的函数中,该函数包含在称为
D l l Wo r k . d l l的模块中。必须为你想要转发的每个函数创建一个单独的p r a g m a代码行。
2. HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Session Manager/KnownDLLs添加
注册表关键字K n o w n D L L:
value name: SomeLib
value data: SomeOtherLib.dll
如果调用下面的函数,系统将会发现有一个匹配的值名字(记住,当系统检查注册
表的值名字时,它将删除扩展名. d l l)
LoadLibrary("SomeLib.dll");
这时,系统设法加载称为S o m e O t h e r L i b . d l l的文件,而不是加载S o m e L i b . d l l。它首先 在% S y s t e m R o o t % / S y s t e m 3 2目录中查找S o m e O t h e r L i b . d l l。如果它在该目录中找到了文件,它 就加载该文件。如果文件不在该目录中, L o a d L i b r a r y ( E x )运行失败并返回N U L L,同时,对 G e t L a s t E r r o r的调用将返回2(E R R O R _ F I L E _ N O T _ F O U N D)

2018年11月5日星期一

转:AppInit_DLLs注册表方式注入DLL


原始地址 :
http://www.atomsec.org/%E9%80%86%E5%90%91/appinit_dlls%E6%B3%A8%E5%86%8C%E8%A1%A8%E6%96%B9%E5%BC%8F%E6%B3%A8%E5%85%A5dll/

一、注册表方式注入DLL原理

windows操作系统注册表中默认存在两个注册表项:AppInit_DLLs和LoadAppInit_DLLs
测试发现,在win7系统中默认存在此两项

2018年9月28日星期五

攻击工具-netcat windows版本编译I


windows make
1.babon
2.g++,gcc
3.vs2010
4.增加PATH
5.修改makefile中的4个空格->tab
6.make all -d 提示
   getopt.c(45) : fatal error C1034: stdio.h: 不包括路径集

  https://www.cnblogs.com/hiccup/p/5424009.html
  出现错误“fatal error C1034: stdio.h: no include path set”,解决方法是在环境变量中新建LIB和INCLUDE变量,在LIB中设置如下值:“E:\Program Files\Microsoft Visual Studio 10.0\VC\lib”;在INCLUDE中设置如下值:“E:\Program Files\Microsoft Visual Studio 10.0\VC\include”

7. make all -d 提示
   doexec.c(10) : fatal error C1083: 无法打开包括文件:“winsock2.h”: No such file or directory
   查找了一下在C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include 中,手动添加到INCLUDE.

8. make all -d 提示
link: extra operand ‘netcat.obj’
解决:

https://stackoverflow.com/questions/19677870/error-in-assembly-masm-linker-link-extra-operand
查看babun的link whereis 发现没有使用windows的link ,
cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 10.0/vc/bin/link.exe /usr/bin/



9.make all -d 提示
link getopt.obj doexec.obj netcat.obj kernel32.lib user32.lib wsock32.lib winmm.lib /nologo /subsystem:console /incremental:yes /machine:I386 /out:nc.exe
Putting child 0x8004ca68 (nc.exe) PID 2600 on the chain.
Live child 0x8004ca68 (nc.exe) PID 2600
LINK : warning LNK4224: /INCREMENTAL:YES is no longer supported;  ignored

LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

Reaping losing child 0x8004ca68 PID 2600
makefile:21: recipe for target 'nc.exe' failed
Removing child 0x8004ca68 PID 2600 from chain.

makefile如下定义
lflags=kernel32.lib user32.lib wsock32.lib winmm.lib /nologo /subsystem:console /incremental:yes /machine:I386 /out:nc.exe

nc.exe: getopt.obj doexec.obj netcat.obj
$(link) getopt.obj doexec.obj netcat.obj $(lflags)

查了一下三个lib的位置在C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64
加了一下LINK变量位置
参考: https://msdn.microsoft.com/zh-cn/library/6y6t9esh.aspx
LINK 工具使用以下环境变量:
LIB(如已定义)。 当 LINK 工具搜索在命令行上指定的对象、库或其他文件时或通过 /base 选项进行搜索时会使用 LIB 路径。 它还可使用 LIB 路径查找在对象上命名的 .pdb 文件。 LIB 变量可以包含一个或多个路径规范,用分号分隔。 一个路径必须指向 Visual C++ 安装的 \lib 子目录


10.make all -d提示大量
link getopt.obj doexec.obj netcat.obj kernel32.lib user32.lib wsock32.lib winmm.lib /nologo /subsystem:console /incremental:yes /machine:I386 /out:nc.exe
LINK : warning LNK4224: /INCREMENTAL:YES is no longer supported;  ignored

doexec.obj : error LNK2019: unresolved external symbol _holler referenced in function _StartShell

LIBCMT.lib(lseeki64.obj) : error LNK2019: unresolved external symbol __imp__GetLastError@0 referenced in function __lseeki64_nolock

LIBCMT.lib(read.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(close.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(dup.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(tidtable.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(osfinfo.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(wctomb.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(realloc.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(commit.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(winsig.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(rand_s.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(inithelp.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

doexec.obj : error LNK2001: unresolved external symbol __imp__GetLastError@0

[popexizhi:
grep 了一下holler在netcat中定义, 而link先写的doexec.obj,不知是不是这个问题,所以调整了一下顺序为
nc.exe: getopt.obj doexec.obj netcat.obj
$(link) getopt.obj netcat.obj doexec.obj $(lflags)
]
11.调整顺序后make all -d提示大量
link getopt.obj netcat.obj doexec.obj kernel32.lib user32.lib wsock32.lib winmm.lib /nologo /subsystem:console /incremental:yes /machine:I386 /out:nc.exe
LINK : warning LNK4224: /INCREMENTAL:YES is no longer supported;  ignored

netcat.obj : error LNK2019: unresolved external symbol _WSACleanup@0 referenced in function _res_init

netcat.obj : error LNK2019: unresolved external symbol _WSAStartup@8 referenced in function _res_init

LIBCMT.lib(lseeki64.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(read.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(close.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(dup.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(tidtable.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(osfinfo.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(wctomb.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(realloc.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(commit.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(winsig.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(rand_s.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0

LIBCMT.lib(inithelp.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0


这个WSACleanup是中的参考:https://baike.baidu.com/item/WSACleanup()
查了一下原代码为winsock2.h的引入为
#ifdef __MINGW32__
#include <_mingw .h="">
#include
#endif

手动加入了
#ifdef __MINGW32__
#include <_mingw .h="">
#include
#endif

#include "generic.h" /* same as with L5, skey, etc */
#include
编译如下错误
link getopt.obj netcat.obj doexec.obj kernel32.lib user32.lib wsock32.lib winmm.lib /nologo /subsystem:console /incremental:yes /machine:I386 /out:nc.exe
LINK : warning LNK4224: /INCREMENTAL:YES is no longer supported;  ignored

netcat.obj : error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function _res_init

netcat.obj : error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function _res_init

LIBCMT.lib(lseeki64.obj) : error LNK2001: unresolved external symbol __imp__GetLastError@0


https://stackoverflow.com/questions/16948064/unresolved-external-symbol-lnk2019
#pragma comment(lib, "Ws2_32.lib")
查了一下这个Ws2_32.lib的位置,有三个自己之前再lib的定义中写的是x64用的,:).改成默认的C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib

12.调整lib后make all
出现如下问题:
link getopt.obj netcat.obj doexec.obj kernel32.lib user32.lib wsock32.lib winmm.lib /nologo /subsystem:console /incremental:yes /machine:I386 /out:nc.exe
LINK : warning LNK4224: /INCREMENTAL:YES is no longer supported;  ignored

netcat.obj : error LNK2019: unresolved external symbol _strcasecmp referenced in function _comparehosts

doexec.obj : error LNK2019: unresolved external symbol _holler referenced in function _StartShell

nc.exe : fatal error LNK1120: 2 unresolved externals

makefile:23: recipe for target 'nc.exe' failed

解决:https://github.com/osmcode/libosmium/issues/59
这个strcasecmp是linux方法,不是windows的,好吧。
在comparehosts使用strcasecmp使用前增加如下:
#ifdef _MSC_VER
#define strncasecmp _strnicmp
#define strcasecmp _stricmp
+#endif

13.调整lib后make all
出现如下问题:
doexec.obj : error LNK2019: unresolved external symbol _holler referenced in function _StartShell

nc.exe : fatal error LNK1120: 1 unresolved externals

makefile:23: recipe for target 'nc.exe' failed

分析:看来这个holler在StartShell使用没有定义,不是link的obj顺序问题。

ppt默认打开执行vba宏


先说可以默认运行使用的重载方法,再说这个坑
1.默认使用重载方法是
OnSlideShowPageChange()
注意是sub ,不是private sub的定义


2.然后是这个方法的坑
问题:
保存成*.ppsm,双击后不运行VBA。
但如果开一个VB的编辑环境,空的都可以,双击这个ppsm就运行VBA
解决:
https://stackoverrun.com/cn/q/9559625

同样的事情发生在这里,但这是一个已知的问题。
OnSlideShowPageChange有时不会触发。要解决它,请将Developer标签中的任何Active-X控件添加到第一张幻灯片中。如果你不希望它可见,请将它从幻灯片中滑出。
不知何故,控制迫使VBA初始化,所以事件发生。

2018年9月27日星期四

bat if 使用



https://www.jishux.com/p/1bb2d6e76b7c8e4e

IF "%str%" EQU "" (
echo " 无失败信息,继续处理"
) else (
echo "有失败信息,跳到结束"
)

bat 执行结果赋值到指定变量



参考:http://www.bathome.net/viewthread.php?tid=10612
[popexizhi:最后自己用的代码如下:
echo "[test] str="
set str=str
set "str=%str:str=>nul & findstr ^x86 .\a.log%"
echo %str%
]


新方法]批处理中把命令的结果赋值给变量

[新方法]命令的结果复制给变量 看完下面的,请再看5楼 以前返回命令的结果,赋值给另外一个变量时,比较常用的方法是dir /b,比如: 当你想返回 dir /b 的结果,你可以这样
  1. for /f "delims=" %%i in ('dir /b') do set str=%%i
复制代码
但是最近想到一个新方法(不知道有没有人用过),比如你同样返回 for /f
  1. @echo off
  2. set str=str
  3. set "str=%str:str=>nul & dir/b%"
  4. echo %str%
  5. pause>nul
复制代码
大家可以试试效果。 返回的 %str% 是你在CMD下用 dir /b 的显示的结果。 这种方法的优点有:   一、代码比较简单。   二、可以多行赋值给一个变量(即包含了换行回车符)。 注意:第三行的
  1. set "str=%str:str=>nul & dir/b%"
复制代码
这里的双引号很关键,缺少的话是赋值不成功的

bat 正则表达



https://www.jb51.net/article/17848.htm

问题:
bat中如何使用正则
解答:
findstr 正则表达 文件名称

[popexizhi:

5.findstr "[abcezy]" 2.txt 
从文件2.txt中查找包括a b c e z y字母的字符串或行 
==================== 

6.findstr "[a-fl-z]" 2.txt 
从文件2.txt中查找小写字符a-f l-z的字符串,但不包含g h I j k这几个字母。 
==================== 

7.findstr "M[abc][hig]Y" 2.txt 
从文件2.txt中可以匹配 MahY , MbiY, MahY等….. 
==================== 

8. ^和$符号的应用 
^ 表示行首,"^step"仅匹配 "step hello world"中的第一个单词 
$ 表示行尾,"step$"仅匹配 "hello world step"中最后一个单词 
==================== 

9.finstr "[^0-9]" 2.txt 
如果是纯数字的字符串或者行便过滤掉,例如2323423423 这样的字符串,如果是345hh888这样的形式就不成了。 
==================== 
]

2018年9月26日星期三

xls无法保存VBA



https://jingyan.baidu.com/article/4f7d571286cf471a2019273b.html
确实无法保存,要使用xlsm格式:)

bat 设置变量

https://www.cnblogs.com/starspace/archive/2009/01/05/1368828.html

set 功能一览
[设置变量]
格式:set 变量名=变量值
详细:被设定的变量以%变量名%引用

[取消变量]
格式:set 变量名=
详细:取消后的变量若被引用%变量名%将为空

[展示变量]
格式:set 变量名
详细:展示以变量名开头的所有变量的值

[列出所有可用的变量]
格式:set


[popexizhi:
循环体中设置
set logtab
for /f %%i in (.\log) do (set logtab=%%i)

echo %logtab%
]

bat 无限循环goto


https://blog.csdn.net/u010913204/article/details/52701291

一个简单易行的方式:
:loop 
goto loop

2018年9月25日星期二

转:Browse an UNC path using Windows CMD without mapping it to a network drive



https://superuser.com/questions/282963/browse-an-unc-path-using-windows-cmd-without-mapping-it-to-a-network-drive

问题:
C:\> cd \\somewhere
'\\somewhere'
CMD does not support UNC paths as current directories.

处理方式:
增加nass为本地磁盘处理的
net use x: \\computer name\share name

[popexizhi:
当前的问题,原文推荐的,自己的有nass有user和password , 没有测试通过,这个pushd的使用待进一步研究
pushd  will create a temporary virtual drive and get into it.
popd will delete the temporary drive and get you back to the path you were when you entered pushd.
Example:
C:\a\local\path> pushd \\network_host\a\network\path

U:\a\network\path> REM a temporary U: virtual drive has been created

U:\a\network\path> popd

C:\a\local\path> REM the U: drive has been deleted

C:\a\local\path>
]


linux 远程登录windows 使用telnet


[popexizhi:
没有jenkins的agent,这个还挺麻烦,谢谢杜帮忙提示,用telnet就可以了
]
https://blog.csdn.net/u010366748/article/details/50447801

添加telnet的默认用户方式
然后将用户加入到telnetclients组,控制面板->管理工具->计算机管理->系统工具->本地用户和组->组->TelnetClients,如果没有telnetclients组就自行添加这个组。然后右键TelnetClients->属性,然后就可以添加用户了,我们只需点击添加以后,键入用户名就可以了



2018年9月12日星期三

转:PE格式介绍


https://www.jianshu.com/p/35db9df2514f

Windows的二进制文件格式PE/COFF
Win32平台下标准文件格式为PE,PE=Protable
Executable。
PE和ELF同根同源都是从COFF(Common Object File Format)发展而来。
5.2
PE的前身COFF
PE文件被装载时直接映射到进程虚拟空间中运行,它是进程虚拟空间的映像,所以PE很多时候被称为映像文件。
5.3链接指示信息
COFF文件结构和ELF文件结构大体相同,只是前者多了两个段——drectve段和debug$S段。
drectve很显然就是directive的某种缩写形式,而directive是指令的意思,因此它是编译器传递给链接器的链接指令。
5.4调试信息
在COFF中所有以debug开头的段都是调试信息段。
debug$S表示与符号相关的调试信息段。
还有其他段可参见P165。
5.5大家都有符号表
与ELF不同的是COFF还会为字符串常量自动生成符号。
5.6
WINDOWS下的ELF——PE
PE比COFF多了两个主要的变化:
1、PE文件的开始部分是DOS MZ可执行文件格式的文件头和桩代码。
2、COFF格式中的IMAGE_FILE_HEADER被扩展成为IMAGE_NT_HEADERS。
DOS和WINDOWS下的可执行文件格式都是exe,但是DOS下的却是MZ格式


作者:Stroman
链接:https://www.jianshu.com/p/35db9df2514f

2018年9月10日星期一

攻击工具-net user


https://baike.baidu.com/item/net%20user

建立新用户

使用提示符之前,请选择用管理员身份打开
在MS-DOS提示符中输入如下命令:“net user john 123 /add”,回车。即可新建一个名为“John”,密码为“123”的新用户。Add参数表示新建用户。
值得注意的是:用户名最多可有 20 个字符,密码最多可有 127 个字符。
建立一个新用户(实例)建立一个新用户(实例)
建立一个登录时间受限制的用户
用以下方法可实现对电脑使用时间的控制。比如,需要建立一个John的用户账号,密码为“123”,登录权限从星期一到星期五的早上八点到晚上十点和双休日的晚上七点到晚上九点。
1. 12小时制可键入如下命令:“net user john 123 /add /times:monday-friday,8AM-10PM;saturday-sunday,7PM-9PM”,回车确定即可。
12小时制12小时制
2. 24小时制可键入如下命令:“net user john 123 /add /times:M-F,8:00-22:00;Sa-Su,19:00-21:00”,回车确定即可。
3.若没有限制可改成:“net user john 123 /add /times:all”回车确定即可。

2018年9月6日星期四

window上lcx编译和使用

code的下载地址:
https://github.com/yw9381/lcx.git

windows编译
方法一:
自己为省事下载gcc的windows版本,使用linux文件编译的
gcc linux_lcx.c -o lcx

生成lcx.exe是可用的.

方法二:
win_lcx.c 可以直接编译,唯一的问题是注意这个是纯c文件,引用头中如果用c++文件会有报错

结论:
这里的代码可以直接使用,测试了一下windows转linux的端口也可以使用,工具很好用的。
[next]
pope想到一个问题,是否可以使用udp端口转发,转发tcp的端口数据,这个回头试试。
这样虽然链路有问题,但看到的效果更诡异了。

报错如下:
1>------ 已启动生成: 项目: txxxx, 配置: Debug Win32 ------
1>生成启动时间为 2018/9/7 9:50:54。
1>InitializeBuildStatus:
1>  正在对“Debug\txxxx.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1>  所有输出均为最新。
1>  txxxx.cpp
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(91): warning C4005: “AF_IPX”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(460) : 参见“AF_IPX”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(131): warning C4005: “AF_MAX”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(479) : 参见“AF_MAX”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(168): warning C4005: “SO_DONTLINGER”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(402) : 参见“SO_DONTLINGER”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(212): error C2011: “sockaddr”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(485) : 参见“sockaddr”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C2059: 语法错误:“常量”
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C3805: “常量”: 意外标记,应输入“}”或者“,”
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(524): warning C4005: “IN_CLASSA”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(287) : 参见“IN_CLASSA”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(530): warning C4005: “IN_CLASSB”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(293) : 参见“IN_CLASSB”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(536): warning C4005: “IN_CLASSC”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(299) : 参见“IN_CLASSC”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(547): warning C4005: “INADDR_ANY”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(304) : 参见“INADDR_ANY”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(549): warning C4005: “INADDR_BROADCAST”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(306) : 参见“INADDR_BROADCAST”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(583): error C2011: “sockaddr_in”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(312) : 参见“sockaddr_in”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(132): error C2011: “fd_set”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(68) : 参见“fd_set”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(167): warning C4005: “FD_SET”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(102) : 参见“FD_SET”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(176): error C2011: “timeval”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(111) : 参见“timeval”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(232): error C2011: “hostent”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(167) : 参见“hostent”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(245): error C2011: “netent”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(180) : 参见“netent”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(252): error C2011: “servent”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(187) : 参见“servent”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(264): error C2011: “protoent”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(199) : 参见“protoent”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(360): error C2011: “WSAData”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(322) : 参见“WSAData”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(458): error C2011: “sockproto”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(494) : 参见“sockproto”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(500): error C2011: “linger”:“struct”类型重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(531) : 参见“linger”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(513): warning C4005: “SOMAXCONN”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(544) : 参见“SOMAXCONN”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(542): warning C4005: “FD_READ”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(562) : 参见“FD_READ”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(545): warning C4005: “FD_WRITE”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(563) : 参见“FD_WRITE”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(548): warning C4005: “FD_OOB”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(564) : 参见“FD_OOB”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(551): warning C4005: “FD_ACCEPT”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(565) : 参见“FD_ACCEPT”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(554): warning C4005: “FD_CONNECT”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(566) : 参见“FD_CONNECT”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(557): warning C4005: “FD_CLOSE”: 宏重定义
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(567) : 参见“FD_CLOSE”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1578): error C2375: “accept”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(742) : 参见“accept”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1600): error C2375: “bind”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(747) : 参见“bind”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1619): error C2375: “closesocket”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(752) : 参见“closesocket”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1638): error C2375: “connect”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(754) : 参见“connect”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1659): error C2375: “ioctlsocket”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(759) : 参见“ioctlsocket”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1680): error C2375: “getpeername”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(764) : 参见“getpeername”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1701): error C2375: “getsockname”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(769) : 参见“getsockname”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1724): error C2375: “getsockopt”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(774) : 参见“getsockopt”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1745): error C2375: “htonl”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(781) : 参见“htonl”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1762): error C2375: “htons”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(783) : 参见“htons”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1780): error C2375: “inet_addr”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(785) : 参见“inet_addr”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1797): error C2375: “inet_ntoa”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(787) : 参见“inet_ntoa”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1815): error C2375: “listen”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(789) : 参见“listen”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1833): error C2375: “ntohl”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(793) : 参见“ntohl”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1850): error C2375: “ntohs”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(795) : 参见“ntohs”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1870): error C2375: “recv”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(797) : 参见“recv”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1895): error C2375: “recvfrom”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(803) : 参见“recvfrom”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1921): error C2375: “select”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(811) : 参见“select”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1945): error C2375: “send”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(818) : 参见“send”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1970): error C2375: “sendto”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(824) : 参见“sendto”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1996): error C2375: “setsockopt”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(832) : 参见“setsockopt”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2018): error C2375: “shutdown”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(839) : 参见“shutdown”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2039): error C2375: “socket”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(843) : 参见“socket”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2063): error C2375: “gethostbyaddr”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(850) : 参见“gethostbyaddr”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2083): error C2375: “gethostbyname”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(855) : 参见“gethostbyname”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2101): error C2375: “gethostname”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(857) : 参见“gethostname”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2121): error C2375: “getservbyport”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(861) : 参见“getservbyport”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2141): error C2375: “getservbyname”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(865) : 参见“getservbyname”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2160): error C2375: “getprotobynumber”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(869) : 参见“getprotobynumber”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2178): error C2375: “getprotobyname”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(871) : 参见“getprotobyname”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2200): error C2375: “WSAStartup”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(875) : 参见“WSAStartup”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2219): error C2375: “WSACleanup”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(879) : 参见“WSACleanup”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2236): error C2375: “WSASetLastError”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(881) : 参见“WSASetLastError”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2253): error C2375: “WSAGetLastError”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(883) : 参见“WSAGetLastError”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2270): error C2375: “WSAIsBlocking”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(885) : 参见“WSAIsBlocking”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2287): error C2375: “WSAUnhookBlockingHook”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(887) : 参见“WSAUnhookBlockingHook”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2304): error C2375: “WSASetBlockingHook”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(889) : 参见“WSASetBlockingHook”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2321): error C2375: “WSACancelBlockingCall”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(891) : 参见“WSACancelBlockingCall”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2343): error C2375: “WSAAsyncGetServByName”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(893) : 参见“WSAAsyncGetServByName”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2370): error C2375: “WSAAsyncGetServByPort”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(901) : 参见“WSAAsyncGetServByPort”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2396): error C2375: “WSAAsyncGetProtoByName”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(909) : 参见“WSAAsyncGetProtoByName”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2421): error C2375: “WSAAsyncGetProtoByNumber”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(916) : 参见“WSAAsyncGetProtoByNumber”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2446): error C2375: “WSAAsyncGetHostByName”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(923) : 参见“WSAAsyncGetHostByName”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2473): error C2375: “WSAAsyncGetHostByAddr”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(930) : 参见“WSAAsyncGetHostByAddr”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2496): error C2375: “WSACancelAsyncRequest”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(939) : 参见“WSACancelAsyncRequest”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2517): error C2375: “WSAAsyncSelect”: 重定义;不同的链接
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(941) : 参见“WSAAsyncSelect”的声明
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(46): warning C4273: “_errno”: dll 链接不一致
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.h(249) : 参见“_errno”的前一个定义
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(150): error C2079: “wsadata”使用未定义的 struct“WSAData”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(151): error C3861: “WSAStartup”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(153): error C2065: “SIGINT”: 未声明的标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(153): error C3861: “signal”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(208): error C3861: “WSACleanup”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(261): error C2079: “client1”使用未定义的 struct“sockaddr_in”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(261): error C2079: “client2”使用未定义的 struct“sockaddr_in”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(276): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(285): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(294): error C2440: “=”: 无法从“SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)”转换为“SOCKET”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(294): error C2440: “=”: 无法从“SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)”转换为“SOCKET”
1>          没有使该转换得以执行的上下文
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(294): error C3861: “accept”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(300): error C2228: “.sin_addr”的左边必须有类/结构/联合
1>          类型是“int”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(300): error C3861: “inet_ntoa”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(302): error C2440: “=”: 无法从“SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)”转换为“SOCKET”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(302): error C2440: “=”: 无法从“SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)”转换为“SOCKET”
1>          没有使该转换得以执行的上下文
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(302): error C3861: “accept”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(305): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(309): error C2228: “.sin_addr”的左边必须有类/结构/联合
1>          类型是“int”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(309): error C3861: “inet_ntoa”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(335): error C2079: “remote”使用未定义的 struct“sockaddr_in”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(361): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(369): error C2440: “=”: 无法从“SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)”转换为“SOCKET”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(369): error C2440: “=”: 无法从“SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)”转换为“SOCKET”
1>          没有使该转换得以执行的上下文
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(369): error C3861: “accept”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(376): error C2228: “.sin_addr”的左边必须有类/结构/联合
1>          类型是“int”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(376): error C2228: “.sin_port”的左边必须有类/结构/联合
1>          类型是“int”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(376): error C3861: “inet_ntoa”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(376): error C3861: “ntohs”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(379): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(387): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(389): error C3861: “send”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(391): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(424): error C2079: “fds”使用未定义的 struct“fd_set”
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(453): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(454): error C3861: “closesocket”: 找不到标识符
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(464): error C2027: 使用了未定义类型“fd_set”
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(68) : 参见“fd_set”的声明
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(464): error C2227: “->fd_count”的左边必须指向类/结构/联合/泛型类型
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(465): error C2027: 使用了未定义类型“fd_set”
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(68) : 参见“fd_set”的声明
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(465): error C2227: “->fd_count”的左边必须指向类/结构/联合/泛型类型
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(465): error C2027: 使用了未定义类型“fd_set”
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(68) : 参见“fd_set”的声明
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(465): error C2227: “->fd_array”的左边必须指向类/结构/联合/泛型类型
1>c:\users\faery\desktop\txxxx\txxxx\txxxx.cpp(465): fatal error C1003: 错误计数超过 100;正在停止编译
1>
1>生成失败。
1>
1>已用时间 00:00:00.66
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

2018年7月3日星期二

how to sleep in windows command line

https://superuser.com/questions/48231/how-do-i-make-a-batch-file-wait-sleep-for-some-seconds

方法一:
ping 127.0.0.1 -n 6 > nul
127.0.0.1 is the localhost IP address.
-n 6 - there is a 1s delay between each ping, so for a 5s delay you need to do 6 pings.
> nul - suppress the output.
方法二:
I'm very surprised no one has mentioned:
C:\> timeout 5