热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

BUUDragonQuest

借鉴于https:www.cnblogs.comharmonica11p13417084.html这个混淆不清楚叫什么但是xn和yn都没有变所以某些分支永远成立,某些分支永远成立写

借鉴于https://www.cnblogs.com/harmonica11/p/13417084.html

这个混淆不清楚叫什么 但是xn 和yn都没有变 所以某些分支永远成立,某些分支永远成立

写脚本去混淆


技术分享图片技术分享图片

addr=
while(addr<):
next_addr
= NextHead(addr)
if "eax, ds:" in GetDisasm(addr):
PatchByte(addr,
0xb8)
PatchByte(addr
+1,0x00)
PatchByte(addr
+2,0x00)
PatchByte(addr
+3,0x00)
PatchByte(addr
+4,0x00)
PatchByte(addr
+5,0x90)
PatchByte(addr
+6,0x90)
if "ecx, ds:" in GetDisasm(addr):
PatchByte(addr,
0xb9)
PatchByte(addr
+1,0x00)
PatchByte(addr
+2,0x00)
PatchByte(addr
+3,0x00)
PatchByte(addr
+4,0x00)
PatchByte(addr
+5,0x90)
PatchByte(addr
+6,0x90)
if "edx, ds:" in GetDisasm(addr):
PatchByte(addr,
0xba)
PatchByte(addr
+1,0x00)
PatchByte(addr
+2,0x00)
PatchByte(addr
+3,0x00)
PatchByte(addr
+4,0x00)
PatchByte(addr
+5,0x90)
PatchByte(addr
+6,0x90)
if "esi, ds:" in GetDisasm(addr):
PatchByte(addr,
0xbe)
PatchByte(addr
+1,0x00)
PatchByte(addr
+2,0x00)
PatchByte(addr
+3,0x00)
PatchByte(addr
+4,0x00)
PatchByte(addr
+5,0x90)
PatchByte(addr
+6,0x90)
if "edi, ds:" in GetDisasm(addr):
PatchByte(addr,
0xbf)
PatchByte(addr
+1,0x00)
PatchByte(addr
+2,0x00)
PatchByte(addr
+3,0x00)
PatchByte(addr
+4,0x00)
PatchByte(addr
+5,0x90)
PatchByte(addr
+6,0x90)
addr
= next_addr


View Code

然后他的逻辑就很清晰了 是一个flag的前缀和


推荐阅读
  • 电子与正电子的相互作用
    本文探讨了电子与正电子之间的基本物理特性及其在现代物理学中的应用,包括它们的产生、湮灭过程以及在粒子加速器和宇宙射线中的表现。 ... [详细]
  • 近期在维护旧项目时遇到一个问题,在iOS8环境下,UILabel无法正常显示文本。通过深入分析,我们发现这一现象与UILabel的使用方式有关,特别是在嵌套UILabel的情况下。 ... [详细]
  • 本文介绍如何使用 Oracle 数据库的 EXPDP 工具导出特定用户下的所有数据。包括登录系统用户、创建导出目录、授权访问权限及执行导出操作的具体步骤。 ... [详细]
  • Vue 中实现 ECharts 组件的动态刷新与分页
    本文介绍了如何在 Vue 项目中使用 ECharts 组件实现数据的动态刷新和分页显示。通过合理的数据处理和页面逻辑设计,提升用户体验。 ... [详细]
  • 本文介绍了在使用SQL Server的数据库邮件功能时,如何处理因文件附件或查询结果过大而导致的错误,并提供了解决方案。 ... [详细]
  • Hibernate入门指南:单表数据库操作详解
    本文介绍了Hibernate作为全面的ORM框架的基础知识,并详细讲解了在MyEclipse环境中配置Hibernate以及进行基本的数据库单表操作的方法,包括增删改查等常见操作。 ... [详细]
  • 本文探讨了如何利用 Application 对象在 PHP 应用程序中共享数据,特别是在多用户环境中保持数据的一致性和安全性。文章还介绍了 Application 对象的基本结构、方法和事件,并提供了实际应用示例。 ... [详细]
  • 本文介绍了QuantLib库的基本使用方法,重点探讨了日期(Date)和日历(Calendar)类在金融计算中的作用与实现。 ... [详细]
  • 本文介绍了如何利用JavaScript实现学生信息表的动态添加和删除行功能。 ... [详细]
  • Sass 是一种 CSS 的预处理器,通过使用变量、嵌套、继承等高级功能,使得 CSS 的编写更加灵活和高效。本文将介绍 Sass 的基本语法及其安装使用方法。 ... [详细]
  • TunnelWarfareTimeLimit:1000MS MemoryLimit:131072KTotalSubmissions:7307 ... [详细]
  • 查找数组中的重复元素
    问题描述:给定一个长度为n的数组,其中所有元素值位于0至n-1之间。数组中存在一些重复的数字,但具体哪些数字重复以及重复了多少次未知。本文章将探讨如何高效地找到数组中的任一重复数字。 ... [详细]
  • 本文详细探讨Java中Scanner类的两个重要方法——nextInt()和nextDouble(),并通过实例代码演示如何使用这些方法来处理用户输入。 ... [详细]
  • 本文介绍了FTP(文件传输协议)的基础知识,包括其定义、如何通过TCP建立控制和数据连接,以及主动模式与被动模式的区别。FTP作为一种重要的文件传输协议,在互联网数据交换中扮演着关键角色。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
author-avatar
倩女墨镜aaaaa_259
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有