首页
学习
活动
专区
圈层
工具
发布

【Kotlin 协程】Flow 异步流 ① ( 以异步返回返回多个返回值 | 同步调用返回多个值的弊端 | 尝试在 sequence 中调用挂起函数返回多个返回值 | 协程中调用挂起函数返回集合 )

文章目录 一、以异步返回返回多个返回值 二、同步调用返回多个值的弊端 三、尝试在 sequence 中调用挂起函数返回多个返回值 四、协程中调用挂起函数返回集合 一、以异步返回返回多个返回值 ----...在 Kotlin 协程 Coroutine 中 , 使用 suspend 挂起函数 以异步的方式 返回单个返回值肯定可以实现 , 参考 【Kotlin 协程】协程的挂起和恢复 ① ( 协程的挂起和恢复概念...// 调用 " 返回 List 集合的函数 " , 并遍历返回值 listFunction().forEach { // 遍历打印集合中的内容...sequence 中调用挂起函数返回多个返回值 ---- 尝试使用 挂起函数 kotlinx.coroutines.delay 进行休眠 , 这样在挂起时 , 不影响主线程的其它操作 , 此时会报如下错误...---- 如果要 以异步方式 返回多个返回值 , 可以在协程中调用挂起函数返回集合 , 但是该方案只能一次性返回多个返回值 , 不能持续不断的 先后 返回 多个 返回值 ; 代码示例 : package

13K30

百足之虫死而不僵:Auto456家族木马的死灰复燃

看到这相信很多人都明白了——这是一个AutoIt的解释器——用于解释用AutoIt语言写成的自动化脚本。那么很显然,他指向的Plat.mod就是一个自动化脚本。...同样不出意料的,我在脚本中看到了这样的一个久违的变量名——”456exepath”: ? 而这种利用AutoIt执行恶意代码的手法在456游戏的时代就曾经出现过——我们称其为“Auto456”。...脚本分析 观其1800余行的脚本,封装了大量的WinAPI和GDI+函数。也正是依赖大量的WinAPI的调用,这个AutoIt的脚本实现了一个原本应该是经过编译的可执行程序才会有的强大功能。...查杀拦截 由于病毒代码的执行者其实是AutoIt的解释器,而这个解释器本身并非恶意程序(它只是在逐行的解释并执行脚本里每一条指令而已),并且也有正规有效的数字签名。...真正含有恶意代码的脚本文件却躲在解释器的后面,不会以独立进程的形式出现在系统中。 因此导致现在市面上所有的安全软件中,除360外都无法正常拦截该木马。

1.1K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【运维开发】windows下的自动化脚本语言autoit

    运维自动化中的操作自动化,比如安装部署,应急操作,服务器切换等偏操作类的工作,归到最底层就是一个个脚本按既定的流程,通过代理(或无代理的SSH方式)远程调用执行。...因为在linux下的日常运维操作的就是一些命令的组合,通过python或shell可以比较快的实现。...,有几个特点: windows操作系统上的软件操作; 这个软件不提供调用接口或调用接口的成本高; 主要是通过鼠标在多个界面上来回切换,键盘输入的操作; 解决上面的问题是autoit脚本语言的强项,autoit...DllCall 调用指定DLL(动态链接库)文件里面的函数. DllCallbackFree 清空先前由 DllCallbackRegister 创建的句柄....ProcessGetStats 返回一个数组,数组中包含了运行中的进程的内存或者IO信息. ProcessList 返回当前运行中的进程列表(含有进程名和 PID 值).

    4.3K10

    基于多阶段注入的VIP键盘记录器鱼叉钓鱼攻击分析与防御

    2025年7月披露的一起新型攻击事件中,攻击者利用精心构造的金融主题邮件传播名为“VIP Keylogger”的恶意软件,通过多阶段内存驻留与进程注入技术绕过现代终端防护机制。...3.3 第二阶段:自定义XOR解密与内存加载脚本调用自定义函数KHIXTKVLO,读取leucoryx中的密钥,对aveness内容进行逐字节XOR解密。...4 防御框架设计针对上述攻击链,本文提出三层防御体系:4.1 预防层:用户与策略控制强制显示文件扩展名:通过组策略(GPO)禁用“隐藏已知文件扩展名”;限制AutoIt执行:在AppLocker或WDAC...策略中阻止非授权AutoIt脚本运行;高危岗位邮件隔离:对财务、高管邮箱启用额外沙箱分析。...7 结语VIP键盘记录器的最新变种展示了鱼叉式钓鱼攻击在技术隐蔽性与目标精准性上的双重进化。本文通过逆向其多阶段注入机制,揭示了从社会工程诱骗到内存驻留窃密的完整链条。

    26310

    测试人员代码分析5步法

    从当前代码所在的模块出发梳理调用关系,首先需要明确调用关系是两个以上模块之间的关系,也就是在调用过程中,存在调用方和被调用方;其次,当前代码所在模块在实际调用中,可能会调用其它模块,也可能被其它模块调用...、资源使用完后未释放、函数返回值出错等; ③从代码实现结构出发,确定设计的接口是否合理、多线程流程是否恰当、架构是否清晰等。...第三步 理清模块间的关系 1、哪些模块调用了当前模块:在整个解决方案文件(.sln)中搜索模块名,可看出哪些模块调用了该模块,dllCall\dllCall.cpp所在模块dllCall.exe(步骤二的方法获取模块名...2、当前模块调用了哪些模块:在.vcproj工程文件中搜.lib、LoadLibrary、CoCreateInstance,可以看出dllCall.exe包含shell32.lib等静态库。 ?...dllCall.exe会通过LoadLibrary调用dllTest.dll这个动态库。 ? dllCall.exe会通过CoCreateInstance调用dllCom.dll等动态库。 ?

    1.6K100

    一种 Au3 远控木马变种样本分析

    一种 Au3 远控木马变种样本分析 0x01 Au3 简介 AutoIt3 (简称 Au3)是一种能够在Windows GUI 或 DOS 上实现一系列自动化任务的脚本语言,其语法类似BASIC。...在以往,大多数以 Au3 编码的恶意程序攻击中,主要都是以窃取键盘输入的木马为主,比如,2016 年腾讯电脑管家在 FreeBuf 上报道的 《异次元窃贼:使用AutoIt脚本进行键盘记录窃取的“新奇玩法...且在解压过程中,如果遇到文件已存在的情况,则会直接覆盖(不会提示用户)。...DllStructGetSize:用于获取 DLL 某指定字节数的数据内容。 DllCall:调用一个 DLL。 DllOpen:加载一个 DLL 文件到内存,以等待调用。...此外,该远控木马客户端上线时,回传本机基础信息使用的是 BASE64 编码来加密流量.: ? 0x04 免杀思路总结 在自解压注释中,通过增加正常的小说文本来干扰杀软的识别。

    2.8K70

    RPA+自动化工具之术业有专攻篇

    分享一下在项目开发过程中遇到的问题,以及如何解决的过程,延伸下“术业有专攻”这个话题。 1.jpg 操作的是某网上银行的桌面版的客户端,里面包含了自定义的组件。...需求是调整记账日期的开始日期和结束日期里的值,通过手动的操作方式是将光标移动到年份,通过上下键调整年份,再通过右方向键移动到月份,通过上下键调整月份,类似的方法再调整日期。...另外通过Tab进行光标跳转时,每一次跳转的路径也不相同,没有规律可寻,无法搞定。...最终解决方案为UiPath调用AutoIt来实现,如下: 1、通过C#调用AutoIt的DLL文件,编写代码去定位开始和结束日期,并赋值。 2、将代码通过VS发布成nuget包。...3、 在UiPath中引入包,并传入参数进行调用。 另外还有一种情况,有些自定义(......详细请参考原文)

    1.1K00

    频次最高的38道selenium面试题及答案(下)

    法1:用try…except 在代码块加上 法2:用elements定义组元素方法 然后根其元素个数len()返回True, 不存在则返回False 法3:结合WebDriverWait和...True,不存在则返回False 22、page object设置模式中,是否需要在page里定位的方法中加上断言?...需要使用driver.switch_to.alert() 26、如何在webdriver中调用应用程序?...需要二次定位 :①拿到所有的option;②遍历option的value并与后台拿到的值进行比较(相同则选择该option)。 29、点击链接以后,selenium是否会自动等待该页面加载完毕?...其次再通过函数查找该元素。 30、selenium 是否可以调用js来对dom对象进行操作? 可以 31、selenium 是否可以向页面发送鼠标滚轮操作? 不能。

    4.1K20

    对某单位的 APT 攻击样本分析

    通过调用WinHttp.WinHttpRequest模块的方法Get请求来获取Response并写入到文件gc43d4unx.exe中。...压缩文件在gc43d4unx.exe中的分布情况。 gc43d4unx.exe主要逻辑在对话框的回调函数sub_419B4E中,识别Rar!...四.PayLoad之pkk.exe运行分析 pkk.exe是个名为AutoIt v3的脚本软件,可以加载自定义脚本。主要是就是通过定义DllStruct,然后再通过DllCall来调用函数。...字符串的加密方式主要是通过传入加密的索引,通过固定值的替换与拆分计算后找到对应存储在uint型数组对象\u2009的加密Data、key、IV,\u2009数组对象大概有1047个字符串加密数组,字符串加密采用...文件检测采用全面沙箱分析,通过在沙箱(Sandbox)中运行(行为激活/内容“引爆”)各种文件,分析文件行为,识别出未知威胁。

    97400

    AutoIt和Python之间的加密解密转换

    在AutoIt和Python之间进行加密和解密转换,通常涉及使用相同的加密算法和密钥。以下是一个示例,演示如何在AutoIt和Python中使用AES对称加密算法进行加密和解密。...从输出中可以看出,加密后的结果不一致,解密后的结果也存在差异。...关键点密钥:确保在AutoIt和Python中使用相同的密钥。填充:确保在加密和解密过程中使用相同的填充方式。IV(初始向量):对于CBC模式,IV必须一致。...在AutoIt中,Crypto.au3库会自动处理IV。 在Python中,我们显式地编码和传递IV。注意事项1、密钥管理:妥善保管加密密钥,不要将其暴露在不安全的环境中。...2、IV管理:对于CBC模式,加密过程中生成的IV需要在解密过程中使用,因此在传输或存储密文时需要保存IV。通过以上示例代码,可以实现AutoIt和Python之间的AES加密和解密转换。

    60810

    对某单位的 APT 攻击样本分析

    作者:SungLin@知道创宇404实验室 时间:2019年7月30日 一.恶意邮件样本的信息与背景 在六月份的某单位HW行动中,知道创宇HW安全团队通过创宇云图APT威胁感知系统并结合腾讯御点终端安全管理系统成功处置了一起...通过调用WinHttp.WinHttpRequest模块的方法Get请求来获取Response并写入到文件gc43d4unx.exe中。 ? ?...四.PayLoad之pkk.exe运行分析 pkk.exe是个名为AutoIt v3的脚本软件,可以加载自定义脚本。主要是就是通过定义DllStruct,然后再通过DllCall来调用函数。...字符串的加密方式主要是通过传入加密的索引,通过固定值的替换与拆分计算后找到对应存储在uint型数组对象\u2009的加密Data、key、IV,\u2009数组对象大概有1047个字符串加密数组,字符串加密采用...文件检测采用全面沙箱分析,通过在沙箱(Sandbox)中运行(行为激活/内容“引爆”)各种文件,分析文件行为,识别出未知威胁。

    1.2K20

    AutoIt木马又一发:暗藏神秘照片

    由于AutoIt解释器本身属于合法程序,黑客可以把恶意代码藏在脚本文件中,从而灵活地创建恶意软件,在系统中没有独立进程存在,从而延长其存活周期。...真正的病毒体是googleupdate.a3x 执行时依靠AutoIt3.exe调用googleupdate.a3x脚本。...可能是出于作者习惯,每个脚本都要带上这段通用代码方便随时调用。 中间1582行是在拼一个很大的变量,内容是用base64编码过的 ? ? 解开之后是一个不明身份的小帅哥照片。...,或目录中是否包含“skypee”字样,如果都没有则退出 2.通过创建互斥量“googleupdate”检查自身是否已经运行,如果已经运行则退出,不重复运行 3.检查自身是否处于被分析的环境中,如果认定自己处于被分析的环境则退出...【感染全部磁盘】 1.检测注册表值,设置为不显示系统SuperHidden的文件: 2.遍历本地磁盘,在每个盘符下作如下操作: a)在当前盘符根目录下新建名为“skypee”的目录。

    4.1K90

    《手把手教你》系列技巧篇(五十五)-java+ selenium自动化测试-上传文件-下篇(详细教程)

    1.简介   在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等。所以宏哥打算按上传文件的分类对其进行一下讲解和分享。...这里,我们用AutoIt来做文件上传的演示。在Selenium脚本中如果需要AutoIt来协助这个文件上传功能,大概步骤是这样的: 1.Selenium点击web产品上的文件上传按钮,弹窗上传框。...5.1下载和安装AutoIt   文件上传是自动化中棘手的部分,目前selenium并没有提供上传的实现api,所以知道借助外力来完成,如AutoIt、sikuli。...3.打开编辑器,根据控件Finder Tool识别到的信息来调用函数编写脚本;在AutoIt脚本编辑器里输入如下脚本,不要下面我写的备注哈。...我们这里需要知道有以下信息: 1.操作页面的title,用于固定操作的页面。 2.需要填入的信息,在输入框中填入“上传文件的路径及文件名”(windows操作) 3.点击“打开”按钮,实现文件上传。

    2.1K30

    Python+AutoIt实现界面工具开发

    通过AutoIt调用函数执行Python编译后的可执行文件方式来完成工具需求的开发。 我想,本文最适合的读者是跟我一样有界面开发困难障碍的同学,又不想花太多时间去学其他界面实现开发的同学。...这就是AutoIt界面画图的工具,通过拖拽工具栏中的组件到主界面就可以实现。...AutoIt界面绘制和对齐  AutoIt界面实现就是通过Koda(FormDesigner)界面中windows控件拖拽的主窗口中实现。...那么程序中如何获取用户的输入?主要是通过GUICtrlRead()函数,如需要获取上述界面中用户输入的路径、旧字符串、新字符串。...如果界面输入参数很少,可以直接通过传参的方式完,注意观察下述调用AutoIt变量的方法。

    1.1K20

    Selenium之文件上传、下载

    AutoIt下载地址 https://www.autoitscript.com/site/autoit/downloads/ 下载安装之后,在菜单中会出现如下程序: ?...b.需要填入的信息,在输入框中填入“上传文件的路径及文件名”(windows操作)  c.点击“打开”按钮,实现文件上传。...,在处理弹框的方法中根据浏览器类型的不同而进行选择,或者每次去获取所有类型弹框,再或者通过参数传入该弹框的名称。...AutoIT脚本编写完成后,保存后才可以通过菜单栏“Tools”-->"Go" 运行一下脚本。注意,运行的时候,上传窗口需处于打开状态。 效果演示: ?...'‪C:\\uploadfile.exe') 这里只是简单的介绍一下如何通过AutoIt工具进行文件上传操作,脚本的话还有优化的空间,感兴趣的朋友可以自行深入研究,比如: 脚本转换之后生成的exe如何支持动态传入文件路径

    2.1K20

    级联阴影:一种逃避检测并复杂化分析的攻击链方法

    通过虚假订单发货发布钓鱼邮件 我们将本文重点关注此特定的攻击链,因为它不常见地使用了 AutoIt 编译的可执行文件,这是我们在 2024 年 12 月独家观察到的。...下图 5 通过在dnSpy中显示两个不同的 .NET 样本来突出显示这些相似性,揭示了对RegAsm.exe进程的注入,从而强化了攻击者采用的多层攻击方法。...AutoIt 编译后可执行文件中 AutoIt 脚本的示例。它还包含解密的有效载荷,其中揭示了用于解密和注入最终恶意软件的 Shellcode。...IDA Pro 中的 AutoIt Dropper 分析 我们在 IDA Pro 中调试了 AutoIt 可执行文件,以探索此基于 AutoIt 的恶意软件所使用的调试方法。...进一步追踪,沿着调用链中的几个函数,我们到达负责执行 shellcode 的函数。 Shellcode 中动态解析的 API 调用表明其执行流程简单明了。Shellcode 遵循一个常见模式。

    41410
    领券