双字节异或加密免杀
作者:天天宅家里变胖的小黑 | 来源:互联网 | 2023-05-19 06:22
D01pushad寄存器入栈,在LordPE设置为新入口点D02callD03调用下一行代码的VA,在OD中也可采用二进制编辑,输入E800000000D03
D01 pushad 寄存器入栈,在LordPE设置为新入口点
D02 call D03 调用下一行代码的VA,在OD中也可采用二进制编辑,输入E8 00000000
D03 pop ebx 出栈,ebx的值就是这一行代码的VA,也就是D03
D04 sub ebx,A1 A1是这样计算的,加密点起始的VA减去上面的D03,ebx的值就是加密点起始的VA
D05 xor ecx,ecx 清空ecx为下面循环解密xor的字节做准备
D06 mov ax,5D62 传5D62给ax做初始密匙用,可以修改的
D07 xor word ptr ds:[ebx+ecx*2],ax 对ebx+ecx*2处进行双字节解密
D08 inc ecx ecx加1,也就是密匙加1,动态变换密钥
D09 inc eax eax加1,累计解密多少次了.为下面判断做准备
D10 cmp ecx,A2 此处的A2就是加密的代码的总长度除二,计算公式是:(最终VA-起始VA+1)/2 (十六进制)
D11 jl short D07 没有解密完就跳,继续解密
D12 popad 寄存器出栈,如果还要加密下一段,此处从D04开始继续。
D13 jmp到原入口点
需要计算A1和A2
加密二段的十六进制代码如下:
60 E8 00 00 00 00 5B 81 EB 00 20 00 00 33 C9 66 B8 7D 4A 66 31 04 4B 41 40 81 F9 11 11 00 00 7C
F2 81 C3 00 10 00 00 33 C9 66 B8 7D 4A 66 31 04 4B 41 40 83 F9 50 7C F5
推荐阅读
-
本文介绍如何在QT框架中使用QWebSocket和QTcpSocket实现SSL加密通信,涵盖单向认证设置。单向认证常见于Web通信场景,其中客户端验证服务端证书,而服务端不验证客户端证书。 ...
[详细]
蜡笔小新 2024-12-26 17:40:23
-
本题涉及一棵由N个节点组成的树(共有N-1条边),初始时所有节点均为白色。题目要求处理两种操作:一是改变某个节点的颜色(从白变黑或从黑变白);二是查询从根节点到指定节点路径上的第一个黑色节点,若无则输出-1。 ...
[详细]
蜡笔小新 2024-12-26 10:22:20
-
-
本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ...
[详细]
蜡笔小新 2024-12-25 21:01:14
-
Dashboard-CodeforcesRound#566(Div.2)-CodeforcesA.FillingShapes题意:给你一个的表格,你 ...
[详细]
蜡笔小新 2024-12-25 18:41:21
-
本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ...
[详细]
蜡笔小新 2024-12-25 17:47:23
-
本文探讨了在Java中实现系统托盘最小化的两种方法:使用SWT库和JDK6自带的功能。通过这两种方式,开发者可以创建跨平台的应用程序,使窗口能够最小化到系统托盘,并提供丰富的交互功能。 ...
[详细]
蜡笔小新 2024-12-25 15:03:50
-
本题要求将由小写字母组成的字符串划分为多个片段,确保每个字母只出现在一个片段中。目标是生成尽可能多的片段,并返回每个片段的长度列表。本文将详细解释问题描述、解题思路及代码实现。 ...
[详细]
蜡笔小新 2024-12-25 10:58:39
-
本题旨在通过给定的评级信息,利用拓扑排序和并查集算法来确定全球 Tetris 高手排行榜。题目要求判断是否可以根据提供的信息生成一个明确的排名表,或者是否存在冲突或信息不足的情况。 ...
[详细]
蜡笔小新 2024-12-24 21:03:51
-
本文详细介绍了栈这一重要的数据结构,包括其基本概念、顺序存储结构、栈的基本操作(如入栈、出栈、清空栈和销毁栈),以及如何利用栈实现二进制到十进制的转换。通过具体代码示例,帮助读者更好地理解和应用栈的相关知识。 ...
[详细]
蜡笔小新 2024-12-24 13:47:59
-
探讨如何优化 npm 构建过程,提升开发效率,减少构建时间,并介绍自动化部署的最佳实践。 ...
[详细]
蜡笔小新 2024-12-24 10:49:28
-
本文深入探讨了POJ2762问题,旨在通过强连通分量缩点和单向连通性的判断方法,解决有向图中任意两点之间的可达性问题。文章详细介绍了算法原理、实现步骤,并附带完整的代码示例。 ...
[详细]
蜡笔小新 2024-12-24 10:44:24
-
本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ...
[详细]
蜡笔小新 2024-12-23 18:42:12
-
给定行数 numRows,生成帕斯卡三角形的前 numRows 行。例如,当 numRows 为 5 时,返回的结果应为:[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]。 ...
[详细]
蜡笔小新 2024-12-23 16:05:30
-
本题探讨如何通过单调栈的方法,找到一个数组中最短的需要排序的连续子数组。通过正向和反向遍历,分别使用单调递增栈和单调递减栈来确定边界索引,从而定位出最小的无序子数组。 ...
[详细]
蜡笔小新 2024-12-23 15:00:57
-
本文介绍了一种通过深度优先搜索(DFS)和质因数分解来解决最长树链问题的方法。我们通过枚举树链上的最大公约数(GCD),将所有节点按其质因子分类,并计算每个类别的最长链,最终求得全局最长链。 ...
[详细]
蜡笔小新 2024-12-23 11:59:34
-
天天宅家里变胖的小黑
这个家伙很懒,什么也没留下!