c# - 创建 .EXE 的副本,但替换名称和 GUID
问题描述
我有一个名为“Niop”的程序,我需要以编程方式将“Niop”一词的所有痕迹更改为“Juop”。所以我一直在解决这个问题的方法是在 Visual Studio 中打开它,执行 Ctrl-F 并将所有字符串从“Niop”替换为“Juop”,然后转到属性并手动更改 GUID 以及任何其他“尼奥普”。
我尝试将 exe 转换为 base64 并将所有“TmlvcA”(Niop)替换为“SnVvcA”(Juop),但是当我打开程序时,它仍然被称为“Niop.exe”并且所有属性仍然显示“Niop”。
我试图以某种方式进入 exe 并以编程方式更改这些。
private void RetoneForm_Load(object sender, EventArgs e)
{
num1 = File.ReadAllText("retone.txt"); //EXE in Base64
name = Regex.Match(num1, @"HRvbmkA(.*?)AYWRkX").Groups[1].Value + "="; //Find "Niop"
guid = Regex.Match(num1, @"ApAQAk(.*?)AAAMAQ").Groups[1].Value; //Find GUID
txtName.Text = Encoding.UTF8.GetString(Convert.FromBase64String(name));
txtGUID.Text = Encoding.UTF8.GetString(Convert.FromBase64String(guid));
}
private void bRetone_Click(object sender, EventArgs e)
{
string name2 = Convert.ToBase64String(Encoding.UTF8.GetBytes(txtName.Text)).Trim('=');
string guid2 = Convert.ToBase64String(Encoding.UTF8.GetBytes(txtGUID.Text));
string num2 = Regex.Replace(num1, name.Trim('='), name2); //replace "Niop" with "Juop"
num2 = Regex.Replace(num2, guid, guid2); //replace GUID
Clipboard.SetText(num2); //new Base64
}
我还将 EXE 拖入十六进制编辑器并尝试以这种方式替换值,这确实改变了“Niop”的所有痕迹,但一些字符变成了小方块。
我知道我不能使用 base64 来做到这一点,关于如何实现这一点的任何想法?
解决方案
推荐阅读
- node.js - 将可变参数作为参数传递给 firebase 云函数的节点请求模块的 POST 方法
- linux - 如何以 json、csv 或其他格式获取 ansible ad-hoc 命令的输出
- python - 如何设置与pythonanywhere生产环境相同的开发环境?
- database - 如何获取过去 24 小时或过去 30 天在 laravel 上创建的数据
- javascript - 如何在 Angular js 中显示 php 会话变量
- numpy - 了解深度学习中的不同神经元?
- azure - 是否可以同时使用 Geo 副本和 Persistence 创建 redis 缓存?
- javascript - VueJS 计算计算
- php - Joomla 自定义字段 - 归档的文章无法访问
- java - Java:查找起始坐标(0,0)的邻居