.net - 逆向工程 .NET C# 这行是什么意思?

标签 .net c#-4.0 reverse-engineering ilspy

我用 ilSpy 检索到了以下行

p[var1] = (t[var1] + z.c[var1 % z.c.Length]) % 'Ā';

p、t 和 c 是 char 数组[]。

我的问题是:他怎么+字符? t[var1]+z.c[someNumber] 是 2 个字符,然后他将结果以数字“A”结尾。

最佳答案

char是整型,就像 intlong 一样,因此您可以将它们加在一起并对 的值使用 % char 实例。

以同样的方式,您可以添加 int% 它们。

这解释了为什么上述有效

它的含义是一个不同的问题,而且不是那么明显。可能是因为 char 的范围而被使用,但它被用作整数类型。很冷的是,这是一个将小写字符转换为大写字符(反之亦然)的函数,但如果没有更多上下文,就无法判断。

您使用的反编译器完全有可能误解(或无法完全解释)IL,并为您提供与IL等效的内容,但这与原始代码不同。

关于.net - 逆向工程 .NET C# 这行是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9582490/

相关文章:

c# - 如果从同一个线程调用 Dispatcher.BeginInvoke 是否会将调用排队?

.net - WinForms 应用程序的常见漏洞

c# - 如何调试 PerfMon.dll 中的 0xc0000409 错误?/组装绑定(bind)

wpf - 在 Wpf 中关闭另一个窗口

python - 逆位运算符

c - 使用 ida pro 打补丁

reverse-engineering - 可执行部分标志

c# - 在这种情况下如何使用 Regex.Replace?

c#-4.0 - 静态字典如何具有圈复杂度?

c#-4.0 - 使用 Google API 从刷新 token 中获取访问 token