[BJDCTF2020]BJD hamburger competition
这是一堆
net的核心代码在\Managed\Assembly-CSharp.dll出
安装ILSPY
下载失败
5.2下载成功
路径:C:\Users\故里\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
发现
使用了MD5和SHA
思路还是比较简单的
看那个void发现
对所给进行sha1解密,在进行md5加密即可
解密网站:sha1在线解密 在线加密 (ttmd5.com)
sha1加密后为 DD01903921EA24941C26A48F2CEC24E0BB0E8CC7
交上发现不对,看MD5函数
subString是Java提供的一种字符串截取方法,通常我们可以用参数来控制截取的字符串。
就是截取0-20位
ToString("X2") 为C#中的字符串格式控制符
大写X:ToString("X2")即转化为大写的16进制。
小写x:ToString("x2")即转化为小写的16进制。
2表示每次输出两位,不足2位的前面补0,如 0x0A 如果没有2,就只会输出0xA
假设有两个数10和26,正常情况十六进制显示0xA、0x1A,这样看起来不整齐,为了好看,可以指定"X2",这样显示出来就是:0x0A、0x1A。
即将前20位转为大写:b8c37e33defde51cf91e
.csproj,是C#项目文件的扩展名,它是“C Sharp Project”的缩写。.net开发环境中建立项目时,会产生.csproj文件,这是C#的工程文件,其中记录了与工程有关的相关信息,例如包含的文件,程序的版本,所生成的文件的类型和位置信息等。
[Zer0pts2020]easy strcmp
不是很懂,五一看吧
进入主函数
[WUSTCTF2020]level4
open
和数据结构二叉树有关的问题
脚本
def PreOrder(Postorder,Inorder):
length = len(Postorder)
if length == 0:
return 0
root = Postorder[length-1]
for i in range(length):
if root == Inorder[i]:
break
print(root,end="")
PreOrder(Postorder[0:i],Inorder[0:i])
PreOrder(Postorder[i:length-1],Inorder[i+1:length])
PreOrder("20f0Th{2tsIS_icArE}e7__w","2f0t02T{hcsiI_SwA__r7Ee}")
[羊城杯 2020]easyre
三重加密后输入的str和开始赋值的str2成立
three凯撒移位
def decrypt_caesar(str, key=3): # 解密函数
text = ""
for i in str:
if ord(i) >= 65 and ord(i) <= 90:
text += chr(65 + ((ord(i) - 65) - key) % 26)
elif ord(i) >= 97 and ord(i) <= 122:
text += chr(97 + ((ord(i) - 97) - key) % 26)
elif ord(i) >= 48 and ord(i) <= 57:
text += chr(48 + ((ord(i) - 48) - key) % 10)
else:
text+=i
return text
m1="EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3=cT6QckkPckoRG"
m2=decrypt_caesar(m1)
print(m2)
two
换一下顺序
BjYjM2Mjk4NzM 3
R1dIVHs2NzJjY 1
0MTEzM2VhMn0= 4
zQ3NzhhMzhlOD 2
R1dIVHs2NzJjYzQ3NzhhMzhlODBjYjM2Mjk4NzM0MTEzM2VhMn0=
one
base64
解密即可