易语言制作永恒之蓝局域网扫描器的代码

DLL命令表

.版本 2
.DLL命令 Sleep, , "kernel32.dll", "Sleep", 公开
  .参数 dwMilliseconds, 整数型

接口程序集

.版本 2
.程序集 接口程序集
.子程序 取网段, 文本型
.参数 IP地址, 文本型
返回 (取文本左边 (IP地址, 倒找文本 (IP地址, “.”, , 假)))
.子程序 格式化尾数, 文本型
.参数 文本, 文本型
返回 (文本替换 (“000”, 4 - 取文本长度 (文本), 取文本长度 (文本), 文本))
.子程序 格式化IP, 文本型
.参数 IP地址, 文本型
返回 (取网段 (IP地址) + 格式化尾数 (到文本 (取IP尾数 (IP地址))))
.子程序 取IP尾数, 整数型
.参数 IP地址, 文本型
返回 (到整数 (取文本右边 (IP地址, 取文本长度 (IP地址) - 取文本长度 (取网段 (IP地址)))))
.子程序 ipadd, 文本型
.参数 ip, 文本型
.局部变量 ip_arr_str, 文本型, , "4"
.局部变量 ip_arr_int, 整数型, , "4"
.局部变量 a, 整数型
ip_arr_str = 分割文本 (ip, “.”, )
.计次循环首 (4, a)
  ip_arr_int [a] = 到整数 (ip_arr_str [a])
.计次循环尾 ()
ip_arr_int [4] = ip_arr_int [4] + 1
.如果真 (ip_arr_int [4] > 255)
  ip_arr_int [4] = 0
  ip_arr_int [3] = ip_arr_int [3] + 1
.如果真结束
.如果真 (ip_arr_int [3] > 255)
  ip_arr_int [3] = 0
  ip_arr_int [2] = ip_arr_int [2] + 1
.如果真结束
.如果真 (ip_arr_int [2] > 255)
  ip_arr_int [2] = 0
  ip_arr_int [1] = ip_arr_int [1] + 1
.如果真结束
返回 (到文本 (ip_arr_int [1]) + “.” + 到文本 (ip_arr_int [2]) + “.” + 到文本 (ip_arr_int [3]) + “.” + 到文本 (ip_arr_int [4]))

永恒之蓝扫描器的原型,可以扫描出当前局域网内的全部电脑

此功能需要加载超级列表框操作类模块

.版本 2
.支持库 EThread
.支持库 sock
.支持库 iext2
.支持库 spec
.支持库 eAPI
.支持库 iext
.程序集 窗口程序集_启动窗口
.程序集变量 网段, 文本型
.程序集变量 许可证, 整数型
.程序集变量 线程句柄
.程序集变量 超级列表框操作类, 超级列表框操作类
.程序集变量 列表框信息, 列表框信息, , "0"
.程序集变量 工作线程数, 整数型
.子程序 __启动窗口_创建完毕
初始化 ()
许可证 = 创建进入许可证 ()
.子程序 初始化
.局部变量 文本组, 文本型, , "0"
文本组 = 取本机IP ()
.如果真 (取数组成员数 (文本组) ≥ 1)
  网段 = 取网段 (文本组 [1])
  IP编辑框_开始.地址 = 网段 + “1”
  IP编辑框_结束.地址 = 网段 + “255”
.如果真结束
超级列表框操作类._初始化类 (超级列表框1.取窗口句柄 ())
.子程序 _按钮_开始扫描_被单击
启动线程 (&扫描主线程, 到整数 (编辑框_线程数.内容), 线程句柄)
.子程序 扫描主线程
.参数 线程数, 整数型
.局部变量 bool, 逻辑型
.局部变量 startip, 文本型
.局部变量 stopip, 文本型
.局部变量 address, 整数型
清除数组 (列表框信息)
超级列表框操作类.数据_全部删除 ()
startip = IP编辑框_开始.地址
stopip = IP编辑框_结束.地址
bool = 真
.判断循环首 (bool)
  .判断循环首 (工作线程数 ≥ 线程数)
    Sleep (100)
  .判断循环尾 ()
  address = 申请内存 (15, )
  写到内存 (startip, address, 15)
  启动线程 (&扫描子线程, address, )
  工作线程数 = 工作线程数 + 1
  .如果 (startip = stopip)
    跳出循环 ()
  .否则
    startip = ipadd (startip)
  .如果结束
.判断循环尾 ()
.子程序 扫描子线程
.参数 参数, 整数型
.局部变量 time
.局部变量 ip, 文本型
.局部变量 局部_列表框信息, 列表框信息
重定义数组 (局部_列表框信息.列标题, 假, 3) ' 带3个列
清除数组 (局部_列表框信息.列图片索引) ' 不使用列图标
ip = 指针到文本 (参数)
time = 通信测试 (ip, 到整数 (编辑框_延时.内容))
.判断开始 (time ≠ -1)
  局部_列表框信息.图片索引 = 0
  局部_列表框信息.标题 = 格式化IP (ip)
  局部_列表框信息.列标题 [1] = 取远程机器名 (ip)
  局部_列表框信息.列标题 [2] = 取远程网卡物理地址 (ip)
  局部_列表框信息.列标题 [3] = 到文本 (time)
  进入许可区 (许可证)
  状态条1.置文本 (2, “存活主机数:” + 到文本 (超级列表框1.取表项数 ()))
  加入成员 (列表框信息, 局部_列表框信息)
  超级列表框1.全部删除 ()
  超级列表框操作类.数据_高速插入表项 (, 列表框信息, #排序方式_表项标题排序)
  数组清零 (局部_列表框信息.列标题)
  退出许可区 (许可证)
.默认
.判断结束
进入许可区 (许可证)
工作线程数 = 工作线程数 - 1
进度条1.位置 = (到整数 (编辑框_线程数.内容) - 工作线程数) ÷ 到整数 (编辑框_线程数.内容) × 100
.判断开始 (工作线程数 = 0)
  状态条1.置文本 (0, “准备就绪”)
  进度条1.位置 = 0
.默认
  状态条1.置文本 (0, “正在扫描...”)
.判断结束
状态条1.置文本 (1, “线程: ” + 到文本 (工作线程数))
退出许可区 (许可证)
释放内存 (参数)
.子程序 __启动窗口_将被销毁
删除进入许可证 (许可证)
关闭线程句柄 (线程句柄)
.子程序 _按钮2_被单击
关闭线程句柄 (线程句柄)
强制结束线程 (线程句柄)
.子程序 _按钮_导出_被单击
.局部变量 文本, 文本型
.局部变量 i, 整数型
文本 = “IP地址” + 取空白文本 (15) + “主机名称” + 取空白文本 (15) + “MAC地址” + 取空白文本 (12) + “延迟” + #换行符
.计次循环首 (超级列表框1.取表项数 (), i)
  文本 = 文本 + 超级列表框1.取标题 (i - 1, 0) + 取空白文本 (10) + 超级列表框1.取标题 (i - 1, 1) + 取空白文本 (10) + 超级列表框1.取标题 (i - 1, 2) + 取空白文本 (10) + 超级列表框1.取标题 (i - 1, 3) + #换行符
.计次循环尾 ()
.如果真 (通用对话框1.打开 ())
  .判断开始 (写到文件 (通用对话框1.文件名, 到字节集 (文本)))
    信息框 (“导出成功!”, 64, )
  .默认
    信息框 (“导出失败!”, 16, )
  .判断结束
.如果真结束
.子程序 _编辑框_线程数_调节钮被按下
.参数 按钮值, 整数型
编辑框_线程数.内容 = 到文本 (到整数 (编辑框_线程数.内容) + 按钮值)
.子程序 _编辑框_线程数_内容被改变
.判断开始 (到整数 (编辑框_线程数.内容) ≤ 0)
  编辑框_线程数.内容 = “100”
  信息框 (“数值必须大于0”, 48, )
.判断 (到整数 (编辑框_线程数.内容) > 1024)
  编辑框_线程数.内容 = “100”
  信息框 (“数值小于1024”, 48, )
.默认
.判断结束

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言检测端口是否被占用的代码

    检测端口是否被占用的代码 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 检测端口, 整数型, , 如果被占用返回进程PID .参数 端口, 整数型, 可空 .参数 信息, 文本型, 参考 可空 .局部变量 I, 整数型 .局部变量 PID, 整数型 写到文件 ("Get.bat", 到字节集 ("netstat -aon|findstr " + #引号 + 到文本 (端口) + #引号 + " >>Bin")) .如果真 (运

  • 易语言枚举进程通过窗口句柄获取已经登录的QQ号码

    DLL命令表 .版本 2 .DLL命令 GetDesktopWindow, 整数型, "user32.dll", "GetDesktopWindow" .DLL命令 CreateToolhelp32Snapshot, 整数型, "kernel32", "CreateToolhelp32Snapshot" .参数 dwFlags, 整数型, , 0 .参数 th32ProcessIE, 整数型, , 0 .DLL命令 Proce

  • 易语言调用API函数监视目录与文件的代码

    DLL命令表 .版本 2 .DLL命令 GetPrivateProfileInt, 整数型, , "GetPrivateProfileIntA" .参数 lpAppName, 文本型 .参数 lpKeyName, 文本型 .参数 nDefault, 整数型 .参数 lpFileName, 文本型 .DLL命令 GetPrivateProfileString, 整数型, , "GetPrivateProfileStringA" .参数 lpAppName, 文本型 .

  • 易语言制作文件夹压缩备份工具的代码

    文件夹压缩备份工具 此功能需要加载精易模块5.6 .版本 2 .支持库 shell .支持库 iext .支持库 eCompress .程序集 窗口程序集1 .程序集变量 时间戳, 文本型 .程序集变量 过滤文本, 文本型, , "0" .子程序 _文件路径按钮_被单击 .局部变量 路径, 文本型 路径 = 浏览文件夹 ("选择一个文件夹备份", 假) .判断开始 (路径 = "") 提示框 ("请选择文件夹备份!") .默认

  • 易语言实现多线程计算的代码

    多线程计算 此功能需要加载精易模块5.6 .版本 2 .支持库 iext .程序集 窗口程序集1 .程序集变量 总线程id, 整数型 .程序集变量 线程判断数量, 整数型 .程序集变量 线程总数, 整数型 .程序集变量 线程id, 整数型 .程序集变量 当前表项, 整数型 .程序集变量 许可证, 整数型 .子程序 __启动窗口_创建完毕 .局部变量 i1, 整数型 .计次循环首 (10000, i1) 置随机数种子 () 超级列表框1.插入表项 (, , , , , ) 超级列表框1.置标题 (

  • 易语言利用HOOK注入获取内容的代码

    DLL命令表 .版本 2 .DLL命令 RtlMoveMemory, 整数型, "kernel32.dll", "RtlMoveMemory" .参数 Destination, 整数型 .参数 Source, 整数型 .参数 Length, 整数型 .DLL命令 CreateWindowExA, 整数型 .参数 dwExStyle, 整数型 .参数 lpClassName, 文本型 .参数 lpWindowName, 文本型 .参数 dwStyle, 整数型 .参数

  • 易语言实现多线程验证代理是否有效的代码

    载入程序 .版本 2 .程序集 启动 .子程序 _启动子程序, 整数型 载入 (_主窗口, , 假) 返回 (0) 多线程的方式验证ip的代码 此功能需要加载鱼刺类_线程操作模块和鱼刺类_HTTP模块 .版本 2 .支持库 iext .程序集 主窗口程序集 .程序集变量 线程池, 鱼刺类_线程池Ex, , , 框架 .程序集变量 临界, 鱼刺类_临界许可 .程序集变量 线程, 鱼刺类_线程操作 .程序集变量 验证网址, 文本型, , , 配置 .程序集变量 验证字符串, 文本型 .程序集变量 是

  • 易语言实现文件夹加密的代码

    加密锁上文件夹 此功能需要加载精易模块5.6 .版本 2 .支持库 shell .支持库 spec .支持库 dp1 .程序集 窗口程序集1 .程序集变量 密码, 文本型 .子程序 _按钮_浏览文件_被单击 编辑框_路径.内容 = 浏览文件夹 ("打开你需要加密的文件", ) .子程序 _按钮_加密_被单击 .局部变量 文件夹名称, 文本型 .判断开始 (寻找文本 (编辑框_路径.内容, "[已加密]", , 假) ≠ -1) 提示框 ("已加密"

  • 易语言EXUI支持库制作红色简约网络验证UI界面的代码

    红色简约网络验证UI界面 .版本 2 .支持库 exui .支持库 spec .程序集 窗口程序集_启动窗口 .程序集变量 用户名, 文本型 .程序集变量 状态码, 文本型 .子程序 _头像_框架_鼠标左键按下 .参数 xy坐标, 整数型 .参数 wp, 整数型 _启动窗口.发送信息 (161, 2, 0) .子程序 _选择夹EX1_鼠标左键按下 .参数 xy坐标, 整数型 .参数 wp, 整数型 _启动窗口.发送信息 (161, 2, 0) .子程序 _登录_输入账号_鼠标左键按下 .参数 x

  • 易语言CNA算法实现快速加密解密文件的代码

    CNA文件加解密数据算法 .版本 2 .支持库 spec .支持库 iext .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 code, 字节集, , , 加密密码 .局部变量 test, 字节集, , , 要加密码的数据字节集 .局部变量 i, 整数型, , , 查看反馈信息 ' 简单例子 test = 到字节集 ("aaaaaaa aaa.*#(中.329}@#¥") code = 到字节集 ("中.有 3a#") CNA数据 (t

  • 易语言通过监控图标实现QQ消息监控的代码

    DLL命令表 .版本 2 .DLL命令 GetWindowThreadProcessId___, 整数型, "user32.dll", "GetWindowThreadProcessId" .参数 hwnd, 整数型 .参数 lpdwProcessId, 整数型, 传址 .DLL命令 OpenProcess___, 整数型, "kernel32.dll", "OpenProcess" .参数 dwDesiredAccess,

  • 易语言获取已登录的QQ号码以及名称的方法

    取登陆QQ号以及名称的代码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 网页填表, 普通填表 .子程序 _读取按钮_被单击 .局部变量 数量, 文本型 .局部变量 i, 整数型 .局部变量 QQ, 文本型 .局部变量 名称, 文本型 显示选择列表框.清空 () 网页填表.初始化 (超文本浏览框1.取窗口句柄 ()) 数量 = 到文本 (网页填表.ULLI_取数量 ()) .计次循环首 (到整数 (数量), i) QQ = 到文本 (文本_取出中间文本

  • 易语言解析淘宝客短链接转换成商品真实链接的代码

    淘宝客短链接转换成商品地址的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 EThread .程序集 窗口程序集_启动窗口 .子程序 test 商品地址编辑框.内容 = GetRealUrl (短链接编辑框.内容) .子程序 GetRealUrl, 文本型 .参数 shortUrl, 文本型 .局部变量 rurl, 文本型 .局部变量 referer, 文本型 .局部变量 laststr, 文本型 httpGet (shortUrl, , rurl) httpGet (rurl, ,

  • 易语言调用whois实现域名批量查询与注册的代码

    域名批量查询注册与whois查询的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 EThread .程序集 窗口程序集_启动窗口 .子程序 _批量查询_被单击 启动线程 (&查询是否可以注册, , ) .子程序 查询是否可以注册 .局部变量 xml, 文本型 .局部变量 域名数组, 文本型, , "0" .局部变量 计次, 整数型 批量查询.禁止 = 真 批量查询.标题 = "正在查询..." 域名数组 = 分割文本 (删首尾空 (批量域名.内容)

  • 易语言通过按键模拟的方式实现QQ后台加人加群的代码

    DLL命令表 .版本 2 .DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA" .参数 lpModuleName, 文本型 .DLL命令 GetDesktopWindow, 整数型, "user32.dll", "GetDesktopWindow" .DLL命令 CreateToolhelp32Snapshot, 整数型, "kernel32"

随机推荐