CRe(upx+文件头+DFS)

思路:
发现文件头开头是504b0304,解压又不行,推测文件头被修改,exe的文件头是4d5a9000

之后upx脱壳
运行程序

采用DFS算法递归出coins最多的路径
script:

s = [
    [0, 1, 0, 0, 2, 0, 0, 20],
    [0, 1, 1, 5, 5, 0, 0, 0],
    [1, 0, 1, 0, 0, 0, 2, 10],
    [0, 0, 1, 0, 10, 0, 0, 0],
    [2, 0, 0, 4, 0, 0, 0, 20],
    [0, 0, 15, 0, 1, 0, 0, 0],
    [0, 0, 1, 0, 25, 0, 6, 0],
    [4, 0, 0, 5, 0, 6, 0, 20],
]
print(type(s))
l = len(s)
print(l)
ll = len(s[0])
print(ll)
dp = [[0] * ll for _ in range(l)]
print(dp)
all = 0
i = 1


def cry(x, y, z):
    global all
    if x >= l or y >= ll:
        return
    print(x, y, z)
    if x == l - 1 and y == ll - 1:
        z += s[x][y]
        all = max(all, z)
        i = 0
        print("结算:", x, y, all)
        return
    z += s[x][y]
    cry(x + 1, y, z)
    cry(x, y + 1, z)
    return all


flag = cry(0, 0, 0)
print(flag)

posted @ 2025-05-10 18:00  lethe311  阅读(27)  评论(0)    收藏  举报