BIN实验报告

RE实验

实验题目:

三个逆向题目任意选择一个,前两个相对难度大一些。
1.exe是迷宫题 得到结果后包上flag{};2.cpp是C语言模块元编程,答案格式在注释里;3是常规题。

实验要求:详细步骤尽量包括图片和脚本

详细步骤

懒狗,果断选第三个(狗头

拖到ida,f5反编

image-20210828004528776

其实逻辑是输入一个33位的v5与global比较,相同则输出success

这里global实际上为加密过的flag,加密方式为从v5[1]开始每次与前面的数异或

但这里出了一个问题,global应该是33位,直接shift+e我只看到了7位~(:з」∠)

以下请教了人美心善的毛小姐姐~

5

双击global跟踪过去

image-20210828011523108

可以看到后面的灰色注释,然后双击它

再shift+e就好用了

image-20210828011602444

异或的逆运算还是异或

a^b=c -> c^b=a c^a=b

所以从v5[1]开始重新与前面的异或一次就可以了

flag=""
a=[ 102,  10, 107,  12, 119,  38,  79,  46,  64,  17,
  120,  13,  90,  59,  85,  17, 112,  25,  70,  31,
  118,  34,  77,  35,  68,  14, 103,   6, 104,  15,
   71,  50,  79,   0]
for i in range(1,33):
    flag +=chr(a[i]^a[i-1])

print(flag)

少了个f记得补上,因为第1位没加密

image-20210828012632532

flag{QianQiuWanDai_YiTongJiangHu}

PS:给大瑶瑶的代码

image-20210828012924711

鼠标放到aFKWOXZUPFVMDGH上就显示这个了

s = ['f',0xA,'k',0xC,'w','&','O','.','@',0x11,'x',0xD,'Z',';','U',0x11,'p',0x19,'F',0x1F,'v','"','M','#','D',0xE,'g',6,'h',0xF,'G','2','O']
flag = 'f'#第一个字符不用进行异或运算
for i in range(1,len(s)):
    if(isinstance(s[i],int)):#将数字转化为字符
        s[i] = chr(s[i])
for i in range(1,len(s)):
    flag += chr(ord(s[i]) ^ ord(s[i-1]))#a^b=c 等于 a^c=b

print(flag)

总结反思

不会,太蠢了,不学re了呜呜呜~

PWN实验

实验题目:

有漏洞的远程程序36points

详细步骤

pwn好难,先去找个简单的试试,垃圾dxr不给提示~

image-20210828000243705

根据题目,尝试在 Ubuntu 使用 NC 来连接监听端口 26018

端口 26018 被监听后实际就运行了一个程序,我们可以利用这个程序来进行一些操作。

nc node4.buuoj.cn

使用 ls 查看有哪些内容,并很明显的发现了 flag 的存在

58

cat flag

587

image-20210901005024200

nc chive.vaala.cloud 28075

image-20210901005211979

这个东西不买shop里面的幸运药蒙对了也不算你赢,太垃圾了~

第一次就被骗了,这个东西下注了只要不去boost就不扣钱,所以你只要把036全下一遍,然后用100去买幸运药,就能赚钱了

image-20210901005531285

flag{0hhh_y0u_are_a_real_hacker_1}

PS:给大瑶瑶的代码

'==========以下是按键精灵录制的内容==========
Delay 3140
For t=0 To 36
'==========以下是按键精灵录制的内容==========
Delay 114
KeyDown "Num 1", 1
Delay 80
KeyUp "Num 1", 1
Delay 121
KeyDown "Enter", 1
Delay 114
KeyUp "Enter", 1
Delay 93
Dim a
// 密码
PSW=t
// 计算密码长度
PSW_Len=Len(PSW)
ReDim a(PSW_Len)
i=0
For PSW_Len
    a(i) = Mid(PSW,1+i,1)
    If Asc(a(i))>=97 and Asc(a(i))<=122
        // 英文大写
        KeyPress Asc(a(i))-32,1
    ElseIf Asc(a(i))>=65 and Asc(a(i))<=90
        // 英文小写
        KeyDown 16,1
        KeyPress Asc(a(i)),1
        KeyUp 16,1
    ElseIf Asc(a(i))>=48 and Asc(a(i))<=57
        // 数字
        KeyPress Asc(a(i)),1
    Else 
        MessageBox "密码: " & PSW &" 含有符号,不适用此脚本"
        EndScript 
    EndIf 
i = i + 1
EndFor
Delay 93
KeyDown "Enter", 1
Delay 117
KeyUp "Enter", 1
Delay 47
KeyDown "Num 1", 1
Delay 117
KeyUp "Num 1", 1
Delay 20
KeyDown "Num 0", 1
Delay 89
KeyUp "Num 0", 1
Delay 20
KeyDown "Num 0", 1
Delay 12
KeyUp "Num 0", 1
Delay 62
KeyDown "Enter", 1
Delay 99
KeyUp "Enter", 1
'==========以上是按键精灵录制的内容==========

Next
'==========以上是按键精灵录制的内容==========

这个按键精灵可以自动下注0~36,然后去shop买个幸运药就行了

总结反思

垃圾dxr不给提示,差评~


一只古灵古灵的精怪