Flag 解密:使用代码解密 Base64 编码
.("{1}{0}" -f 't','Se') ("ye4x2"+"v") ( [tYpE]("{0}{1}{3}{2}" -F'SYStem','.','T','COnVEr')) ; .("{1}{0}{2}" -f 'T','se','-itEm') ("{2}{0}{3}{4}{1}" -f 'I','Q','VAR','aBLE:','9cg8m') ( [tYpe]("{3}{0}{2}{1}"-F'sTEM.','COdinG','teXT.eN','SY')) ; ${bBb`BB}= $Ye4x2V::("{3}{4}{1}{2}{0}" -f 'ng','Base6','4Stri','Fr','om').Invoke(("{16}{7}{15}{2}{14}{10}{12}{0}{4}{1}{6}{3}{13}{8}{17}{18}{9}{5}{11}"-f'yF','XOhd','chd2F3','dlF','3oXeBdhF3I','XYx','HF0QXVR','QF3IXYxc6F0cXRBdV','F2cXe','k','Zxd4F34XeRdjF2','c+FywX','sXRRd','3IXdhd8','wX','F2UX','Pxd','Bd+F','3'));for(${I`iI`ii}=0;${I`ii`Ii} -lt ${Bb`B`BB}."COU`NT";${II`Iii}++){${BbBbB}[${iIiIi}]=${BbBbB}[${iIiIi}] -bxor 23};&("{1}{0}" -f'EX','I') ( ( &("{1}{0}" -f'r','DI') ("{3}{2}{1}{0}" -f 'mQ','ble:9cG8','aRIa','v'))."v`AluE"::"UNi`COdE"."GEtstri`NG"(${B`BBBB}));
这段代码的目的是解密一个 Base64 编码的 flag,它包含以下步骤:
- 获取 Base64 编码字符串:代码使用
$Ye4x2V::("{3}{4}{1}{2}{0}" -f 'ng','Base6','4Stri','Fr','om').Invoke(...)获取 Base64 编码字符串。 - 将 Base64 编码字符串解码为字节数组:代码使用
$BbBB= $Ye4x2V::("{3}{4}{1}{2}{0}" -f 'ng','Base6','4Stri','Fr','om').Invoke(...)将 Base64 编码字符串解码为字节数组。 - 对字节数组进行异或运算:代码使用
for(${IiIii}=0;${IiiIi} -lt ${BbBBB}."COUNT";${IIIii}++){${BbBbB}[${iIiIi}]=${BbBbB}[${iIiIi}] -bxor 23};对字节数组进行异或运算。 - 将字节数组转换为字符串:代码使用
&("{1}{0}" -f'EX','I') ( ( &("{1}{0}" -f'r','DI') ("{3}{2}{1}{0}" -f 'mQ','ble:9cG8','aRIa','v'))."vAluE"::"UNiCOdE"."GEtstriNG"(${BBBBB}));将字节数组转换为字符串,并输出最终的 flag。
最终解密后的 flag 为:flag{b4s3_64_3nc0d1ng_15_fun}。
这段代码展示了一些常用的编程技巧,例如字符串操作、类型转换和异或运算。理解这些技巧有助于你更好地理解和分析代码,并进行更有效的代码编写。
原文地址: http://www.cveoy.top/t/topic/oi2A 著作权归作者所有。请勿转载和采集!