易语言DNF召唤、无敌、技能HOOK源码教程。

合集下载

DNF技能代码(外挂)

DNF技能代码(外挂)

8462 火焰爆炸 8458 钉子 8142 固定暴风眼 23020 天雷闪 23023 火冲 23025 黑洞 30046 30064-30052 灼伤持续性伤害 30517 念气罩 30542 老鼠召唤 30543 无头技能定骑士 20057 轮子 20009 怒气爆发 22221 闪电 24013 大叔的电 30511 邪龙锁链 30036 大激光 30026 风魔手里剑 30029 第2颈椎的BOSS戳刺 30501 火焰陨石30541 老鼠召唤 60018 闪电连 3个固定面性 30508 爽火爆无震荡 20032 阿修罗周身烧土气阵 30567 召唤宝宝的万剑诀 60009 阴沟 8142 暴风(特点是有多段攻击,但是要用比较高级的飞镖,如果用石头伤害是不高的 8147 伤害(2000+ 比较高的怪有效个头矮的打不到 8148 伤害(2000+移动冰山直线攻击能碰到的都掉血可以打比你高的,伤害高 8141 伤害(400+3连击伤害高还可以打矮的 8140 伤害(召唤50级的女仆 20057 伤害(900+推荐20057有持续性伤害,玩家反馈最好用! 23025伤害低(可用) 20025 伤害(3000-4000 20028 伤害(2000左右 20039 伤害还可以 (还有21009 24016螺旋 30512 伤害较大(还有30511 30036 20057 22221 伤害较大(伤害高20041 伤害(500+群攻击(可用) 21004 伤害(1000+伤害 30026 伤害(1650+伤害一直向你扔的方向伤害 30054 伤害(2000+伤害 23013 火系爆炸效果直线攻击 23020 天雷闪范围攻击伤害中等 23023 火冲远程范围攻击爽 23025 黑洞直线范围攻高伤害 60018 闪电连 3个固定面性低伤害 20048 毒烟雾对自身周围有放到和伤害==============不错 30553 半月斩远距离伤害(好用) 20002-20007 自身尖兵柱打低级怪效果好 20008 修罗半月 20009 怒气爆发 20011 红阵 20012 冰阵 20013 绿阵 20014 墓碑 20015 自己身上墓碑 20016 银光落刃 20017 嗜魂之后小爆 20018 阿修罗震无影像 20019 波动刻印小邪光斩 20020 前突刺第二刀 20021 虚电球修罗大电 20022 自身裂波斩 20023 暂无效果 20024 火波 20025 20026 鬼闪 20027 阿修罗的锁人球 20028 十字斩 20029 双刀里鬼 20030 击退阵地光阵 20031 阿修罗周身烧土气阵 20032 阿修罗光球定珠 20033 五段斩第一刀 20034 五段斩第二刀 20035 五段斩第三刀 20036 五段斩第四刀 20037 五段斩第五刀 20038 小黑影球,无攻击 20039 格挡气球 20040 鬼气人阵? 20041 狂战吸怪最后砍出的一刀 20042 暂无效果 20043 狂战大崩山 20044 怪垂直浮空 20045-20047 鬼炎 20048 脚下小黑爆炸 20049 嗜魂之手小黑爆 20050 崩山散开 20053 鬼泣觉醒泥潭 20055 20057 修罗觉醒轮子 20058修罗觉醒眼睛格斗家的代码是21000 21001 背摔 21002 念气波 21004 抛沙 21009 寸拳? 21010 30517念气罩(可用) 21013 板砖飞散(好用) 21015 这个蜘蛛网罩 21017 觉醒暴风卷(可用) 21028 毒雷柱 21029 水管能让人摆动无攻击效果 21041 电光龙头(可用)神枪手 22206 原子弹大?傻? 22210 感觉*** 蛋药爆弹 22211 狂暴觉醒(无攻击)有效果 22214 格斗改技能光自暴小爆炸 22219 毛雷 22220 感电手雷 22221 冰冻手雷 22222-22223 无效果 22228 机械的觉醒一只巨大的拳头 22229 蛋药的黑玫瑰战队魔法师 23001 加迅速效果稻草人有用? 23007 魔法星弹 23008 杰克爆弹 23010 是类光求脚下小电珠 23011 黑猫23012 虚无之球 23013 火系爆炸效果超爽 23016 小火系爆炸小范围 23017 舒露露吸怪 23019 雷电 23020 天雷闪 23021-2 冰墙自己冰墙 23023 火冲 23025 黑洞(可用)圣职者 24003 恶魔之手(可用) 24009 破魔符自身 24013 大叔的电天帷图的代码 30007 飞镖脚下转 30008 想自杀尽管用是敌人 30009 青铜石人的爆炸刺30010-2 空骨鱼尾巴 30013 黑色苍蝇光环眩晕效果 30014 神殿绿教士飞镖脚下固定 30015 小激光 30016 白色液体 30017 黑色同上 30018 黑色球子蛋药 30019 炸弹30020 爆炸效果 30021 绿刺球 30025 冰奈斯的魔法攻击 30026 风魔手里剑飞盘固定 30027 小光环圈石化光环 30028 第2颈椎的BOSS抓钩 30029 第2颈椎的BOSS 戳刺 30035 脚下爆炸 30036 大激光(可用) 30038 树精地刺 30054 天帷boss 天落震 30055 火爆炸 30056 火爆炸 30057 ◇冰 30066-30067火焰爆炸火焰烟火-地下有火 30070 小电柱 30084 小冰刺 30411 投掷100元飞镖 30495 岩浆爆比普通高点30496 迷乱深渊召唤柱 30497 迷乱深渊闪电云(可用) 30498 迷乱大闪电地上范围 30499 地晕震 30500 火焰陨石出亚德炎(可用) 30501 火焰陨石无限亚德炎(可用) 30502 倒数数字待研究 30503 天空深渊火陨石无限火精灵(可用)30504 插地魔棒 30505 脚下紫光超好 30506 召唤沿江爆无攻击 30507 深渊柱困己30508 爽火爆无震荡区别法师 23013 屏幕 30509 宇宙光环好.. 30510 脚下冰霜无效果 30511 邪龙锁链 30512 小极爆 30513 天惟深渊boss 水泡(可用) 30514 天惟深渊boss 跟踪水雾球(可用) 30515 天惟深渊BOSS 雷云(可用) 30516 脚下火光环浮现 30517 念气罩(可用) 30518 深渊困己柱 30519 深渊困己柱 30520 召唤的花 30521 召唤花是敌人 30522 深渊boss太阳 30523 小火爆炸 30524 脚下小刀30525 藤蔓生长 30526 盗贼划刀 30527 蜷缩的溜蛋虫转动有人说屎壳郎滚粪球30528 深渊柱子 30529 好桶物质泥 30530 迷乱boss蝴蝶转 30531 蝴蝶脚下定 30532 好泥穿越 30533 好桶物质泥 30534 小老鼠高地 30535 地下插雷管 30536 石雕像的炸弹 30537 *替身 30538 女盗贼替身变无限前压腿被打解除 30539 脚下时闪-无效果 30540 *屁卡掉 30541 老鼠召唤30542 老鼠召唤 30543 无头技能定骑士 30544 大毛雷浮空爆 30546 小射光水 30551 格斗改技能暗自暴 30552 格斗改技能冰自暴 30554 格斗改技能火自暴 30567 召唤宝宝的万剑诀(可用) 44002 黑色闪电 60009 技能牛比阴沟 60014 酸雨欣赏 60015 粉红色流星雨欣赏 60018 闪电连 3个固定面性(可用) 60025 喷黑雾召唤地域黑烟 60027 黑暗炼狱欣赏 22228 机械觉醒(可用) 22229 蛋药觉醒 20058 修罗觉醒(可用) 20053 狂战觉醒 20057 鬼泣觉醒(可用)改良魔法星弹 006B4FEB 21017 火炉 006AF555 23035 火药瓶 006B5656 21017 20043 反重力 006A1C2A 20032 87747 (21018 PK克制无敌酸雨 006B4D16 21041 蛋药觉醒 0068E0F6 23034 念气环绕 0067342B 88543 30517 全屏 860330 元素冰墙 00628D7F 20012 30513 鬼剑[里鬼剑]006CDDBC 鬼剑[裂波斩]010745A4 鬼剑[冰刄波动]006E2779 鬼剑[刀魂卡赞]006EAC69 鬼剑[十字斩]01064B3A 鬼剑[狂战2刀流]01064B3A 鬼剑[波动剑]006E262A 鬼剑[怒气爆发]006EA808 鬼剑[双刀(狂站]006CDDBC 鬼剑[邪光斩]00F797B7 失魂之手00794FD1 22206 小崩山00793F49 格斗[背摔]0065FC01 格斗[抓头]00850C5C 格斗[板砖]0065A66D 格斗[抛沙]0065CC3E 格斗[金刚碎]0065E713 格斗[寸拳]006C22DA 格斗[雷霆背摔]0065FE93 枪[感电手雷]0064F83F 枪[狙击枪]006876FE 枪[喷火枪]0068803F 枪[原[非法内容]]0068AA91 枪[激光]00687BAD 法师[雷光珠] 006AEBA5 【舒露露】0075BF51 法师[魔法星弹]006AE6A8 法师[黑猫]006AED60 法师[杰克爆弹]006AE04F 大叔[破魔符]006C73CA 02000 2002 是修复HP 02100 2112 是修复MP 02200 是修复HP+MP 02300 是霸体 02400 是透明 02500 是祝福LV15 02600 是速LV15 格斗用 21017 暴风眼觉醒 20009 怒气爆发(无伤害) 20014 墓碑 20015 自己身上墓碑 20016 银光落刃 20017 嗜魂之后 20018 阿修罗震 20019 波动刻印 20020 前突刺第二刀(类似剪刀) 20021 电球 20022 裂波斩 20023 无 20024 火波(无攻击) 20026 鬼闪(无攻击)字串8 20027 阿修罗的锁人球 20028 十字斩 20029 无 20030 击退阵 20031 阿修罗周身烧 20032 阿修罗光球 20033 五段斩第一刀 20034 五段斩第二刀 20035 五段斩第三刀 20036 五段斩第四刀 20037 五段斩第五刀(用了必卡屏掉线) 20038 无 20039 格挡反击波() 20040 无 20041 狂战吸怪最后砍出的一刀 20042 无 20043 狂战大崩山(用了必卡屏掉线) 20044 怪垂直浮空20045-20047 无 20048 脚下爆炸 =========================号 20049 嗜魂之手甩出 20050 崩山散开 30007 飞镖 30008 [非法内容]专用 30009 青铜石人的爆炸刺30010-2 空骨鱼尾巴 30013 黑色苍蝇 30014 神殿绿教士飞镖 30016 白色液体 (无伤害 30017 黑色同上 30018 黑色球 (无伤害 30019 炸弹 30020 爆炸效果 30021 绿球没伤害用激光把20014 前面和后面都改成 30015 所有代号都是一样改建议不要频繁得用技能否则掉线。

怎么用易语言做辅助

怎么用易语言做辅助

怎么用易语言做辅助
一些会易语言又喜欢玩游戏的小伙伴,其实可以用易语言来做一些很实用的辅助。

那你知道怎么用易语言来做辅助吗?下面将由店铺告诉大家怎么用易语言做辅助,仅供大家参考!
用易语言做辅助的步骤
1,打开游戏和CE
2,打开游戏进程。

3,首次未知数值扫描
4,吃个蘑菇变大,选择变动的数值进行扫描
5,让人物变小,在选变动的数值扫描,
6,这样反复搜索,最后得出
变小值为0 变大值为 1
6,打开易语言进行写挂用一个时钟来控制无敌
7.编译,OK试试外挂
8.测试OK,碰到怪物就变大
以上是店铺与大家分享的怎么用易语言做辅助,希望能给大家带来帮助!。

DNF的召唤师脚本

DNF的召唤师脚本

DNF的召唤师脚本======以下是代码======//===变量===UserVar Var1=DropList{亚德炎:0|冰奈斯:1|瑟冥特克:2|雷沃斯:3|火焰赫瑞克:4|冰影阿奎利斯:5|亡魂默克尔:6|极光格雷林:7}=0 F1UserVar Var2=DropList{亚德炎:0|冰奈斯:1|瑟冥特克:2|雷沃斯:3|火焰赫瑞克:4|冰影阿奎利斯:5|亡魂默克尔:6|极光格雷林:7}=1 F2UserVar Var3=DropList{亚德炎:0|冰奈斯:1|瑟冥特克:2|雷沃斯:3|火焰赫瑞克:4|冰影阿奎利斯:5|亡魂默克尔:6|极光格雷林:7}=2 F3UserVar Var4=DropList{亚德炎:0|冰奈斯:1|瑟冥特克:2|雷沃斯:3|火焰赫瑞克:4|冰影阿奎利斯:5|亡魂默克尔:6|极光格雷林:7}=3 F4UserVar Var5=DropList{亚德炎:0|冰奈斯:1|瑟冥特克:2|雷沃斯:3|火焰赫瑞克:4|冰影阿奎利斯:5|亡魂默克尔:6|极光格雷林:7}=4 F5UserVar Var6=DropList{亚德炎:0|冰奈斯:1|瑟冥特克:2|雷沃斯:3|火焰赫瑞克:4|冰影阿奎利斯:5|亡魂默克尔:6|极光格雷林:7}=5 F6UserVar Var7=DropList{亚德炎:0|冰奈斯:1|瑟冥特克:2|雷沃斯:3|火焰赫瑞克:4|冰影阿奎利斯:5|亡魂默克尔:6|极光格雷林:7}=6 F7UserVar Var8=DropList{亚德炎:0|冰奈斯:1|瑟冥特克:2|雷沃斯:3|火焰赫瑞克:4|冰影阿奎利斯:5|亡魂默克尔:6|极光格雷林:7}=7 F8UserVar Var9=DropList{使用:0|不使用:1}=0 是否使用冰奈斯补血(使用后按F9补血,按住F10停止)//===开始===Rem 循环WaitKey DownIf Down =112VBS X=Var1Gosub 要输出的精灵ElseIf Down =113VBS X=Var2Gosub 要输出的精灵ElseIf Down =114VBS X=Var3Gosub 要输出的精灵ElseIf Down =115VBS X=Var4Gosub 要输出的精灵ElseIf Down =116VBS X=Var5Gosub 要输出的精灵ElseIf Down =117VBS X=Var6Gosub 要输出的精灵ElseIf Down =118VBS X=Var7Gosub 要输出的精灵ElseIf Down =119VBS X=Var8Gosub 要输出的精灵ElseIf Down =120Gosub 使用冰奈斯补血EndIfGoto 循环//===子程序===Sub 要输出的精灵If X = 0Gosub 亚德炎ElseIf X = 1Gosub 冰奈斯ElseIf X = 2Gosub 瑟冥特克ElseIf X = 3Gosub 雷沃斯ElseIf X = 4Gosub 火焰赫瑞克ElseIf X = 5Gosub 冰影阿奎利斯ElseIf X = 6Gosub 亡魂默克尔ElseIf X = 7Gosub 极光格雷林EndIfReturn 要输出的精灵Sub 亚德炎KeyPress 87,1KeyPress 83,1KeyPress 68,1KeyPress 77,1Return 亚德炎Sub 冰奈斯KeyPress 83,1KeyPress 87,1KeyPress 68,1KeyPress 77,1Return 冰奈斯Sub 瑟冥特克KeyPress 87,1KeyPress 83,1Delay 10KeyPress 83,1KeyPress 77,1Return 瑟冥特克Sub 雷沃斯KeyPress 87,1KeyPress 83,1KeyPress 87,1KeyPress 77,1Return 雷沃斯Sub 火焰赫瑞克KeyPress 87,1KeyPress 68,1KeyPress 83,1KeyPress 77,1Return 火焰赫瑞克Sub 冰影阿奎利斯KeyPress 87,1KeyPress 68,1Delay 10KeyPress 68,1KeyPress 77,1Return 冰影阿奎利斯Sub 亡魂默克尔KeyPress 87,1KeyPress 68,1KeyPress 87,1KeyPress 77,1Return 亡魂默克尔Sub 极光格雷林KeyPress 87,1KeyPress 65,1KeyPress 68,1KeyPress 77,1Return 极光格雷林Sub 使用冰奈斯补血If Var9 =0Rem 循环补血GetLastKey DownIf Down =121Goto 循环EndIfKeyPress 83,1KeyPress 87,1KeyPress 68,1KeyPress 77,1Delay 2000KeyPress 65,1Goto 循环补血EndIfReturn 使用冰奈斯补血======以上是代码====== 转自最散仙。

dnf外挂源码

dnf外挂源码

由于我的C用的比较少,所以大部分都用的汇编,部分地方用汇编写不是很方便,所以我用的C,由于只是学习,所以内核地址我没有计算都是硬编码的。

过DNF主要分为三步,也许我的思路不太正确,反正可以OD调试,下断。

程序没怎么修边幅,因为只是测试,所以一般都没有写更改内核后的恢复,不过不妨碍使用。

第一步,这也是最起码的,你必须要能够打开游戏进程和线程,能够开打进程和线程后不被检测到第二步,能够读写进村内存第三步,能够用OD附加游戏进程第四步,能够下硬件断点而不被检测跳过NtReadV irtualMemory,NtWriteVirtualMemory函数头的钩子代码:#include<ntddk.h>typedef struct _SERVICE_DESCRIPTOR_TABLE{PVOID ServiceTableBase;PULONG ServiceCounterTableBase;ULONG NumberOfService;ULONG ParamTableBase;}SERVICE_DESCRIPTOR_TABLE,*PSERVICE_DESCRIPTOR_TABLE; //由于KeServiceDescriptorTable只有一项,这里就简单点了extern PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable;//KeServiceDescriptorTable为导出函数/////////////////////////////////////VOID Hook();VOID Unhook();VOID OnUnload(IN PDRIVER_OBJECT DriverObject);//////////////////////////////////////ULONG JmpAddress;//跳转到NtOpenProcess里的地址ULONG JmpAddress1;//跳转到NtOpenProcess里的地址ULONG OldServiceAddress;//原来NtOpenProcess的服务地址ULONG OldServiceAddress1;//原来NtOpenProcess的服务地址//////////////////////////////////////__declspec(naked) NTSTA TUS __stdcall MyNtReadVirtualMemory(HANDLE ProcessHandle, PVOID BaseAddress,PVOID Buffer,ULONG NumberOfBytesToRead,PULONG NumberOfBytesReaded){//跳过去__asm{push 0x1cpush 804eb560h //共十个字节jmp [JmpAddress]}}__declspec(naked) NTSTA TUS __stdcall MyNtWriteVirtualMemory(HANDLE ProcessHandle, PVOID BaseAddress,PVOID Buffer,ULONG NumberOfBytesToWrite,PULONG NumberOfBytesReaded){//跳过去__asm{push 0x1cpush 804eb560h //共十个字节jmp [JmpAddress1]}}///////////////////////////////////////////////////NTSTA TUS DriverEntry(IN PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath){DriverObject->DriverUnload = OnUnload;DbgPrint("Unhooker load");Hook();return STA TUS_SUCCESS;}/////////////////////////////////////////////////////VOID OnUnload(IN PDRIVER_OBJECT DriverObject){DbgPrint("Unhooker unload!");Unhook();}/////////////////////////////////////////////////////VOID Hook(){ULONG Address, Address1;Address = (ULONG)KeServiceDescriptorTable->ServiceTableBase + 0xBA* 4;//0x7A为NtOpenProcess服务IDAddress1 = (ULONG)KeServiceDescriptorTable->ServiceTableBase + 0x115 * 4;//0x7A为NtOpenProcess服务IDDbgPrint("Address:0x%08X",Address);OldServiceAddress = *(ULONG*)Address;//保存原来NtOpenProcess的地址OldServiceAddress1 = *(ULONG*)Address1;//保存原来NtOpenProcess的地址DbgPrint("OldServiceAddress:0x%08X",OldServiceAddress);DbgPrint("OldServiceAddress1:0x%08X",OldServiceAddress1);DbgPrint("MyNtOpenProcess:0x%08X",MyNtReadVirtualMemory);DbgPrint("MyNtOpenProcess:0x%08X",MyNtWriteVirtualMemory);JmpAddress = (ULONG)0x805b528a + 7; //跳转到NtOpenProcess函数头+10的地方,这样在其前面写的JMP都失效了JmpAddress1 = (ULONG)0x805b5394 + 7;DbgPrint("JmpAddress:0x%08X",JmpAddress);DbgPrint("JmpAddress1:0x%08X",JmpAddress1);__asm{ //去掉内存保护climov eax,cr0and eax,not 10000hmov cr0,eax}*((ULONG*)Address) = (ULONG)MyNtReadVirtualMemory;//HOOK SSDT*((ULONG*)Address1) = (ULONG)MyNtWriteVirtualMemory;__asm{ //恢复内存保护mov eax,cr0or eax,10000hmov cr0,eaxsti}}//////////////////////////////////////////////////////VOID Unhook(){ULONG Address, Address1;Address = (ULONG)KeServiceDescriptorTable->ServiceTableBase + 0xBA * 4;//查找SSDT Address1 = (ULONG)KeServiceDescriptorTable->ServiceTableBase + 0x115 * 4;__asm{climov eax,cr0and eax,not 10000hmov cr0,eax}*((ULONG*)Address) = (ULONG)OldServiceAddress;//还原SSDT*((ULONG*)Address1) = (ULONG)OldServiceAddress1;//还原SSDT__asm{mov eax,cr0or eax,10000hmov cr0,eaxsti}DbgPrint("Unhook");}由于它不断对DebugPort清零,所以要修改调试相关函数,使得所有的访问DebugPort的地方全部访问EPROCESS中的ExitTime字节,这样它怎么清零都无效了,也检测不到代码:.386.model flat, stdcalloption casemap:noneinclude dnf_hook.inc.constDspdo_1 equ 80643db6hDmpp_1 equ 80642d5ehDmpp_2 equ 80642d64hDct_1 equ 806445d3hDqm_1 equ 80643089hKde_1 equ 804ff5fdhDfe_1 equ 80644340hPcp_1 equ 805d1a0dhMcp_1 equ 805b0c06hMcp_2 equ 805b0d7fhDmvos_1 equ 8064497fhDumvos_1 equ 80644a45hPet_1 equ 805d32f8hDet_1 equ 8064486chDep_1 equ 806448e6h.code;还原自己的HookDriverUnload proc pDriverObject:PDRIVER_OBJECTretDriverUnload endpModifyFuncAboutDbg proc addrOdFunc, cmd_1, cmd_2pushadmov ebx, addrOdFuncmov eax, cmd_1mov DWORD ptr [ebx], eaxmov eax, cmd_2mov DWORD ptr [ebx + 4], eaxpopadretModifyFuncAboutDbg endpDriverEntry proc pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING climov eax, cr0and eax, not 10000hmov cr0, eaxinvoke ModifyFuncAboutDbg, Dspdo_1, 90784789h, 0fde89090hinvoke ModifyFuncAboutDbg, Dmpp_1, 90787e39h, 950f9090hinvoke ModifyFuncAboutDbg, Dct_1, 90785e39h, 840f9090hinvoke ModifyFuncAboutDbg, Dqm_1, 9078408bh, 45899090hinvoke ModifyFuncAboutDbg, Kde_1, 90787839h, 13749090hinvoke ModifyFuncAboutDbg, Dfe_1, 9078418bh, 0d2329090hinvoke ModifyFuncAboutDbg, Pcp_1, 90784389h, 45f69090hinvoke ModifyFuncAboutDbg, Mcp_1, 90785e39h, 950f9090hinvoke ModifyFuncAboutDbg, Mcp_2, 90784a89h, 5e399090hinvoke ModifyFuncAboutDbg, Dmvos_1, 9078498bh, 0cb3b9090hinvoke ModifyFuncAboutDbg, Dumvos_1, 00787983h, 74909090hinvoke ModifyFuncAboutDbg, Pet_1, 00787f83h, 74909090hinvoke ModifyFuncAboutDbg, Det_1, 9078498bh, 0c9859090hinvoke ModifyFuncAboutDbg, Dep_1, 9078498bh, 0c9859090h;invoke ModifyFuncAboutDbg, Dmpp_2, 8bc0950fh, 8b90c032hmov eax, pDriverObjectassume eax : ptr DRIVER_OBJECTmov [eax].DriverUnload, offset DriverUnloadassume eax : nothingmov eax, cr0or eax, 10000hmov cr0, eaxstimov eax, STA TUS_SUCCESSretDriverEntry endpend DriverEntry绕过NtOpenProcess,NtOpenThread,KiAttachProcess以及最重要的,不能让它检测到有硬件断点,所以要对CONTEXT做一些伪装,把真实的DR0~DR7的数据存放到别的地方,OD访问的时候返回正确的数据,如果是DNF要获取上下文,就稍微做下手脚代码:.386.model flat, stdcalloption casemap:noneinclude dnf_hook.inc.constNtOpenProcessHookAddr equ 805cc626hNtOpenProcessRetAddr equ 805cc631hNtOpenProcessNoChange equ 805cc62chNtOpenThreadHookAddr equ 805cc8a8hNtOpenThreadRetAddr equ 805cc8b3hNtOpenThreadNoChange equ 805cc8aehKiAttachProcessAddr equ 804f9a08hKiAttachProcessRetAddr equ 804f9a0fhObOpenObjectByPointerAddr equ 805bcc78hNtGetContextThreadAddr equ 805d2551h;805c76a3hNtGetContextThreadRetAddr equ 805c76a7h;805d2555h.datanameOffset dd ?threadCxtLink dd 0tmpLink dd ?.codeGetProcessName procinvoke PsGetCurrentProcessmov ebx, eaxadd ebx, nameOffsetinvoke DbgPrint, $CTA0("\n")push ebxinvoke DbgPrint, ebxpop ebxinvoke strncmp, $CTA0("DNF.exe"), ebx, 6push eaxinvoke DbgPrint, $CTA0("\n")pop eaxretGetProcessName endpHookCode proc;执行被覆盖的代码push dword ptr [ebp-38h]push dword ptr [ebp-24h];判断是否dnf的进程invoke GetProcessName.if !eax ;如果是DNF自己的进程,那么跳转回去执行它的Hook代码pushadinvoke DbgPrint, $CTA0("\nNotUnHook\n")popadmov eax, NtOpenProcessNoChange;805c13e6hjmp eax.else ;如果不是DNF自己的进程,那么直接调用ObOpenObjectByPointer,再返回到后面pushadinvoke DbgPrint, $CTA0("\nUnHook\n")popadmov eax, ObOpenObjectByPointerAddr;805b13f0hcall eaxmov ebx, NtOpenProcessRetAddr;805c13ebhjmp ebx.endifHookCode endp;获取系统名称偏移GetNameOffset proc epelocal tmpOffsetpushadmov ebx, epeinvoke strlen, $CTA0("System")xor ecx, ecx@@:push eaxpush ecxinvoke strncmp, $CTA0("System"), ebx, eaxpop ecx.if !eaxpop eaxmov tmpOffset, ecxpopadmov eax, tmpOffsetret.elseifpop eaxinc ebxinc ecxcmp ecx, 4096je @Fjmp @B.endif@@:popadmov eax, -1retGetNameOffset endpHook procpushad;头5字节跳转mov eax, offset HookCodesub eax, NtOpenProcessHookAddr;805c13e0h;805c13edh sub eax, 5mov ebx, NtOpenProcessHookAddr;805c13e0h;805c13edh mov cl, 0E9hmov BYTE PTR [ebx], clmov DWORD PTR [ebx + 1], eaxpopadretHook endpHookThreadCode proc;执行被覆盖的代码push dword ptr [ebp-34h]push dword ptr [ebp-20h];判断是否dnf的进程invoke GetProcessName.if !eax ;如果是DNF自己的进程,那么跳转回去执行它的Hook代码pushadinvoke DbgPrint, $CTA0("\nNotUnHook\n")popadmov eax, NtOpenThreadNoChange;805c13e6hjmp eax.else ;如果不是DNF自己的进程,那么直接调用ObOpenObjectByPointer,再返回到后面pushadinvoke DbgPrint, $CTA0("\nUnHook\n")popadmov eax, ObOpenObjectByPointerAddr;805b13f0hcall eaxmov ebx, NtOpenThreadRetAddr;805c13ebhjmp ebx.endifHookThreadCode endpHookThread procpushad;头5字节跳转mov eax, offset HookThreadCodesub eax, NtOpenThreadHookAddr;805c13e0h;805c13edhsub eax, 5mov ebx, NtOpenThreadHookAddr;805c13e0h;805c13edhmov cl, 0E9hmov BYTE PTR [ebx], clmov DWORD PTR [ebx + 1], eaxpopadretHookThread endpHookDbg procmov edi, edipush ebpmov ebp, esppush ebxpush esimov esi, KiAttachProcessRetAddrjmp esiHookDbg endpDbg procpushad;头5字节跳转mov eax, offset HookDbgsub eax, KiAttachProcessAddr;805c13e0h;805c13edh sub eax, 5mov ebx, KiAttachProcessAddr;805c13e0h;805c13edh mov cl, 0E9hmov BYTE PTR [ebx], clmov DWORD PTR [ebx + 1], eaxpopadretDbg endp;还原自己的HookDriverUnload proc pDriverObject:PDRIVER_OBJECTclimov eax, cr0and eax, not 10000hmov cr0, eax;还原进程处理mov eax, 0ffc875ffhmov ebx, 805cc656hmov DWORD ptr [ebx], eaxmov eax, 43e8dc75hmov DWORD ptr [ebx + 4], eax;还原线程处理mov eax, 0ffcc75ffhmov ebx, 805cc8d8hmov DWORD ptr [ebx], eaxmov eax, 0c1e8e075hmov DWORD ptr [ebx + 4], eax;还原调试处理mov eax, 08b55ff8bhmov ebx, 804f9a08hmov DWORD ptr [ebx], eaxmov eax, 08b5653echmov DWORD ptr [ebx + 4], eaxmov eax, cr0or eax, 10000hmov cr0, eaxstiretDriverUnload endp;显示LinkTable的信息ShowLinkTableInfo proc ptrLTpushadinvoke DbgPrint, $CTA0("\nThe LinkTable Info:\n")mov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).ThreadHandleinvoke DbgPrint, $CTA0("ThreadHandle:%0X\n"), eaxmov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).Dr0Seginvoke DbgPrint, $CTA0("Dr0Seg:%0X\n"), eaxmov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).Dr1Seginvoke DbgPrint, $CTA0("Dr1Seg:%0X\n"), eaxmov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).Dr2Seginvoke DbgPrint, $CTA0("Dr2Seg:%0X\n"), eaxmov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).Dr3Seginvoke DbgPrint, $CTA0("Dr3Seg:%0X\n"), eaxmov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).Dr6Seginvoke DbgPrint, $CTA0("Dr6Seg:%0X\n"), eaxmov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).Dr7Seginvoke DbgPrint, $CTA0("Dr7Seg:%0X\n"), eaxmov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).LinkPtrinvoke DbgPrint, $CTA0("LinkPtr:%0X\n"), eaxmov ebx, ptrLTmov eax, (LinkTable ptr [ebx]).NextLinkPtrinvoke DbgPrint, $CTA0("NextLinkPtr:%0X\n"), eaxpopadretShowLinkTableInfo endp;判断该线程是否存在;如果不存在则返回0,存在则返回指向该链表的指针,1代表链表为空ExsitsLinkTable proc pHandlepushadmov eax, threadCxtLink.if !eax ;链表为空pushadinvoke DbgPrint, $CTA0("\nLinkTable Is Null.\n")popadpopadmov eax, 1ret.endif@@:mov ebx, (LinkTable ptr [eax]).ThreadHandlecmp ebx, pHandle ;如果匹配已经存在je @Fmov eax, (LinkTable ptr [eax]).NextLinkPtr.if !eax ;已经到达末尾,没有找到匹配pushadinvoke DbgPrint, $CTA0("\pHandle Is Not Found.\n")popadpopadxor eax, eaxret.endifjmp @B@@:pushadinvoke DbgPrint, $CTA0("\npHandle Is Exsits.\n")popadinvoke ShowLinkTableInfo, eax;返回链表指针mov tmpLink, eaxpopadmov eax, tmpLinkretExsitsLinkTable endp;拷贝Context到LinkTable中CopyContextToLinkTable proc ptrContext, ptrLTpushadmov ebx, ptrContextmov edx, ptrLTmov ecx, 4@@:mov eax, DWORD ptr [ebx + ecx]mov DWORD ptr [edx + ecx], eaxadd ecx, 4cmp ecx, 18hjbe @BpopadretCopyContextToLinkTable endp;添加LinkTable表AddLinkTable proc pHandle, ptrContextpushadinvoke ExsitsLinkTable, pHandle.if eax > 1;已经存在只需要更新dr寄存器即可invoke CopyContextToLinkTable, eax, ptrContext .elsepush eaxinvoke ExAllocatePool, 1, size LinkTable.if eax;申请内存成功mov ebx, eaxpop eax;置地一个元素mov ecx, pHandlemov (LinkTable ptr [ebx]).ThreadHandle, ecx;拷贝dr寄存器的值invoke CopyContextToLinkTable, ptrContext, ebx;置另外两个元素mov (LinkTable ptr [ebx]).LinkPtr, ebxmov (LinkTable ptr [ebx]).NextLinkPtr, 0invoke ShowLinkTableInfo, ebx;把新的链表项添加到链表中.if eax == 1;如果链表为空,直接加在表头mov threadCxtLink, ebx.else;如果链表不为空则加到末尾mov eax, threadCxtLink@@:;指向下一个元素mov ecx, (LinkTable ptr [eax]).NextLinkPtrtest ecx, ecxje @Fmov eax, ecxjmp @B@@:mov (LinkTable ptr [eax]).NextLinkPtr, ebx.endif.else;申请内存失败pop eaxpushadinvoke DbgPrint, $CTA0("\nAlloc Memory Faild.\n")popadjmp @F.endif.endif@@:popadretAddLinkTable endp;判断进程是否过虑进程;如果是需要过虑的进程返回值为1,否则返回0IsFilterProcess procpushad;获取当前进程名invoke PsGetCurrentProcessmov ebx, eaxadd ebx, nameOffsetinvoke DbgPrint, $CTA0("\n%s: Call NtGetContextThread \n"), ebx invoke strncmp, $CTA0("DNF.exe"), ebx, 7test eax, eaxjne @Fpopadmov eax, 1ret@@:popadxor eax, eaxretIsFilterProcess endp;显示Context的调试寄存器ShowDrRegInfo proc ptrContextpushadinvoke DbgPrint, $CTA0("\nThe Context Info:\n")mov ebx, ptrContextmov eax, DWORD ptr [ebx + 4]invoke DbgPrint, $CTA0("Dr0:%0X\n"), eaxmov ebx, ptrContextmov eax, DWORD ptr [ebx + 8]invoke DbgPrint, $CTA0("Dr1:%0X\n"), eaxmov ebx, ptrContextmov eax, DWORD ptr [ebx + 0ch]invoke DbgPrint, $CTA0("Dr2:%0X\n"), eaxmov ebx, ptrContextmov eax, DWORD ptr [ebx + 10h]invoke DbgPrint, $CTA0("Dr3:%0X\n"), eaxmov ebx, ptrContextmov eax, DWORD ptr [ebx + 14h]invoke DbgPrint, $CTA0("Dr6:%0X\n"), eaxmov ebx, ptrContextmov eax, DWORD ptr [ebx + 18h]invoke DbgPrint, $CTA0("Dr7:%0X\n"), eax popadretShowDrRegInfo endp;恢复被隐藏的dr寄存器RecoveryDrReg proc ptrContext, pHandlepushad;定位到LinkTablemov ebx, threadCxtLinkNEXT:test ebx, ebxjne @F ;如果没有遍历完popadret@@:mov eax, (LinkTable ptr [ebx]).ThreadHandlecmp eax, pHandleje @F ;如果找到匹配项mov ebx, (LinkTable ptr [ebx]).NextLinkPtrjmp NEXT@@:;拷贝完毕后立即结束invoke CopyContextToLinkTable, ebx, ptrContextxor ebx, ebxjmp NEXTRecoveryDrReg endp;清空Context的dr寄存器ClearDrReg proc ptrContextpushadmov ebx, ptrContextmov ecx, 4@@:mov DWORD ptr [ebx + ecx], 0add ecx, 4cmp ecx, 18hjbe @Bpushadinvoke DbgPrint, $CTA0("\n-------------ClearDrReg-------------\n") popadinvoke ShowDrRegInfo, ptrContextpopadretClearDrReg endp;NtGetContextThread钩子代码NtGetContextThreadHookCode proc;ebx存放CONTEXT指针mov ebx, DWORD ptr [ebp + 10h];线程句柄mov edx, DWORD ptr [ebp + 0ch]pushadinvoke ShowDrRegInfo, ebxinvoke IsFilterProcess.if eax ;如果是DNF.exeinvoke AddLinkTable, edx, ebxinvoke ClearDrReg, ebx.else ;如果不是DNF.exeinvoke RecoveryDrReg, ebx, edx.endifinvoke ShowDrRegInfo, ebx;执行被覆盖的代码popadmov eax, esipop esileaveretNtGetContextThreadHookCode endp;NtGetContextThread加跳转HookNtGetContextThread procpushad;头5字节跳转mov eax, offset NtGetContextThreadHookCodesub eax, NtGetContextThreadAddr;805c13e0h;805c13edhsub eax, 5mov ebx, NtGetContextThreadAddr;805c13e0h;805c13edhmov cl, 0E9hmov BYTE PTR [ebx], clmov DWORD PTR [ebx + 1], eaxpopadretHookNtGetContextThread endpDriverEntry proc pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING invoke DbgPrint, $CTA0("Begin")invoke PsGetCurrentProcessinvoke GetNameOffset, eaxmov nameOffset, eaxcmp eax, -1je @Fmov nameOffset, eaxclimov eax, cr0and eax, not 10000hmov cr0, eaxcall Hookcall HookThreadcall Dbgcall HookNtGetContextThreadmov eax, pDriverObjectassume eax : ptr DRIVER_OBJECTmov [eax].DriverUnload, offset DriverUnloadassume eax : nothingmov eax, cr0or eax, 10000hmov cr0, eaxstiinvoke DbgPrint, $CTA0("End")@@:mov eax, STA TUS_SUCCESSretDriverEntry endpend DriverEntry本人初学驱动,历经一月完成。

易语言hook格式

易语言hook格式

易语言hook格式英文段落:In the realm of computer science, hooking is a technique that enables programmers to intercept function calls, messages, or events within a program or system. The term "hook" originated from the analogy of a physical hook, which is used to attach objects together. Similarly, in programming, hooks allow developers to "attach" their own code to existing functions or events, effectively modifying the behavior of the program.One particular example of hooking is Easy Language hooking, which is often employed in the trading software industry. Easy Language is a scripting language commonly used for creating custom indicators, strategies, and automation scripts in trading platforms. By utilizing hooks, traders and developers can enhance the functionality of their trading software, allowing for more sophisticated strategies and improved trading efficiency.The implementation of hooks involves inserting specific code segments, known as hook handlers, into the target program or system. These hook handlers are designed to intercept and manipulate the desired function calls, messages, or events. The process requires a deep understanding of the program's internals and can be complex, but it offers significant flexibility and customization options.However, it's important to note that hooking can also pose security risks if not used properly. Malicious actors could potentially use hooks to intercept sensitive data or alter program behavior in undesirable ways. Therefore, when employing hooking techniques, it's crucial to ensure that they are implemented securely and with appropriate safeguards.中文翻译段落:在计算机科学领域,Hook(钩子)技术允许程序员拦截程序或系统内的函数调用、消息或事件。

DNF易语言源码

DNF易语言源码
临时加密=内存操作.读整数(内存操作.读整数(十六到十(#加密参数1))+十六到十(“44”))
临时解密=内存操作.读整数(地址)
临时解密=左移(临时解密, 2)
.如果真(地址=0)
跳出循环()
.如果真结束
临时解密1=临时解密+临时加密
临时加密1=内存操作.读整数(十六到十(#加密参数2))
临时解密1=位异或(临时解密1,临时加密1)
.局部变量次数,整数型
.局部变量表示
.局部变量表示1
.局部变量表示2
.局部变量变量,整数型
VMP保护标记开始()
防检测()
人物基址x=十六到十(#人物基址)
参数1=内存操作.读整数(内存操作.读整数(十六到十(#加密参数1))+十六到十(“44”))
参数2=内存操作.读整数(十六到十(#加密参数2))
.如果真(临时加密1=0)
跳出循环()
.如果真结束
刀数=到整数(解密(内存操作.读代码(#攻击对象)+十六到十(#最大血))÷3)
.如果真(刀数>0)
临时解密2=位异或(临时解密1,刀数)
临时加密2=临时解密+临时加密
.如果真(5>0)
内存操作.写整数(临时加密2,临时解密2)
次数=次数+1
.如果真(次数≥1)
loc1=400
置入代码({ 139, 77, 236, 139, 9 })
置入代码({ 106, 2, 141, 85, 240, 82, 255, 85, 248 })
.如果真(判断人物是否在城镇>0)
.如果真(内存操作.读整数(十六到十(#人物基址))≠0)
人物等级=解密(内存操作.读代码(#人物基址)+十六到十(“11E4”))

DNF外挂技能代码

DNF外挂技能代码
鬼剑士 - 幻影剑舞第一刀=20033+{139}
鬼剑士 - 幻影剑舞第二刀=20034+{139}
鬼剑士 - 幻影剑舞第三刀=20035+{139}
鬼剑士 - 幻影剑舞第四刀=20036+{139} பைடு நூலகம்
鬼剑士 - 幻影剑舞第五刀=20037+{139}
鬼剑士 - 不动明王的球=20038+{139}
魔法师 - 召唤宝宝的万剑诀=30567+{139}
;----------------------------
格斗家 - 背摔=21001+{141}
格斗家 - 念气波=21002+{141}
格斗家 - 抛沙=21004+{141}
格斗家 - 狮子吼=21005+{141}
格斗家 - 分身=21006+{141}
格斗家 - 升龙=21024+{141}
格斗家 - 毒雷柱=21028+{141}
格斗家 - 街头风暴=21029+{141}
格斗家 - 金刚碎=21031+{141}
格斗家 - 烈石破天=21038+{141}
格斗家 - 电光龙头=21041+{141}
格斗家 - 龙虎啸虎头=21042+{141}
鬼剑士 - 小邪光斩=20019+{139}
鬼剑士 - 前突刺第二刀=20020+{139}
鬼剑士 - 虚电球=20021+{139}
鬼剑士 - 裂波斩=20022+{139}
鬼剑士 - 嗜灵鬼斩=20023+{139}

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

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

易语⾔利⽤HOOK注⼊获取内容的代码DLL命令表.版本 2.DLL命令 RtlMoveMemory, 整数型, "kernel32.dll", "RtlMoveMemory".参数 Destination, 整数型.参数 Source, 整数型.参数 Length, 整数型.DLL命令 CreateWindowExA, 整数型.参数 dwExStyle, 整数型.参数 lpClassName, ⽂本型.参数 lpWindowName, ⽂本型.参数 dwStyle, 整数型.参数 x, 整数型.参数 y, 整数型.参数 nWidth, 整数型.参数 nHeight, 整数型.参数 hWndParent, 整数型.参数 hMenu, 整数型.参数 hInstance, 整数型.参数 lpParam, 整数型.DLL命令 VirtualProtect, 逻辑型.参数 lpAddress, 整数型.参数 dwSize, 整数型.参数 flNewProtect, 整数型.参数 lpflOldProtect, 整数型, 传址.DLL命令 SetWindowLongA, 整数型, , "SetWindowLongA".参数 hWnd, 整数型.参数 nIndex, 整数型.参数 dwNewLong, 整数型.DLL命令 CallWindowProcA, 整数型, , "CallWindowProcA".参数 lpPrevWndFunc, 整数型.参数 hWnd, 整数型.参数 Msg, 整数型.参数 wParam, 整数型.参数 lParam, 整数型.DLL命令 GetProcAddress, 整数型.参数 hModule, 整数型.参数 lpProcName, ⽂本型.DLL命令 GetModuleHandleA, 整数型.参数 lpModuleName, ⽂本型.DLL命令 MessageBoxA, 整数型, "user32.dll", "MessageBoxA", 公开, 显⽰和操作⼀个消息框。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

易语言DNF召唤、无敌、技能HOOK源码教程。

学习各种外挂制作技术,马上去百度搜索"魔鬼作坊" 点击第一个站去那里学习喽。

F1=十字改轮子
F2=吸头改分针
F3=银光改喷毒
F4=裂波改紫风
F5=加血
F6=加蓝
.版本2
007CDCFC 20050
007D2066 20016
007CD571 20028
0064A0E6 21001
006494F8 22208
.程序集窗口程序集1
.程序集变量十字改召唤野猪魔剑, 整数型
.程序集变量十字改分针, 整数型
.程序集变量银光改地火, 整数型
.程序集变量银光改爆炎, 整数型
.程序集变量SSS, 整数型
.程序集变量霸体, 整数型
.子程序_窗口1_创建完毕
鼠标显示()
内存操作.提升权限()
内存操作.打开进程()
十字改召唤野猪魔剑=热键.注册(窗口1.取窗口句柄(), 0, #F1键, &十字改召唤野猪魔剑) 十字改分针=热键.注册(窗口1.取窗口句柄(), 0, #F2键, &十字改分针)
银光改地火=热键.注册(窗口1.取窗口句柄(), 0, #F3键, &银光改地火)
银光改爆炎=热键.注册(窗口1.取窗口句柄(), 0, #F4键, &银光改爆炎)
SSS =热键.注册(窗口1.取窗口句柄(), 0, #F5键, &SSS)
霸体=热键.注册(窗口1.取窗口句柄(), 0, #F6键, &霸体)
.子程序十字改召唤野猪魔剑
写内存整数型(取窗口进程ID (窗口1.取窗口句柄()), 十六到十(“0079556D”), 860615) ' 十字改召唤野猪魔剑
.子程序十字改分针
写内存整数型(取窗口进程ID (窗口1.取窗口句柄()), 十六到十(“0079556D”), 860622) ' 十字改分针
.子程序银光改地火
写内存整数型(取窗口进程ID (窗口1.取窗口句柄()), 十六到十(“00799F38”), 20044) ' 银光改地火
.子程序银光改爆炎
写内存整数型(取窗口进程ID (窗口1.取窗口句柄()), 十六到十(“00799F38”), 860330) ' 银光改爆炎
.子程序霸体
内存操作.写代码(“010CF69C+4F0=1”) ' 霸体
.子程序SSS
内存操作.写代码(“0169EEA9={144,144,144}”) ' 3S
.子程序_按钮1_被单击
内存操作.写代码(“01080FD4+1CA8=5”) ' 远程卖
.子程序_按钮2_被单击
内存操作.写代码(“01080FD4+1CA8=6”) ' 远程修
版本2
.子程序dnf进程ID, , 公开
.子程序VMP保护标记结尾, , 公开
.子程序VMP保护标记开始, , 公开
.子程序倍功, , 公开
.参数人物基址, 文本型
.参数物攻偏移, 文本型
.参数攻击伤害, 整数型
.参数魔攻偏移, 文本型
.子程序超级瞬移CALL, , 公开
.参数区域id, 整数型, , 3-塔
.参数位置id, 整数型, , 7-塔
.参数X轴参数, 文本型
.参数y轴参数, 文本型
.参数z轴参数, 文本型
.参数头部参数, 文本型
.子程序打开DNF进程, , 公开
.子程序动作CALL, , 公开, 0.收放1.蹲下2.打坐5.死亡7.跳打9.被打12.出击15冲击打16拾取
.参数基址, 整数型
.参数动作ID, 整数型
.参数动作CALL, 文本型
.子程序返回BOSS地址, 整数型, 公开
.参数类型, 整数型, , 529是怪物273是APC 1057是普通建筑33是特殊建筑
.参数阵营, 整数型, 可空, 默认为队友,-1为不限100为敌人200为建筑0为队友
.参数人物基址, 文本型
.子程序恢复血蓝, , 公开
.参数人物基址, 文本型
.子程序加密, , 公开
.参数地址357, 整数型
.参数加密参数1, 文本型
.参数加密参数2, 文本型
.参数数值, 整数型
.子程序解除禁闭, , 公开
.子程序解除虚弱, , 公开
.参数人物基址, 文本型
.参数虚弱偏移, 文本型
.子程序解密, 整数型, 公开
.参数加密参数1, 文本型
.参数加密参数2, 文本型
.参数地址159, 整数型
.子程序全屏捡物, , 公开
.参数人物基址, 文本型
.子程序人物假死, , 公开
.参数人物基址, 文本型
.子程序是否指定怪物, 整数型, 公开
.参数地址, 整数型
.参数阵营, 整数型
.参数类型, 整数型
.参数人物基址, 文本型
.子程序鼠标显示, , 公开
.子程序提升权限, , 公开
.子程序无限负重, , 公开
.参数人物基址, 文本型
.子程序物品CALL, , 公开
.参数物品基址, 整数型
.参数物品代码, 整数型
.参数物品CALL偏移, 文本型
.子程序异界秒怪, , 公开
.参数人物基址, 文本型
.子程序远程出售, , 公开
.参数商店基址, 文本型
.子程序远程修理, , 公开
.参数商店基址, 文本型
学习各种外挂制作技术,马上去百度搜索"魔鬼作坊" 点击第一个站去那里学习喽。

相关文档
最新文档