1 Star 0 Fork 2

Rog/ShellcodeLoader

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Crypto.cpp 947 Bytes
一键复制 编辑 原始数据 按行查看 历史
Rog 提交于 2022-01-05 16:11 +08:00 . 2022.09.06
#include "Crypto.h"
#include <stdio.h>
#include <string.h>
void Crypto::XORrecoder(unsigned char* Data, unsigned long Len_D, unsigned char key)
{
for (size_t i = 0; i < Len_D; i++)
{
Data[i] ^= key;
}
}
void __forceinline rc4_init(unsigned char* s, unsigned char* key, unsigned long Len_k)
{
int i = 0, j = 0;
char k[256] = { 0 };
unsigned char tmp = 0;
for (i = 0; i < 256; i++) {
s[i] = i;
k[i] = key[i % Len_k];
}
for (i = 0; i < 256; i++) {
j = (j + s[i] + k[i]) % 256;
tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
}
void Crypto::rc4_crypt(unsigned char* Data, unsigned long Len_D, unsigned char* key, unsigned long Len_k)
{
unsigned char s[256];
rc4_init(s, key, Len_k);
int i = 0, j = 0, t = 0;
unsigned long k = 0;
unsigned char tmp;
for (k = 0; k < Len_D; k++) {
i = (i + 1) % 256;
j = (j + s[i]) % 256;
tmp = s[i];
s[i] = s[j];
s[j] = tmp;
t = (s[i] + s[j]) % 256;
Data[k] = Data[k] ^ s[t];
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/rogxo/ShellcodeLoader.git
git@gitee.com:rogxo/ShellcodeLoader.git
rogxo
ShellcodeLoader
ShellcodeLoader
master

搜索帮助