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

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)

相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐