python|第二届网刃杯网络安全大赛(re部分)

RE freestyle 基本面
python|第二届网刃杯网络安全大赛(re部分)
文章图片

64位 无壳
静态分析
python|第二届网刃杯网络安全大赛(re部分)
文章图片

主函数中两个加密
验证成功之后的值进行md5加密即可
先看第一个函数(fun1)
python|第二届网刃杯网络安全大赛(re部分)
文章图片

if判断 只要不让if成立即可
看第二个函数
python|第二届网刃杯网络安全大赛(re部分)
文章图片

一样的道理
直接上爆破脚本
方便又快捷

for i in range(10000): if (i*3//9-9)*4 == 4400: print(i) for i in range(10000): if (2 * (i % 56)) == 98: print(i)#3327 3328 3329 #49 105

又因为题目给了提示取可被模除的最小值
也就是取3327和105进行加密即可
flag{31a364d51abd0c8304106c16779d83b1}
Re_function 基本面
python|第二届网刃杯网络安全大赛(re部分)
文章图片

32位无壳
直接分析
python|第二届网刃杯网络安全大赛(re部分)
文章图片

花指令直接nop掉跳转函数 在文件头创建函数
就可以看到主函数了
python|第二届网刃杯网络安全大赛(re部分)
文章图片

流程很清晰就一个简单的分步异或 然后题目中另一个文件是base64换表
所以先把base64的表解出来 再拿去异或就可以了
要注意ida中大小端存储问题
key = 'dqTTdxtxdA@Hpm' #key = key[::-1] key = list(key) for i in range(0,len(key),2): key[i] = chr(ord(key[i]) ^ 0x37) for i in key: print(i,end="") #SqcTSxCxSAwHGm/J str2 = [0x41,0x78,0x66,0x72,0x41,0x78,0x5e,0x4e,0x5d,0x52,0x0e,0x3d] for i in range(0,len(str2),2): str2[i] = str2[i] ^ 0x37 for i in str2: print(chr(i),end="") #SqcTSxCxSAwHGmvxQrvxiNjR9=

剩下就是一个base64换表了
import base64 import string string = "SqcTSxCxSAwHGm/JvxQrvxiNjR9=" tableBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" tableNew = "FeVYKw6a0lDIOsnZQ5EAf2MvjS1GUiLWPTtH4JqRgu3dbC8hrcNo9/mxzpXBky7+" ''' maketrans():用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标; translate():法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中; decode():以encoding指定的编码格式解码字符串。 ''' '1.换表' maketrans = str.maketrans(tableNew, tableBase64) '2.使用新表转换字符串' translate = string.translate(maketrans) print(translate) '2.Base64解码' flag = base64.b64decode(translate) ''' 三合一操作: flag = base64.b64decode(string.translate(str.maketrans(tableNew, tableBase64))) ''' flag = base64.b64decode(string.translate(str.maketrans(tableNew, tableBase64))) print(flag) flag = list(flag) print(flag)

b’flag{we1come_t0_wrb}’
easyiec 打开流量包,抓tcp流,就往下翻了翻
python|第二届网刃杯网络安全大赛(re部分)
文章图片

carefulguy 打开流量包,抓tcp流,从3流之后每个流都有一位flag
python|第二届网刃杯网络安全大赛(re部分)
文章图片
全部提取出来,16进制转成ascii码
【python|第二届网刃杯网络安全大赛(re部分)】flag{p4us315v3ry1nt3restic9}

    推荐阅读