易语言内核变速齿轮源码
易语言核心支持库DLL命令大全

.参数 参数, 整数型, , TH32CS_SNAPHEAPLIST=1 TH32CS_SNAPPROCESS=2 TH32CS_SNAPTHREAD=4 TH32CS_SNAPMODULE=8
.DLL命令 DeleteObject, 整数型, "gdi32", "DeleteObject", 公开, 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放 非零表示成功,零表示失败
.参数 填充内容, 整数型, , Fill
.DLL命令 FreeLibrary, 整数型, , "FreeLibrary", 公开, 释放一个DLL
.参数 hddl, 整数型
.DLL命令 GetCommandLine, 文本型, , "GetCommandLineA", 公开
.DLL命令 GetCursorPos, 整数型, "user32", "GetCursorPos", 公开, 取鼠标位置_
.参数 位置, POINTAPI
.DLL命令 GetDesktopWindow, 整数型, , "GetDesktopWindow", 公开
.DLL命令 GetInputState, 整数型, "user32", "GetInputState", 公开
.参数 目的指针, 字节型, 传址
.参数 源指针, 字节型, 传址
.参数 复制长度, 整数型, , 0
.DLL命令 _取文本指针, 整数型, , "lstrcpyn", 公开
易语言常用源码集合

.如果真结束
文件传输源码:服务器端口[9000]← 防火墙的默认端口! 服务器端口[8000]← 1024以上的 0~1024以上的端口 邮箱的端口:80
以下是文件传输的源码:
版本 2
.支持库 iext2
.程序集 窗口程序集1
编辑框内容不被复制:
鼠标右键被按下
返回(假)
编辑框 按下某键()
如果(键代码=#CTRJ键=真)
返回(假)
.版本 2
.子程序 __启动窗口_创建完毕
时钟1.时钟周期 = 1000
.子程序 _时钟1_周期事件
标签1.标题 = 到文本 (到数值 (标签1.标题) + 1)
取数据摘要:
.版本 2
.支持库 dp1
.局部变量 数据摘要, 文本型
数据摘要 = 取数据摘要 (到字节集 (编辑框1.内容))
编辑框2.内容 = 到大写 (数据摘要)
取硬盘特征字:
.版本 2
编辑框1.内容 = 到文本 (取绝对值 (取硬盘特征字 ()))
通用对话框2.文件名 = 内容
通用对话框2.打开 ()
文件号1 = 打开文件 (通用对话框2.文件名, #改写, )
服务器1.发送数据 (客户地址, “[STR]”, )
.判断 (操作符 = “[大小]”)
文件大小 = 到数值 (取字节集数据 (取字节集右边 (接收内容, 取字节集长度 (接收内容) - 6), #文本型, ))
写到文件 (取运行目录 () + “\data.edb”, #初始数据库)
.默认
.判断结束
打开 (取运行目录 () + “\data.edb”, , , , , , )
易语言代码大全

4.1•信息框(“”)双引号内填你想出现的文字,点击按钮即可出现信息框,上有你想出现的文字。
2•编辑框1.内容=“”在双引号内输入文字,点击按钮即可在编辑框内出现你所输入的文字。
3•判断开始(组合框1•现行选中项=0) •判断(组合框1•现行选中项 =1)门计:次储坏首ao f M煽皤粧1•加入文本倒文本⑹十楸行約 二-计炭储环屋0厂卜计次循环首3 ) 占动窗口.扳题=Lading":厂卜计灰猶环首6):■ 上动窗口,标超=动窗口.标題+::G00)’※等侍时间:300 丄-计次循环尾0Ii1 --计次储环庫0载入窗口I, , M )*Loading 效果编辑框3.内容=到文本(到数值(编辑框1.内容)+至U 数值(编辑框2•内容))编辑框3•内容=到文本(到数值 •判断(组合框1•现行选中项 =2)编辑框3•内容=到文本(到数值 •判断(组合框1•现行选中项 =3)编辑框3•内容=到文本(到数值(编辑框1•内容)—到数值 (编辑框2•内容)) (编辑框1•内容)X 到数值(编辑框2•内容)) )(7.匾用対话框1 •扌J 卄褊蜒L 内咨=(1用対话程L 文件容抚行C 编辑框1.內咨,,,)丄+信息框(咽呵・If 5 “才,6.〕 5.快速打开程序的易程序代码。
置随机教种子0店媚口标题=到文本⑻随机韧【】•別的阳盯赶交衣F19柜1曲11 =1曄辄时訓周期=到数值■曰抑如旦期=6.快速刷新网站易程序代码电11世障其酿」槪匡L 百-劉只狂煩莎込蕾⑧牡佰雜召离型 磁姗酋汪2 ___ 玖箫度小趨一 I工二丄H B1 = 1 + 14- I - Z -b 1ISD1 = 1+1询鼻〕一个简易的定义运算的代码。
易语言常用源码1000例

易语言常用源码1000例
目录
1.易语言简介
2.易语言源码的作用
3.1000 例源码的涵盖范围
4.如何学习和使用这些源码
5.总结
正文
易语言是一门以中文编程为特点的编程语言,它具有简单易学、高效实用的优势,深受广大程序员喜爱。
在易语言的学习和应用过程中,源码的作用不可忽视,它能帮助我们快速掌握编程技巧,理解程序运行原理,提高编程效率。
本文为大家整理了 1000 例易语言常用源码,这些源码涵盖了易语言的各个方面,包括基础语法、函数库、窗口与对话框、文件操作、网络编程等。
通过学习这些源码,可以让你更深入地了解易语言编程的各个细节,为你的项目开发提供有力的支持。
在学习和使用这些源码的过程中,建议采取以下方法:
1.先了解源码的原理和功能,再动手实践。
这样可以让你更好地理解源码的运行机制,为以后的开发工作打下坚实基础。
2.学会举一反三,根据源码的实现原理,尝试修改或扩展功能,以满足不同的需求。
3.多与同行交流,分享学习心得和经验,提高自己的编程水平。
第1页共1页。
易语言常用源码1000例

易语言常用源码1000例摘要:一、易语言简介1.易语言的发展历程2.易语言的特点和优势二、易语言常用源码1000例概述1.源码的分类和作用2.1000例源码的构成和来源三、易语言常用源码1000例实例分析1.常用功能模块a.文件操作b.系统控制c.网络通信d.数据库操作e.图形图像处理2.实例代码详解a.文件操作实例b.系统控制实例c.网络通信实例d.数据库操作实例e.图形图像处理实例四、易语言常用源码1000例的应用场景1.企业级应用开发2.个人软件创作3.教育教学五、易语言常用源码1000例的优缺点分析1.优点a.提高开发效率b.丰富的功能模块c.易于学习和使用2.缺点a.兼容性问题b.代码不够优化c.更新速度较慢六、展望易语言的发展前景1.我国政策支持2.市场需求和应用领域3.技术创新和未来发展正文:易语言是一种以中文编程为特点的编程语言,自诞生以来,凭借其易学易用的特点,在我国编程领域取得了广泛的应用。
易语言的发展历程经历了多次版本更新和功能完善,如今已经形成了一套完整的编程体系和丰富的开发资源。
易语言常用源码1000例是易语言编程资源的重要组成部分,它包含了大量实用的功能模块和实例代码。
这些源码可以分为文件操作、系统控制、网络通信、数据库操作和图形图像处理等几个大类,涵盖了易语言编程的各个方面。
通过对这些源码的研究和应用,可以极大地提高开发效率,缩短项目周期。
易语言常用源码1000例不仅适用于企业级应用开发,也适用于个人软件创作。
在教育教学领域,易语言和其丰富的源码资源也为培养我国的编程人才提供了有力的支持。
易语言源码具有很高的实用性,开发者可以直接将其应用到项目中,减少重复编写代码的工作量。
当然,易语言常用源码1000例也存在一些不足之处。
例如,由于其基于中文编程,与英文编程语言的兼容性问题可能会影响一些开发者的使用体验。
此外,部分源码的代码优化和性能还有待提高。
不过,随着易语言的不断发展和完善,这些问题也将逐步得到解决。
易语言源码

.版本2.支持库iext.程序集窗口程序集1.程序集变量PE,PE操作类.程序集变量inh,IMAGE_NT_HEADERS.程序集变量ish,IMAGE_SECTION_HEADER,,"0".程序集变量iat,导入表结构,,"0".程序集变量FileBin,字节集.程序集变量All_OEP,整数型.程序集变量Nop_addr,整数型.子程序__启动窗口_创建完毕.子程序_按钮1_被单击通用对话框1.打开().如果真(通用对话框1.文件名≠“”)编辑框1.内容=通用对话框1.文件名.如果真结束.子程序_按钮2_被单击.局部变量temp.局部变量局部_计次FileBin=读入文件(编辑框1.内容).如果真(FileBin≠{})超级列表框1.全部删除()超级列表框2.全部删除().如果真(PE.是否PE文件(FileBin,temp))PE.分析PE(FileBin,inh,ish,iat).计次循环首(取数组成员数(iat),局部_计次)超级列表框1.置标题(超级列表框1.插入表项(-1,iat[局部_计次].库名,,,,), 1,iat[局部_计次].函数名).计次循环尾()'输出调试文本(4194304+ish[1].VirtualAddress).计次循环首(取数组成员数(ish),局部_计次)temp=超级列表框2.插入表项(-1,到文本(ish[局部_计次].Name),,,,)超级列表框2.置标题(temp,1,到文本(十到十六(ish[局部_计次].VirtualAddress)))超级列表框2.置标题(temp,2,到文本(十到十六(ish[局部_计次].VirtualSize)))超级列表框2.置标题(temp,3,到文本(十到十六(ish[局部_计次].PointerToRawData)))超级列表框2.置标题(temp,4,到文本(十到十六(ish[局部_计次].SizeOfRawData)))超级列表框2.置标题(temp,5,到文本(十到十六(ish[局部_计次].Characteristics))).计次循环尾()'空白程序段地址编辑框2.内容=十到十六(inh.OptionalHeader.AddressOfEntryPoint)All_OEP=inh.OptionalHeader.AddressOfEntryPointNop_addr=ish[1].VirtualAddress+ish[1].VirtualSize+1+20 .如果真结束.如果真结束.子程序免杀易语言程序_静态编译,,,E8.参数文件bin,字节集.参数OEP,整数型.参数nop_addr,整数型.局部变量i,整数型.局部变量bin_addr1,整数型.局部变量bin_temp,字节集.局部变量call_addr1,整数型.局部变量call_bin1,字节集.局部变量jmp_bin1,字节集.局部变量jmp_bin2,字节集.判断循环首(真)i=i+1.如果真(取字节集中间(文件bin,OEP+i,4)={106,10,88,80}且取字节集中间(文件bin,OEP+i+9,2)={255,21}且取字节集中间(文件bin,OEP+i+15,2)={80,232})bin_addr1=OEP+i+16bin_temp=取字节集中间(文件bin,bin_addr1+1,4)'取得CALL后的地址call_addr1=十六到十(特殊_取最终地址(十到十六(bin_addr1-1),十到十六(取字节集数据(bin_temp,#整数型,)),5))-1jmp_bin1=特殊_生成JMP指令(bin_addr1-1,nop_addr)jmp_bin2=特殊_生成JMP指令(nop_addr+5,bin_addr1+4)call_bin1=特殊_生成Call指令(nop_addr,call_addr1+1).如果真(指针到字节集(取字节集地址(文件bin)+bin_addr1-1,1)={232})写到内存(jmp_bin1,取字节集地址(文件bin)+bin_addr1-1,5)写到内存(call_bin1,取字节集地址(文件bin)+nop_addr,5)写到内存(jmp_bin2,取字节集地址(文件bin)+nop_addr+5,5) .如果真结束跳出循环().如果真结束.判断循环尾().子程序取字节集地址,整数型,,获取变量指针地址.参数变量,字节集返回(_取指针_字节集(变量,变量,0)).子程序十到十六,文本型,,将十进制转换成十六进制(返回十六进制文本).参数十进制数,长整数型,,待转换的十进制数.参数是否去零,逻辑型,可空,默认为假:不去0真:去0.局部变量余数,文本型,,"0".局部变量十六进制文本,文本型.局部变量计次,整数型.局部变量字母数组,文本型,,"6".局部变量字节集,字节集.如果真(是否为空(是否去零))是否去零=假.如果真结束字母数组={“A”,“B”,“C”,“D”,“E”,“F”}.循环判断首().判断开始(十进制数%16<10)加入成员(余数,到文本(十进制数%16)).默认加入成员(余数,字母数组[十进制数%16-9]).判断结束十进制数=十进制数÷16.如果真(十进制数<16).判断开始(十进制数<10)加入成员(余数,到文本(取整(十进制数))).默认加入成员(余数,字母数组[十进制数-9]).判断结束跳出循环().如果真结束.循环判断尾(真).计次循环首(取数组成员数(余数),计次)十六进制文本=十六进制文本+到文本(余数[取数组成员数(余数)-计次+1]).计次循环尾().如果真(取文本长度(十六进制文本)<8).计次循环首(8-取文本长度(十六进制文本),)十六进制文本=“0”+十六进制文本.计次循环尾().如果真结束.如果真(是否去零)去除首部零(十六进制文本).如果真结束返回(十六进制文本).子程序去除首部零,文本型.参数文本,文本型.局部变量计次,整数型.计次循环首(取文本长度(文本),计次).如果真(取文本中间(文本,计次,1)≠“0”)跳出循环().如果真结束.计次循环尾()返回(取文本右边(文本,取文本长度(文本)-计次+1)).子程序查看字节集,文本型,,以易语言文本方式查看字节集,返回文本内容如:{102, 204,14,5}.参数字节集,字节集,,欲查看的字节集.参数起始位置,整数型,可空,查看字节集的起始查看位置.参数查看长度,整数型,可空,查看的长度,默认为查看全部.局部变量新文本,文本型.局部变量文本,文本型,,"0".局部变量新长度,整数型.局部变量a,整数型.局部变量新起始位置,整数型.局部变量新目标位置,整数型新长度=取字节集长度(字节集).如果真(新长度=0)返回(“{}”).如果真结束新起始位置=选择(起始位置<1,1,起始位置)新目标位置=选择(查看长度+起始位置>新长度或查看长度<1,新长度,查看长度+起始位置-1).如果真(新目标位置-新起始位置<1)返回(“{”+到文本(字节集[新起始位置])+“}”).如果真结束.变量循环首(选择(起始位置<1,1,起始位置),新目标位置-1,1,a)新文本=新文本+到文本(字节集[a])+“,”处理事件().变量循环尾()返回(“{”+新文本+到文本(字节集[新目标位置])+“}”).子程序_按钮3_被单击通用对话框2.打开().如果真(通用对话框2.文件名≠“”)免杀易语言程序_静态编译(FileBin,All_OEP,Nop_addr)写到文件(通用对话框2.文件名,FileBin)FileBin={}.如果真结束.子程序特殊_取最终地址,文本型,,用于取得汇编Call级jmp等的特殊地址.参数当前地址,文本型.参数偏移量,文本型.参数Size,整数型.局部变量i,整数型i=十六到十(当前地址)+十六到十(偏移量)+Size返回(十到十六(i,真)).子程序特殊_生成JMP指令,字节集,,生成跳转指令.参数内存地址,整数型,,要写入跳转指令的内存地址.参数跳到地址,整数型,,需要跳到的内存地址.局部变量偏移地址,整数型.局部变量jmp,字节集.局部变量偏移,字节集偏移地址=跳到地址-内存地址-5jmp={233}偏移=到字节集(偏移地址)返回(jmp+偏移).子程序特殊_生成Call指令,字节集,,生成Call指令.参数内存地址,整数型,,要写入跳转指令的内存地址.参数跳到地址,整数型,,需要跳到的内存地址.局部变量偏移地址,整数型.局部变量jmp,字节集.局部变量偏移,字节集偏移地址=跳到地址-内存地址-5jmp={232}偏移=到字节集(偏移地址)返回(jmp+偏移).子程序十六到十,整数型,公开,将十六进制转换成十进制(返回十进制文本).参数十六进制文本,文本型,,待转换的十六进制文本.参数返回结果,文本型,参考可空,返回文本结果(如十进制数超出整数范围,可通过返回结果获得十进制文本).局部变量中间文本,文本型.局部变量结果,长整数型.局部变量容器1,整数型返回结果=“”.变量循环首(1,取文本长度(十六进制文本),1,容器1)中间文本=取文本中间(十六进制文本,容器1,1)结果=(寻找文本(“0123456789ABCDEF”,中间文本,,真)-1)×求次方(16,取文本长度(十六进制文本)-容器1)+结果.变量循环尾().如果真(是否为空(返回结果)=假)返回结果=到文本(结果).如果真结束返回(结果)。
易语言内核变速齿轮源码
易语言内核变速齿轮源码摘要:一、易语言变速齿轮源码概述二、易语言变速齿轮源码的实现方法三、易语言变速齿轮源码的获取途径四、易语言变速齿轮的使用注意事项五、总结正文:一、易语言变速齿轮源码概述易语言变速齿轮源码是指用易语言编写的一种可以改变计算机系统运行速度的程序。
它可以通过调整系统的时钟频率来实现对计算机运行速度的控制,从而达到变速的效果。
这种源码对于一些需要调整游戏速度的用户来说非常有用,但是需要注意的是,使用这种源码可能会对系统产生一定的危害。
二、易语言变速齿轮源码的实现方法易语言变速齿轮源码的实现方法主要有两种:1.系统级变速:这种变速方式是通过修改系统的时钟频率来实现的。
它可以让整个系统的运行速度变快或者变慢,但是会对系统产生一定的危害。
2.内存变速:这种变速方式是通过修改游戏服务器的内存数据来实现的。
它可以只对特定的程序进行速度调整,但是需要熟悉游戏服务器的内存结构。
三、易语言变速齿轮源码的获取途径如果想要获取易语言变速齿轮源码,可以通过以下途径:1.在易语言论坛上搜索:易语言论坛上会有一些用户分享变速齿轮的源代码,可以搜索一下看看有没有需要的代码。
2.向易语言高手请教:如果身边有易语言的高手,可以向他们请教如何编写变速齿轮源码。
3.购买现成的源码:一些网站上可能会出售现成的易语言变速齿轮源码,但是需要注意的是,购买源码需要谨慎,避免购买到有问题的源码。
四、易语言变速齿轮的使用注意事项使用易语言变速齿轮源码需要注意以下几点:1.使用变速齿轮可能会对系统产生危害,因此需要谨慎使用。
2.变速齿轮只能改变程序的运行速度,不能改变程序的执行结果。
3.使用变速齿轮时,需要选择合适的变速比例,过快的速度可能会导致程序崩溃或者数据错误。
4.在使用变速齿轮时,需要遵循相关法律法规,不得用于非法用途。
五、总结易语言变速齿轮源码是一种可以改变计算机系统运行速度的程序,它可以通过调整系统的时钟频率来实现对计算机运行速度的控制。
易语言代码
.子程序 攻击
时钟1.时钟周期 = 100
公告 (“攻击安Page Up攻击伤害加”, 十六到十 (“FF00FF00”))
.子程序 SSS
时钟1.时钟周期 = 0
公告 (“关闭攻击”, 十六到十 (“FF00FF00”))
.子程序 秒杀队友
置入代码 ({ 96, 190, 12, 221, 13, 1, 139, 54, 184, 80, 244, 250, 0, 139, 0, 185, 84, 244, 250, 0, 139, 9, 106, 0, 106, 0, 139, 22, 80, 81, 106, 0, 106, 4, 106, 4, 106, 0, 106, 4, 106, 0, 106, 0, 104, 0, 80, 0, 0, 104, 170, 32, 0, 0, 139, 206, 255, 146, 204, 2, 0, 0, 97 })
编辑框3.内容 = 到文本 (攻击伤害值)
公告 (编辑框3.内容, 十六到十 (“FF00FF00”))
.判断结束
.子程序 _时钟1_周期事件
自定义攻击 (十六到十 (“010DDD0C”), 到整数 (0), 到整数 (编辑框3.内容), 到整数 (20059))
公告 (“F4 霸体高防移动”, 十六到十 (“FF00FF00”))
公告 (“F5 消耗品召唤魔剑第1格”, 十六到十 (“FF00FF00”))
公告 (“F6 3S”, 十六到十 (“FF00FF00”))
公告 (“F7 幻影剑舞!(推荐)”, 十六到十 (“FF00FF00”))
公告 (“Page Up攻击伤害加 Page Down攻击伤害减”, 十六到十 (“FF00FF00”))
易语言源码被腾讯TP破坏后修复的代码
易语⾔源码被腾讯TP破坏后修复的代码DLL命令表.版本 2.DLL命令 CopyTo_系统信息段, , , "RtlMoveMemory".参数 Dest, 系统信息段.参数 Src, 字节集.参数 Length.DLL命令 CopyTo_SectionInfo, , , "RtlMoveMemory".参数 Dest, _SectionInfo.参数 Src, 字节集.参数 Length.DLL命令 CopyFrom_SectionInfo, , , "RtlMoveMemory".参数 Dest, 字节集.参数 Src, _SectionInfo.参数 Length.DLL命令 CopyFrom_SectionHeader, , , "RtlMoveMemory".参数 Dest, 字节集.参数 Src, _SectionHeader.参数 Length.DLL命令 Sizeof_, 整数型, , "GlobalSize".参数 p, 系统信息段.DLL命令 strcpy_bytes, , , "lstrcpyA".参数 dest, 字节型, 数组.参数 src, ⽂本型.DLL命令 LoadLibraryA, 整数型, "kernel32.dll", "LoadLibraryA".参数 FilePath, ⽂本型.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress".参数 hLib.参数 Name, ⽂本型.DLL命令 GetModuleHandleA, 整数型, "kernel32.dll", "LoadLibraryA".参数 FilePath, ⽂本型.DLL命令 DragAcceptFiles_, , "shell32.dll", "DragAcceptFiles", , 登记窗⼝是否接受托动⽂件的内容.参数 hwnd, 整数型.参数 fAccept, 整数型.DLL命令 SetWindowLong_, 整数型, "user32", "SetWindowLongA", , 在窗⼝结构中为指定的窗⼝设置信息指定数据的前⼀个值.参数 hwnd, 整数型, , 欲为其取得信息的窗⼝的句柄.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明.参数 dwNewLong, 整数型, , 由nIndex指定的窗⼝信息的新值;.DLL命令 SetProp_, 整数型, "user32", "SetPropA", , 增加或修改属性列项.参数 hwnd, 整数型.参数 lpString, ⽂本型.参数 hData, 整数型.DLL命令 GetProp_, 整数型, "user32", "GetPropA", , 从窗⼝属性表列中返回数据句柄.参数 hwnd, 整数型.参数 lpString, ⽂本型.DLL命令 CallWindowProc_, 整数型, "user32", "CallWindowProcA", , 将消息传答窗⼝函数.参数 lpPrevWndFunc, 整数型.参数 hwnd, 整数型.参数 msg, 整数型.参数 wParam, 整数型.参数 lParam, 整数型.DLL命令 DragQueryFile_, 整数型, "shell32.dll", "DragQueryFileA", , 返回托动的⽂件名.参数 HDROP, 整数型.参数 UINT, 整数型.参数 lpStr, ⽂本型, 传址.参数 ch, 整数型.DLL命令 DragFinish_, , "shell32.dll", "DragFinish", , 释放分配⽤于托动⽂件的内容.参数 hDrop, 整数型.DLL命令 RemoveProp_, 整数型, "user32", "RemovePropA", , 删除属性列⼊⼝.参数 hwnd, 整数型.参数 lpString, ⽂本型常量数据表.版本 2.常量 GWL_WNDPROC, "-4".常量 WM_DROPFILES, "563".常量 __输出块数据, "假".常量 __输出属性值, "假".常量 __输出Section列表, "假".常量 __检查效验值, "假".常量⽂件类型_源代码, "1", 公开.常量⽂件类型_模块, "3", 公开.常量编译类型_Windows窗⼝程序, "0", 公开.常量编译类型_Windows控制台程序, "1", 公开.常量编译类型_Windows动态链接库, "2", 公开.常量编译类型_Windows易语⾔模块, "1000", 公开.常量编译类型_Linux控制台程序, "10000", 公开.常量编译类型_Linux易语⾔模块, "11000", 公开.常量系统信息段, "“系统信息段”".常量⽤户信息段, "“⽤户信息段”".常量程序资源段, "“程序资源段”".常量程序段, "“程序段”".常量初始模块段, "“初始模块段”".常量可丢失程序段, "“可丢失程序段”".常量编辑信息段1_Maby, "“编辑信息段1”".常量编辑信息段2, "“编辑信息段2”".常量辅助信息段1, "“辅助信息段1”".常量辅助信息段2, "“辅助信息段2”".常量易模块记录段, "“易模块记录段”".常量 sizeof_系统信息段, "60".常量 sizeof_SectionHeader, "8".常量 sizeof_SectionInfo, "92".常量 sizeof_DWORD, "4".常量 Magic_加密源码, "1162630231", , "WTLE".常量 Magic_⽂件标志1, "1415007811", , "CNWT".常量 Magic_⽂件标志2, "1196576837", , "EPRG".常量 Magic_Section, "353465113", , 19 73 11 15.常量 no_key_ec_node, "117469977", , 07 00 73 19.常量 xF0000000, "4026531840", , 0xF0000000.常量 x00FFFFFF, "16777215", , 0x00FFFFFF.常量程序段_变量_属性_静态, "1", 公开.常量程序段_变量_属性_参考, "2", 公开.常量程序段_变量_属性_传址, "2", 公开.常量程序段_变量_属性_可空, "4", 公开.常量程序段_变量_属性_数组, "8", 公开.常量程序段_变量_属性_公开, "256", 公开.常量程序段_函数_属性_公开, "8", 公开.常量程序段_数据类型_属性_公开, "1", 公开.常量程序段_DLL_属性_公开, "2", 公开.常量资源段_常量_页⾯_常量, "1".常量资源段_常量_页⾯_图⽚, "2".常量资源段_常量_页⾯_声⾳, "3".常量资源段_常量_类型_空⽩, "22".常量资源段_常量_类型_数值, "23".常量资源段_常量_类型_逻辑, "24".常量资源段_常量_类型_⽇期, "25".常量资源段_常量_类型_⽂本, "26".常量资源段_常量_属性_公开, "2", 公开.常量资源段_常量_属性_长⽂本常量, "16", 公开.常量数据类型_空⽩型, "0", 公开, 0x00000000.常量数据类型_字节型, "-2147483391", 公开, 0x80000101.常量数据类型_短整数, "-2147483135", 公开, 0x80000201.常量数据类型_整数型, "-2147482879", 公开, 0x80000301.常量数据类型_长整数型, "-2147482623", 公开, 0x80000401 .常量数据类型_⼩数型, "-2147482367", 公开, 0x80000501.常量数据类型_双精度⼩数, "-2147482111", 公开, 0x80000601 .常量数据类型_逻辑型, "-2147483646", 公开, 0x80000002.常量数据类型_⽇期时间型, "-2147483645", 公开, 0x80000003 .常量数据类型_⽂本型, "-2147483644", 公开, 0x80000004.常量数据类型_字节集, "-2147483643", 公开, 0x80000005.常量数据类型_⼦程序指针, "-2147483642", 公开, 0x80000006 .常量 op4_1, "1".常量 op4_23, "23".常量 op4_24, "24".常量 op4_25, "25".常量 op4_26, "26".常量 op4_27, "27".常量 op4_28, "28".常量 op4_29, "29".常量 op4_30, "30".常量 op4_31, "31".常量 op4_32, "32".常量 op4_33, "33".常量 op4_34, "34".常量 op4_35, "35".常量 op1_33, "33".常量 op1_54, "54".常量 op1_55, "55".常量 op1_56, "56".常量 op1_57, "57".常量 op1_58, "58".常量 op1_59, "59"⾃定义数据类型表.版本 2.数据类型 ProSet.成员读取代码, 逻辑型.成员读取资源, 逻辑型.数据类型系统信息段, 公开.成员编译版本1, 短整数型.成员编译版本2, 短整数型.成员 Unknow_1.成员 Unknow_2.成员未知类型.成员⽂件类型.成员 Unknow_3.成员编译类型.成员 Unknow_9, , , "8".数据类型⽤户信息段, 公开.成员程序名称, ⽂本型.成员程序备注, ⽂本型.成员作者, ⽂本型.成员邮政编码, ⽂本型.成员联系地址, ⽂本型.成员电话, ⽂本型.成员传真, ⽂本型.成员电⼦信箱, ⽂本型.成员主页, ⽂本型.成员其他, ⽂本型.成员版本号1.成员版本号2.数据类型资源段, 公开.成员窗体, 资源段_窗体, , "1".成员常量, 资源段_常量, , "1".成员 reserve.数据类型资源段_窗体, 公开.成员段头, 块段头.成员未知1.成员未知2.成员左边, 整数型.成员名称, ⽂本型.成员备注, ⽂本型.成员元素, 资源段_窗体_元素, , "1".数据类型资源段_窗体_元素, 公开.成员保留.数据类型资源段_常量, 公开.成员标志符.成员 Offset.成员 dwLength.成员属性, 短整数型.成员名称, ⽂本型.成员备注, ⽂本型.成员数据, 变体型.成员是否为长⽂本, 逻辑型.成员结果, ⽂本型.数据类型程序段, 公开.成员头信息, 程序段_头信息.成员代码页, 程序段_代码页, , "1".成员函数组, 程序段_函数, , "1".成员全局变量, 程序段_变量, , "1".成员数据类型, 程序段_数据类型, , "1".成员 Dll, 程序段_Dll, , "1".数据类型程序段_数据类型, 公开.成员段头, 块段头.成员属性.成员名称, ⽂本型.成员备注, ⽂本型.成员成员组, 程序段_变量, , "1".数据类型程序段_Dll, 公开.成员段头, 块段头.成员属性.成员返回类型, 整数型.成员名称, ⽂本型.成员备注, ⽂本型.成员⽂件名, ⽂本型.成员命令名, ⽂本型.成员参数组, 程序段_变量, , "1".数据类型程序段_头信息, 公开.成员 VerFlag1.成员 Unk1.成员 Unk2_1, 字节集.成员 Unk2_2, 字节集.成员 Unk2_3, 字节集.成员⽀持库信息, ⽂本型, , "1".成员 Flag1.成员 Flag2.成员 Unk3_Op, 字节集.数据类型块段头, 公开.成员 dwID.成员 dwUnk.数据类型程序段_代码页, 公开.成员段头, 块段头.成员 Unk1.成员基类.成员名称, ⽂本型.成员备注, ⽂本型.成员函数组标志, 整数型, , "1".成员页⾯变量, 程序段_变量, , "1".数据类型程序段_函数, 公开.成员段头, 块段头.成员类型.成员属性.成员返回类型.成员名称, ⽂本型.成员备注, ⽂本型.成员变量, 程序段_变量, , "1".成员参数, 程序段_变量, , "1".成员数据1, 字节集.成员数据2, 字节集.成员数据3, 字节集.成员数据4, 字节集.成员数据5, 字节集.成员代码, 字节集.数据类型程序段_代码⾏.成员 dwFuncId.成员类型, , , , -4=??;-3=DLL指令;-2=⽤户⼦程序;-1=空;>=0时,则为⽀持库索引列表 .成员未验证代码, ⽂本型.成员备注, ⽂本型.数据类型程序段_变量, 公开.成员标志符, 整数型.成员 Offset.成员 dwLength.成员数据类型.成员属性, 短整数型.成员数组维数, 字节型.成员数组下标值, , , "1".成员名称, ⽂本型.成员备注, ⽂本型.数据类型初始模块段, 公开.成员保留.数据类型可丢失程序段, 公开.成员保留.数据类型编辑信息段1, 公开.成员保留.数据类型编辑信息段2, 公开.成员保留.数据类型辅助信息段1, 公开.成员保留.数据类型辅助信息段2, 公开.成员保留.数据类型易模块记录段, 公开.成员保留.数据类型 _FileHeader.成员 Magic1, 整数型.成员 Magic2, 整数型.数据类型 _SectionHeader.成员 Magic, 整数型.成员 Info_CheckSum, 整数型.数据类型 _SectionInfo.成员 Key, 字节型, , "4".成员 Name, 字节型, , "30".成员 reserve_fill_1, 短整数型.成员 Index, 整数型.成员 Flag1, 整数型, , , 1=ec info.成员 Data_CheckSum, 整数型.成员 DataLength, 整数型.成员 reserve_item, 整数型, , "10".数据类型分析选项, 公开.成员禁读_主要页⾯, 逻辑型.成员禁读_程序代码, 逻辑型.成员禁读_资源数据, 逻辑型修复分析的代码.版本 2.程序集修复分析.程序集变量 g_LastError, ⽂本型.⼦程序分析_取最后错误⽂本, ⽂本型返回 (g_LastError).⼦程序分析_设置错误⽂本.参数 text, ⽂本型g_LastError = text.⼦程序 Error.参数 text, ⽂本型输出调试⽂本 (“[Error]” + text)分析_设置错误⽂本 (text).如果 (是否为调试版 ())输出调试⽂本 (“[Error]” + text).否则信息框 (text, #错误图标, “LD提⽰:”, ).如果结束.⼦程序 RepairLog.参数 text, ⽂本型输出调试⽂本 (text).⼦程序分析_易⽂件, 逻辑型.参数⽂件路径, ⽂本型.参数⽂件密码, ⽂本型, 可空.参数 __修复⽂件, 逻辑型, 可空.参数分析选项, 分析选项, 可空.参数系统信息段, 系统信息段, 可空.参数⽤户信息段, ⽤户信息段, 可空.参数程序资源段, 资源段, 可空.参数程序段, 程序段, 可空.参数初始模块段, 初始模块段, 可空.参数可丢失程序段, 可丢失程序段, 可空.参数编辑信息段1, 编辑信息段1, 可空.参数编辑信息段2, 编辑信息段2, 可空.参数辅助信息段1, 辅助信息段1, 可空.参数辅助信息段2, 辅助信息段2, 可空.参数易模块记录段, 易模块记录段, 可空.局部变量 file, 读取.局部变量 Block_Data, 字节集.局部变量 Block_Name, ⽂本型.局部变量 FileHead, _FileHeader.局部变量是否有密码, 逻辑型是否有密码= file.is_have_password (⽂件路径).如果真 (file.Open (⽂件路径, __修复⽂件, ⽂件密码) =假)Error (“打开⽂件失败”)返回 (假)FileHead = file.Read_FileHeader ().如果真 (FileHead.Magic1 ≠ #Magic_⽂件标志1).如果 (是否有密码=假)Error (“头标志1错误”).否则Error (“密码错误或头标志1错误”).如果结束file.Close ()返回 (假).如果真结束.如果真 (FileHead.Magic2 ≠ #Magic_⽂件标志2).如果 (是否有密码=假)Error (“头标志2错误”).否则Error (“密码错误或头标志2错误”).如果结束file.Close ()返回 (假).如果真结束Block_Data = { }.判断循环⾸ (真).如果真 (__修复⽂件)Repair_NodeInfo (file, 取字节集长度 (Block_Data)).如果真结束.如果真 (file.Read_Section (Block_Name, Block_Data) =假)跳出循环 ().如果真结束.如果真 (#__输出Section列表)输出调试⽂本 (Block_Name).如果真结束.判断开始 (Block_Name = “”)跳出循环 ().判断 (Block_Name = #系统信息段).如果真 (是否为空 (系统信息段) =假)系统信息段=分析_系统信息段 (Block_Data).如果真结束.判断 (Block_Name = #⽤户信息段).如果真 (是否为空 (⽤户信息段) =假)⽤户信息段=分析_⽤户信息段 (Block_Data).如果真结束.判断 (Block_Name = #程序资源段).如果真 (是否为空 (程序资源段) =假)程序资源段=分析_资源段 (Block_Data, 分析选项).如果真结束.判断 (Block_Name = #程序段).如果真 (是否为空 (程序段) =假)程序段=分析_程序段 (Block_Data, 分析选项).如果真结束.判断 (Block_Name = #初始模块段).如果真 (是否为空 (系统信息段) =假)初始模块段=分析_初始模块段 (Block_Data).如果真结束.判断 (Block_Name = #可丢失程序段).如果真 (是否为空 (可丢失程序段) =假)可丢失程序段=分析_可丢失程序段 (Block_Data).如果真结束.判断 (Block_Name = #编辑信息段1_Maby).如果真 (是否为空 (编辑信息段1) =假)编辑信息段1 =分析_编辑信息段1 (Block_Data).如果真结束.判断 (Block_Name = #编辑信息段2).如果真 (是否为空 (编辑信息段2) =假)编辑信息段2 =分析_编辑信息段2 (Block_Data).如果真结束.判断 (Block_Name = #辅助信息段1).如果真 (是否为空 (辅助信息段1) =假)辅助信息段1 =分析_辅助信息段1 (Block_Data).如果真结束.判断 (Block_Name = #辅助信息段2).如果真 (是否为空 (辅助信息段2) =假)辅助信息段2 =分析_辅助信息段2 (Block_Data).如果真结束.判断 (Block_Name = #易模块记录段).如果真 (是否为空 (易模块记录段) =假)易模块记录段=分析_易模块记录段 (Block_Data).如果真结束.默认Error (“未知段[” + Block_Name + “]”).判断结束.如果真 (#__输出块数据)创建⽬录 (取运⾏⽬录 () + “\” + Block_Name).如果真 (Block_Data ≠ { })写到⽂件 (取运⾏⽬录 () + “\” + Block_Name + “\” +辅_取⽂件名称 (⽂件路径) + “.txt”, Block_Data).如果真结束.如果真结束.判断循环尾 ()file.Close ()返回 (真).⼦程序分析_易模块记录段, 易模块记录段.参数数据, 字节集.局部变量 Info, 易模块记录段返回 (Info).⼦程序分析_辅助信息段1, 辅助信息段1.参数数据, 字节集.局部变量 Info, 辅助信息段1返回 (Info).⼦程序分析_辅助信息段2, 辅助信息段2.参数数据, 字节集.局部变量 Info, 辅助信息段2返回 (Info).⼦程序分析_编辑信息段1, 编辑信息段1.参数数据, 字节集.局部变量 Info, 编辑信息段1返回 (Info).⼦程序分析_编辑信息段2, 编辑信息段2.参数数据, 字节集.局部变量 Info, 编辑信息段2返回 (Info).⼦程序分析_可丢失程序段, 可丢失程序段.参数数据, 字节集.局部变量 Info, 可丢失程序段返回 (Info).⼦程序分析_初始模块段, 初始模块段.参数数据, 字节集.局部变量 Info, 初始模块段返回 (Info).⼦程序分析_系统信息段, 系统信息段.参数数据, 字节集.局部变量 Info, 系统信息段CopyTo_系统信息段 (Info, 数据, #sizeof_系统信息段).如果真 (是否为调试版 ()).如果真 (Info.Unknow_1 ≠ 1 或 Info.Unknow_2 ≠ 1 或 Info.Unknow_3 ≠ 0 或到字节集 (Info.Unknow_9) ≠ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 })返回 (Info).⼦程序分析_⽤户信息段, ⽤户信息段.参数数据, 字节集.局部变量 Info, ⽤户信息段.局部变量 offsetoffset = 1Info.程序名称=取数据_数据⽂本 (数据, offset)Info.程序备注=取数据_数据⽂本 (数据, offset)Info.作者=取数据_数据⽂本 (数据, offset)Info.邮政编码=取数据_数据⽂本 (数据, offset)Info.联系地址=取数据_数据⽂本 (数据, offset)Info.电话=取数据_数据⽂本 (数据, offset)Info.传真=取数据_数据⽂本 (数据, offset)Info.电⼦信箱=取数据_数据⽂本 (数据, offset)Info.主页=取数据_数据⽂本 (数据, offset)Info.其他=取数据_数据⽂本 (数据, offset)Info.版本号1 =取数据_整数 (数据, offset)Info.版本号2 =取数据_整数 (数据, offset)返回 (Info).⼦程序 Repair_NodeInfo, 逻辑型.参数 file, 读取.参数 LastSize.局部变量 Header, _SectionHeader.局部变量 Info, _SectionInfo.局部变量 extern, 字节集.局部变量 bak.局部变量 length.局部变量 checksum.局部变量 Repair, 逻辑型.如果真 (file.IsEof ())返回 (假).如果真结束bak = file.GetPos ()Header = file.Read_SectionHeader ().如果真 (Header.Magic ≠ #Magic_Section)length = 0 - #sizeof_SectionHeader - #sizeof_SectionInfo .判断循环⾸ (file.IsEof () =假)file.MoveTo (#⽂件⾸, bak + length)Header.Magic = file.ReadInt ().如果真 (Header.Magic = #Magic_Section)跳出循环 ().如果真结束length = length + 1.判断循环尾 ().如果真 (Header.Magic ≠ #Magic_Section)file.MoveTo (#⽂件⾸, bak)返回 (假).如果真结束.如果 (length ≥ 0)file.MoveTo (#⽂件⾸, bak)extern = file.ReadData (length)Info.DataLength = lengthInfo.Data_CheckSum = GetCheckValue (extern)Info.Key [1] = 204Info.Key [2] = 204Info.Key [3] = 204Info.Key [4] = 204strcpy_bytes (, “待修复”)Decode_Str (, Info.Key)_CheckSum = GetSectionInfoCheckSum (Info) file.MoveTo (#⽂件⾸, bak)file.InsertSection (Header, Info)file.MoveTo (#⽂件⾸, bak)Header = file.Read_SectionHeader ().否则.如果结束.如果真结束Info = file.Read_SectionInfo ()extern = file.ReadData (Info.DataLength)checksum = GetCheckValue (extern).如果真 (Info.Data_CheckSum ≠ checksum)Info.Data_CheckSum = checksumRepair =真.如果真结束checksum = GetSectionInfoCheckSum (Info).如果真 (_CheckSum ≠ checksum)_CheckSum = checksumRepair =真.如果真结束.如果真 (Repair =真)file.MoveTo (#⽂件⾸, bak)file.Write_SectionHeader (Header)file.Write_SectionInfo (Info)Decode_Str (, Info.Key)RepairLog (“[” +到⽂本 () + “]损坏”).如果真结束file.MoveTo (#⽂件⾸, bak)返回 (真).⼦程序 Repair_Write.参数 hFile.参数 CheckAddr_Head.参数 CheckAddr_Data.参数 HeadAddr.参数 HeadSize.参数 DataAddr.参数 DataSize.局部变量 bak.局部变量 bin, 字节集bak =取读写位置 (hFile)移动读写位置 (hFile, , DataAddr)bin =读⼊字节集 (hFile, DataSize)移动读写位置 (hFile, , CheckAddr_Data).如果真 (写出数据 (hFile, GetCheckValue (bin)) =假)Error (“修正失败[数据]”).如果真结束移动读写位置 (hFile, , HeadAddr)bin =读⼊字节集 (hFile, HeadSize)移动读写位置 (hFile, , CheckAddr_Head).如果真 (写出数据 (hFile, GetCheckValue (bin)) =假)Error (“修正失败[头]”).如果真结束移动读写位置 (hFile, , bak).⼦程序 GetCheckValue, 整数型.参数 data, 字节集.局部变量 data_len.局部变量 key, 字节集.局部变量 key_len.局部变量 i.局部变量 ret_keykey_len = 4key =取空⽩字节集 (key_len).判断循环⾸ (i < data_len)key [i % key_len + 1] =位异或 (key [i % key_len + 1], data [i + 1]) i = i + 1.判断循环尾 ()ret_key =取字节集数据 (key, #整数型, )返回 (ret_key).⼦程序 Decode_Str.参数 data, 字节型, 数组.参数 key, 字节型, 数组.局部变量 key_i.局部变量 key_len.局部变量 i, 整数型key_len =取数组成员数 (key)key_i = 1.计次循环⾸ (取数组成员数 (data), i)data [i] =位异或 (data [i], key [key_i % key_len + 1])key_i = key_i + 1.计次循环尾 ()数据.版本 2.程序集数据.⼦程序 GET_HIGHT_TYPE, 整数型.参数 DWORD返回 (右移 (位与 (DWORD, #xF0000000), 8 + 8 + 8 + 4)).⼦程序 GET_LINK_TYPE, 整数型.参数 DWORD, 整数型返回 (位与 (DWORD, #x00FFFFFF)).⼦程序取数据_字节, 短整数型.参数数据, 字节集.参数 offset, , 参考返回 (取字节集数据 (数据, #字节型, offset)).⼦程序取数据_短整数, 短整数型.参数数据, 字节集.参数 offset, , 参考返回 (取字节集数据 (数据, #短整数型, offset)).⼦程序取数据_整数, 整数型.参数数据, 字节集.参数 offset, , 参考返回 (取字节集数据 (数据, #整数型, offset)).⼦程序取数据_逻辑, 逻辑型.参数数据, 字节集.参数 offset, , 参考返回 (取字节集数据 (数据, #逻辑型, offset)).⼦程序取数据_双精度⼩数, 双精度⼩数型.参数数据, 字节集.参数 offset, , 参考返回 (取字节集数据 (数据, #双精度⼩数型, offset)).⼦程序取数据_⽇期时间, ⽇期时间型.参数数据, 字节集.参数 offset, , 参考返回 (取字节集数据 (数据, #⽇期时间型, offset)).⼦程序取数据_⽂本数组.参数数据, 字节集.参数 offset, , 参考.参数 ret_arg, ⽂本型, 数组.局部变量 wCount, 短整数型.局部变量 iwCount =取数据_短整数 (数据, offset)重定义数组 (ret_arg, 假, wCount).计次循环⾸ (wCount, i)ret_arg [i] =取数据_数据⽂本 (数据, offset).计次循环尾 ().⼦程序取数据_数据⽂本, ⽂本型.参数数据, 字节集.参数 offset, , 参考返回 (到⽂本 (取数据_动态数据 (数据, offset))).⼦程序取数据_标准⽂本, ⽂本型.参数数据, 字节集.参数 offset, , 参考返回 (取字节集数据 (数据, #⽂本型, offset)).⼦程序取数据_动态数据, 字节集.参数数据, 字节集.参数 offset, , 参考.局部变量 lenlen =取数据_整数 (数据, offset)返回 (取数据_指定数据 (数据, offset, len)).⼦程序取数据_指定数据, 字节集.参数数据, 字节集.参数 offset, , 参考.参数 length.局部变量 data, 字节集.如果真 (length < 0)Error (“Read Data Error”)返回 ({ }).如果真结束.如果真 (length = 0)返回 ({ }).如果真结束data =取字节集中间 (数据, offset, length)offset = offset + length返回 (data).⼦程序取数据_跳过动态数据, 字节集.参数数据, 字节集.参数 offset, , 参考.局部变量 lenlen =取数据_整数 (数据, offset)offset = offset + len返回 ({ }).⼦程序数据转换, ⽂本型.参数数据, 字节集.参数 offset, , 参考.局部变量 i, 整数型i =取字节集数据 (数据, #整数型, offset)返回 (到⽂本 (readBytes (i, 数据, offset))).⼦程序 readBytes, 字节集.参数 length, 整数型.参数 data, 字节集.参数 offset, , 参考.局部变量 d, 字节集d =取字节集中间 (data, offset, length)offset = offset + length返回 (d)分析程序段.版本 2.程序集分析程序段.⼦程序分析_程序段, 程序段.参数分析选项, 分析选项.局部变量 offset.局部变量 Info, 程序段.局部变量 Count.局部变量 i, 整数型.局部变量段组, 块段头, , "0"offset = 1分析_程序段_基本信息 (数据, offset, Info.头信息).如果真 (分析选项.禁读_主要页⾯=假)Count =分析_块_段头 (数据, offset, 段组)重定义数组 (Info.代码页, 假, Count).计次循环⾸ (Count, i)Info.代码页 [i].段头=段组 [i]分析_程序段_程序集 (数据, offset, Info.代码页 [i]).计次循环尾 ()Count =分析_块_段头 (数据, offset, 段组)重定义数组 (Info.函数组, 假, Count).计次循环⾸ (Count, i)Info.函数组 [i].段头=段组 [i]分析_程序段_函数 (数据, offset, Info.函数组 [i], Info, 分析选项).计次循环尾 ()分析_程序段_变量_数据 (Info.全局变量, 取数据_整数 (数据, offset), 取数据_动态数据 (数据, offset)) Count =分析_块_段头 (数据, offset, 段组)重定义数组 (Info.数据类型, 假, Count).计次循环⾸ (Count, i)Info.数据类型 [i].段头=段组 [i]分析_程序段_数据类型 (数据, offset, Info.数据类型 [i]).计次循环尾 ()Count =分析_块_段头 (数据, offset, 段组)重定义数组 (Info.Dll, 假, Count).计次循环⾸ (Count, i)Info.Dll [i].段头=段组 [i]分析_程序段_Dll (数据, offset, Info.Dll [i]).计次循环尾 ().如果真结束返回 (Info).⼦程序分析_程序段_数据类型.参数数据, 字节集.参数 offset, , 参考.参数 Info, 程序段_数据类型.局部变量 CountInfo.属性=取数据_整数 (数据, offset)Info.名称=取数据_数据⽂本 (数据, offset)Info.备注=取数据_数据⽂本 (数据, offset)分析_程序段_变量_数据 (Info.成员组, 取数据_整数 (数据, offset), 取数据_动态数据 (数据, offset)).⼦程序分析_程序段_Dll.参数数据, 字节集.参数 offset, , 参考.参数 Info, 程序段_Dll.局部变量 CountInfo.属性=取数据_整数 (数据, offset)Info.返回类型=取数据_整数 (数据, offset)Info.名称=取数据_数据⽂本 (数据, offset)Info.备注=取数据_数据⽂本 (数据, offset)Info.⽂件名=取数据_数据⽂本 (数据, offset)Info.命令名=取数据_数据⽂本 (数据, offset)分析_程序段_变量_数据 (Info.参数组, 取数据_整数 (数据, offset), 取数据_动态数据 (数据, offset)).⼦程序分析_块_段头, 整数型.参数数据, 字节集.参数 offset, , 参考.参数 List, 块段头, 数组.局部变量 Length.局部变量 Count.局部变量 i, 整数型Length =取数据_整数 (数据, offset)Count = Length ÷ 8重定义数组 (List, 假, Count)i = offset.计次循环⾸ (Count, i)List [i].dwID =取数据_整数 (数据, offset).计次循环尾 ().计次循环⾸ (Count, i)List [i].dwUnk =取数据_整数 (数据, offset).计次循环尾 ()返回 (Count).⼦程序分析_程序段_函数.参数数据, 字节集.参数 offset, , 参考.参数 Info, 程序段_函数.参数 global, 程序段.参数分析选项, 分析选项.局部变量 count, 整数型Info.类型=取数据_整数 (数据, offset)Info.属性=取数据_整数 (数据, offset)Info.返回类型=取数据_整数 (数据, offset)Info.名称=取数据_数据⽂本 (数据, offset)Info.备注=取数据_数据⽂本 (数据, offset)分析_程序段_变量_数据 (Info.变量, 取数据_整数 (数据, offset), 取数据_动态数据 (数据, offset))分析_程序段_变量_数据 (Info.参数, 取数据_整数 (数据, offset), 取数据_动态数据 (数据, offset)).如果 (分析选项.禁读_程序代码)Info.数据1 =取数据_跳过动态数据 (数据, offset)Info.数据2 =取数据_跳过动态数据 (数据, offset)Info.数据3 =取数据_跳过动态数据 (数据, offset)Info.数据4 =取数据_跳过动态数据 (数据, offset)Info.数据5 =取数据_跳过动态数据 (数据, offset)Info.代码=取数据_跳过动态数据 (数据, offset).否则Info.数据1 =取数据_动态数据 (数据, offset)Info.数据2 =取数据_动态数据 (数据, offset)Info.数据3 =取数据_动态数据 (数据, offset)Info.数据4 =取数据_动态数据 (数据, offset)Info.数据5 =取数据_动态数据 (数据, offset)Info.代码=取数据_动态数据 (数据, offset)输出调试⽂本 (选择 (Info.名称= “”, “sub_” +取⼗六进制⽂本 (Info.段头.dwID), Info.名称))分析_程序段_代码 (Info.代码, global).如果结束.⼦程序分析_程序段_代码.参数数据, 字节集.参数 Info, 程序段.局部变量 offsetoffset = 1.判断循环⾸ (offset ≤ 取字节集长度 (数据) 且 offset ≠ -1).如果真 (IsUnkType (取数据_字节 (数据, offset)) =假)到循环尾 ().如果真结束.如果真 (位与 (取数据_字节 (数据, offset + 6), 40) = 32)到循环尾 ().如果真结束分析_程序段_⾏ (数据, offset, Info)offset = offset + GetFEndLen3 (数据, offset).判断循环尾 ().⼦程序分析_程序段_⾏.参数 offset.参数 Info, 程序段.局部变量 line, 程序段_代码⾏.局部变量 tmpline.dwFuncId =取数据_整数 (数据, offset)line.类型=取数据_短整数 (数据, offset)tmp =取数据_短整数 (数据, offset)line.未验证代码=取数据_数据⽂本 (数据, offset)line.备注=取数据_数据⽂本 (数据, offset).判断开始 (line.类型 ≥ 0)输出调试⽂本 (取⽀持库信指令 (Info.头信息, line.类型, line.dwFuncId), line.未验证代码, line.类型, tmp) .判断 (line.类型= -2)输出调试⽂本 (取⽤户定义指令 (Info.函数组, line.dwFuncId), line.未验证代码, line.类型, tmp).默认输出调试⽂本 (取⼗六进制⽂本 (line.dwFuncId), line.未验证代码, line.类型, tmp).判断结束tmp =取数据_字节 (数据, offset).⼦程序 GetFHdrType1, 整数型.参数 type, 字节型.判断开始 (type ≥ 106 且 type ≤ 117)返回 (4).判断 (type ≥ 80 且 type ≤ 85)返回 (5).判断 (type ≥ 54 且 type ≤ 59)返回 (2).判断 (type ≥ 22 且 type ≤ 35)返回 (1).判断 (type = 1)返回 (3).默认返回 (0).判断结束.⼦程序 GetFEndLen1, 整数型.参数数据, 字节集.参数 offset.局部变量 tmp.局部变量 bak_offsetbak_offset = offsettmp =取数据_字节 (数据, offset).如果真 (tmp = #op1_54)返回 (1).如果真结束tmp =取数据_整数 (数据, offset).判断循环⾸ (真)tmp =取数据_字节 (数据, offset).判断开始 (tmp = #op1_56)offset = offset - 1 + GetFEndLen1 (数据, offset).判断 (tmp = #op1_57)tmp =取数据_整数 (数据, offset)tmp =取数据_整数 (数据, offset).判断 (tmp = #op1_58)' 到循环尾 ().判断 (tmp = #op1_59)tmp =取数据_整数 (数据, offset).判断 (tmp = #op1_33)offset = offset + GetFEndLen3 (数据, offset).判断 (tmp = #op1_55)跳出循环 ().默认输出调试⽂本 (“unknow type cmd1:” +到⽂本 (tmp))跳出循环 ().判断结束.判断循环尾 ().如果真 (offset = -1)暂停 ()返回 (0).如果真结束返回 (offset - bak_offset).⼦程序 GetFEndLen4, 整数型.参数数据, 字节集.参数 offset.局部变量 tmp.局部变量 bak_offset.局部变量 tmp_str, ⽂本型bak_offset = offsettmp =取数据_字节 (数据, offset).判断开始 (tmp = 0).判断 (tmp = #op4_1)' //.判断 (tmp = #op4_24)tmp =取数据_短整数 (数据, offset).判断 (tmp = #op4_26)tmp_str =取数据_数据⽂本 (数据, offset).判断 (tmp = #op4_28)tmp =取数据_整数 (数据, offset).判断 (tmp = #op4_27 或 tmp = #op4_30)tmp =取数据_整数 (数据, offset).判断 (tmp = #op4_35)tmp =取数据_整数 (数据, offset)tmp =取数据_整数 (数据, offset).判断 (tmp = #op4_23 或 tmp = #op4_25)tmp =取数据_整数 (数据, offset)tmp =取数据_整数 (数据, offset).判断 (tmp = #op4_29)offset = offset + GetFEndLen1 (数据, offset).判断 (tmp = #op4_33 或 tmp = #op4_34)offset = offset + GetFEndLen3 (数据, offset).判断 (tmp = #op4_31).判断循环⾸ (取数据_字节 (数据, offset) ≠ #op4_32 且 offset ≠ -1)offset = offset + GetFEndLen4 (数据, offset).判断循环尾 ().判断 (tmp = 22).默认输出调试⽂本 (“unknow type cmd4:” +到⽂本 (tmp)).判断结束.如果真 (offset = -1)返回 (1).如果真结束返回 (offset - bak_offset).⼦程序 GetFEndLen3, 整数型.参数数据, 字节集.参数 offset.局部变量 bak_offset.局部变量 tmp_str, ⽂本型bak_offset = offsetoffset = offset + 8tmp_str =取数据_数据⽂本 (数据, offset)检查 (offset ≠ -1)tmp_str =取数据_数据⽂本 (数据, offset)检查 (offset ≠ -1)offset = offset + GetFEndLen1 (数据, offset)检查 (offset ≠ -1)。
易语言写挂代码分析
易语言源码,易语言我们都知道是盗号类木马常用的,很多朋友想知道易语言源码是怎么样的,但一般在网上都不会出现正常的易语言源码,你可以参考下面的文档学习编写模式。
学习易语言各种写挂技术,可以百度搜索 "魔鬼作坊" 点击第一个站去那里学习喽。
.程序集窗口程序集1.程序集变量基址, 整数型.程序集变量基址1, 整数型.子程序 _窗口1_创建完毕基址=十六到十 (“926FD4”).子程序 _句柄时钟_周期事件.局部变量字节, 文本型窗口句柄=取窗体句柄 (, “Element Client”).如果真 (窗口句柄> 0)信息 ()进程ID =取窗口进程ID (窗口句柄)内存优化 ().如果真结束.子程序信息.局部变量临时人物, 字节集.局部变量人物名称, 文本型一级基址=读整型内存 (进程ID, 基址) +十六到十 (“1C”)人物基址=读整型内存 (进程ID, 读整型内存 (进程ID, 一级基址) +十六到十(“20”))怪物基址=读整型内存 (进程ID, 读整型内存 (进程ID, 读整型内存 (进程ID, 一级基址) +十六到十 (“8”)) +十六到十 (“24”))此源码来自:魔鬼作坊转载请注明。
.子程序选怪.局部变量怪物数量, 整数型.局部变量怪物数组最大值, 整数型.局部变量怪物列表首地址, 整数型.局部变量 I, 整数型.局部变量怪物偏移, 整数型.局部变量怪物信息指针, 整数型.局部变量怪物名称地址, 整数型.局部变量临时怪物名称, 字节集.局部变量怪物名称, 文本型.局部变量怪物ID, 整数型.局部变量 N, 文本型.局部变量 x, 字节集.局部变量 y, 字节集.局部变量 z, 字节集.局部变量 j, 字节集.局部变量怪物x坐标, 整数型.局部变量怪物y坐标, 整数型.局部变量怪物z坐标, 整数型.局部变量怪物距离, 整数型.局部变量怪物种类, 整数型.局部变量怪物类别, 整数型.局部变量最近怪物, 整数型.局部变量要攻击的怪物ID, 整数型.局部变量对象数量, 整数型.局部变量怪物等级, 整数型.局部变量怪物当前血, 整数型.局部变量时间, 日期时间型.局部变量最近距离, 整数型.局部变量怪物名称首地址, 整数型.局部变量怪物状态, 整数型最近距离= 10000怪物数量=读整型内存 (进程ID, 怪物基址+十六到十 (“14”))怪物数组最大值=读整型内存 (进程ID, 怪物基址+十六到十 (“24”))怪物列表首地址=读整型内存 (进程ID, 怪物基址+十六到十 (“18”)).计次循环首 (怪物数组最大值- 1, I)怪物偏移=读整型内存 (进程ID, 怪物列表首地址+ 4 × (I - 1)).如果真 (怪物偏移> 0)怪物信息指针=读整型内存 (进程ID, 怪物偏移+十六到十 (“4”))怪物ID =读整型内存 (进程ID, 怪物信息指针+十六到十 (“11c”))怪物名称地址=读整型内存 (进程ID, 怪物信息指针+十六到十 (“230”)) 临时怪物名称=内存读字节集 (进程ID, 怪物名称地址, 80)怪物名称=转换Unicode转Ansi (临时怪物名称)怪物当前血=读整型内存 (进程ID, 怪物信息指针+十六到十 (“12c”))怪物最大血=读整型内存 (进程ID, 怪物信息指针+十六到十 (“154”))怪物等级=读整型内存 (进程ID, 怪物信息指针+十六到十 (“124”))怪物种类=读整型内存 (进程ID, 怪物信息指针+十六到十 (“B4”))怪物类别=读整型内存 (进程ID, 怪物信息指针+十六到十 (“120”))怪物状态=读整型内存 (进程ID, 怪物信息指针+十六到十 (“294”))' 怪物种类 6为怪,7为NPC,9为宠物 A为GM.如果真 (怪物种类= 6)N =“[怪]”.如果真结束.如果真 (怪物种类= 7)N =“[NPC]”.如果真结束.如果真 (怪物种类= 9)N =“[宠物]”.如果真结束.如果真 (怪物种类= 10)N =“[GM]”.如果真结束x =内存读字节集 (进程ID, 怪物信息指针+十六到十 (“3c”), 8) 怪物x坐标=取整 (取字节集数据 (x, #小数型, ) ÷ 10) + 400y =内存读字节集 (进程ID, 怪物信息指针+十六到十 (“44”), 8) 怪物y坐标=取整 (取字节集数据 (y, #小数型, ) ÷ 10) + 550z =内存读字节集 (进程ID, 怪物信息指针+十六到十 (“40”), 8) 怪物z坐标=取整 (取字节集数据 (z, #小数型, ) ÷ 10)j =内存读字节集 (进程ID, 怪物信息指针+十六到十 (“254”), 8) 怪物距离=取整 (取字节集数据 (j, #小数型, ) ÷ 10).如果真 (最近距离≥怪物距离)最近距离=怪物距离.如果真结束.如果真 (怪物种类= 6 且怪物距离≤最近距离且怪物状态≠ 4) 写整型内存 (进程ID, 人物基址+十六到十 (“a18”), 怪物ID)标签1.标题=到文本 (怪物ID).如果真结束.如果真结束.计次循环尾 ().子程序 _按钮1_被单击选怪 ()学习易语言各种技术,可以百度搜索 "魔鬼作坊" 点击第一个站去那里学习喽。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
易语言内核变速齿轮源码
易语言是一种简单易学的编程语言,其内核变速齿轮源码是让程序在执行过程中按照设定的速度进行运行的代码。
这种变速齿轮源码的设计灵感来自于机械中的变速齿轮,通过调整齿轮的大小和组合方式,可以改变运转的速度。
首先,我们需要明确一点,内核变速齿轮源码并不是真正意义上的代码,而是一种比喻。
在计算机中,程序的运行速度是由CPU时钟频率控制的,我们无法直接改变CPU的时钟频率来调节程序的运行速度。
但通过适当的算法和设计,我们可以使程序在执行过程中按照我们设定的速度运行,就像变速齿轮一样。
内核变速齿轮源码的核心思想是通过控制程序的循环速度来实现变速效果。
我们可以通过插入延时代码让程序在指定位置停顿一段时间,从而达到控制程序运行速度的目的。
这些延时代码可以是简单的循环计数器,也可以是使用系统提供的延时函数来实现。
与此同时,我们还可以根据不同的需求设计不同的变速模式,使程序在不同的阶段以不同的速度运行。
比如,在程序的启动阶段,我们可以设置一个较慢的速度来确保程序稳定运行;而在运行过程中,可以根据用户的操作或者环境的变化,动态调整程序的运行速度,以提供更好的用户体验。
内核变速齿轮源码的应用是非常广泛的。
比如,对于一些需要定时检测外部设备状态的程序,我们可以通过变速齿轮源码来调整程序
的运行速度,使其与外部设备的状态变化保持同步。
此外,在一些游
戏开发中,内核变速齿轮源码也被广泛应用,可以根据游戏场景的需
要实现流畅的运动效果。
在实际运用内核变速齿轮源码的过程中,我们需要注意一些细节。
首先,要注意控制程序的运行速度,避免出现过快或者过慢的情况,
影响程序的稳定性和用户体验。
其次,要根据实际需求合理设计变速
模式,避免频繁变速造成的性能损耗。
总结起来,内核变速齿轮源码是一种可以控制程序运行速度的设
计思想。
通过适当的延时控制和变速模式设计,可以实现程序在执行
过程中按照设定的速度运行。
在实际应用中,我们可以根据不同的需
求合理运用内核变速齿轮源码,以提高程序性能和用户体验。