no-strings-attached-入土为安的第十一天

是动调结果没动调

点进authenticate 函数

unk_8048B44 函数里面有成功。

读取s,dword_8048A90函数的地址

shirt+f2 使用pythonida读取数值

点进decrypt函数分析加密方式,得出答案

  1. 遍历 dest 数组的每个元素,按顺序减去 a2 数组中的每个元素,直到 a2 的所有元素都被用来处理 dest 中的一个元素。
  2. 当处理完一个元素后,继续处理下一个元素,直到遍历完所有元素。

import idaapi

addr = 0x08048AA8
arr = []

for i in range(39):
    # 使用 idaapi.get_dword 函数读取 32 位数据
    value = idaapi.get_dword(addr + 4 * i)
    arr.append(value)

print(arr)

[5178, 5174, 5175, 5179, 5248, 5242, 5233, 5240, 5219, 5222, 5235, 5223, 5218, 5221, 5235, 5216, 5227, 5233, 5240, 5226, 5235, 5232, 5220, 5240, 5230, 5232, 5232, 5220, 5232, 5220, 5230, 5243, 5238, 5240, 5226, 5235, 5243, 5248, 0]


import idaapi

addr = 0x08048A90
arr = []

for i in range(6):
    # 使用 idaapi.get_dword 函数读取 32 位数据
    value = idaapi.get_dword(addr + 4 * i)
    arr.append(value)

print(arr)

[5121, 5122, 5123, 5124, 5125, 0]

# 示例数据
s = [5178, 5174, 5175, 5179, 5248, 5242, 5233, 5240, 5219, 5222,
     5235, 5223, 5218, 5221, 5235, 5216, 5227, 5233, 5240, 5226,
     5235, 5232, 5220, 5240, 5230, 5232, 5232, 5220, 5232, 5220,
     5230, 5243, 5238, 5240, 5226, 5235, 5243, 5248, 0]
a2 = [5121, 5122, 5123, 5124, 5125]

# 计算长度
v6 = len(s)
v7 = len(a2)

# 复制 s 到 dest
dest = s.copy()

# 执行减法操作
i = 0
while i < v6:
    for j in range(v7):
        if i >= v6:  # 防止超出 dest 的索引
            break
        dest[i] -= a2[j]  # 从 dest[i] 减去 a2[j]
        i += 1

# 打印结果
print(" ".join(chr(x) for x in dest if 0 <= x < 128), end="")

9 4 4 7 { y o u _ a r e _ a n _ i n t e r n a t i o n a l _ m y s t e r y }

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值