Chapter.四 清晨,人生,异或加密算法(2 / 4)
东方阅读网【www.dfmsc.com】第一时间更新《从零开始的CTFer生活》最新章节。
it ;//[rp+48][rbp-18]
it ;//[rp+4C][rbp-14]
it l;//[rp+50][rbp-10]
it ;//[rp+54][rbp-C]
it j;//[rp+58][rbp-8]
it i;//[rp+5C][rbp-4]
fr ( i = 0; i = 30;++i )
t[i]= 1[i]^ 0x17;
fr ( j = 0; j = 30;++j )
t[j]^= 0x39;
fr ( = 0; = 30;++ )
t[]^= 0x4B;
fr ( l = 0; l = 30;++l )
t[l]^= 0x4A;
fr ( = 0; = 30;++ )
t[]^= 0x49;
fr ( = 0; = 30;++ )
t[]^= 0x26;
fr ( ii = 0; ii = 30;++ii )
t[ii]^= 0x15;
fr ( jj = 0; jj = 30;++jj )
t[jj]^= 0x61;
fr ( = 0; = 30;++ )
t[]^= 0x56;
fr ( ll = 0; ll = 30;++ll )
t[ll]^= 0x1B;
fr ( = 0; = 30;++ )
t[]^= 0x21;
fr ( = 0; = 30;++ )
t[]^= 0x40;
fr ( i1 = 0; i1 = 30;++i1 )
t[i1]^= 0x57;
fr ( i2 = 0; i2 = 30;++i2 )
t[i2]^= 0x2E;
fr ( i3 = 0; i3 = 30;++i3 )
t[i3]^= 0x49;
fr ( i4 = 0; i4 = 30;++i4 )
t[i4]^= 0x37;
byte_40807F = 0;
if (!trp(t, i))
relt = pt(“!“);
ele
relt = pt(“...D't Give p!“);
retr relt;
------
字符串 i位于程序的.dt段,筱懿明双击跟进之后是一个奇特的字符串——看来是被加密过的。
“程序逻辑似乎是将输入的字符串与相应数据进行多次的异或操作?”筱懿明思索着,双击跟进上层函数调用的参数,他看到了一个奇特的数据——「xzztz|ydg/@.l@x,_(b」,似乎不像是能够通过人脑直接猜测出来的数据。
但此时的筱懿明注意到,这个加密程序中大量使用了异或操作,而——
“异或运算有一个特性:一个数与同一个数进行两次异或之后,所得的结果还是他自己,那么我只需要逆着程序的逻辑将解密代码写出来并运行就可以获得了。”
东方阅读网【www.dfmsc.com】第一时间更新《从零开始的CTFer生活》最新章节。
本章未完,点击下一页继续阅读。