作为Hackthebox.eu逆向工程挑战的一部分,我尝试对.net可执行文件进行反编译。整个程序成功地解压缩,但有两个错误。我会把整个方法写在下面。
private unsafe void kapa(object sender, EventArgs e)
{
int num1 = 0;
this.z = "";
this.o = "";
this.m = "";
int num2;
IntPtr num3 = (IntPtr) &num2;
int num4;
int* numPtr1 = &num4;
int num5;
int* numPtr2 = &num5;
int num6;
int* numPtr3 = &num6;
int num7;
int* numPtr4 = &num7;
int num8;
int* numPtr5 = &num8;
int num9;
int* numPtr6 = &num9;
int* numPtr7 = &num1;
int num10 = 79;
*(int*) num3 = num10;
*numPtr1 = 128;
*numPtr2 = 128;
*numPtr3 = 105;
*numPtr4 = 112;
*numPtr5 = 112;
*numPtr6 = 129;
*numPtr7 = 130;
this.pp = num2;
this.linear(this.pp);
}这一行有一个错误:
"'IntPtr‘是一种类型,在给定的上下文中无效“
IntPtr num3 = (IntPtr) &num2;然后是一个未定义变量num2的错误。
这是DotPeek中的错误吗?
发布于 2019-03-09 15:17:58
我今天刚做了这个挑战。点Peek没有什么问题,但是您需要对代码进行一些细微的更改。
在C++ (非托管代码)中,指针基本上是指向内存地址的变量。在这段特定的代码中,它说num3是指向变量num2地址的指针。希望这能帮你理清问题。
https://stackoverflow.com/questions/49811893
复制相似问题