AOB扫描通配符生成器

0 投票
1 回答
15 浏览
提问于 2025-04-12 18:12

我没有问题,我已经找到了解决办法,而且经过简单搜索后没有找到类似的脚本,所以我想分享一下。

事情是这样的:我需要一个脚本,可以比较像 [89 79 18 48 83 C1] 和 [89 79 18 48 13 C1] 还有 [89 79 56 48 83 75] 这样的文本(字节),用于CE AOB扫描功能,当你尝试编写脚本时。

我在一些AI的帮助下尝试了这个代码,虽然我对AI聊天不太信任,因为他们在手动执行这个功能时搞砸了。

def compare_and_print(text1, text2):
    result = []
    for i in range(min(len(text1), len(text2))):
        if text1[i] == text2[i]:
            result.append(text1[i])
        else:
            result.append('??')
    # Add remaining elements from the longer text
    if len(text1) > len(text2):
        result.extend(['?' for _ in range(len(text2), len(text1))])
    elif len(text2) > len(text1):
        result.extend(['?' for _ in range(len(text1), len(text2))])
    return result

# Convert hexadecimal strings to decimal values
def hex_to_dec(hex_str):
    return int(hex_str, 16)

text1_hex = ['F3', '0C', '11', '68']
text2_hex = ['F3', '0F', 'D1', '68']

text1 = [hex_to_dec(hex_str) for hex_str in text1_hex]
text2 = [hex_to_dec(hex_str) for hex_str in text2_hex]

result = compare_and_print(text1, text2)
print(result)

我本来期待结果能像这样打印出来:

F3 0? ?1 68

但结果却打印成了 [243, '??', '??', 104],我甚至不想要括号,而且它还把像F3这样的东西转换成了243,这也不是我想要的。

1 个回答

0

在测试了一些其他“新”的聊天功能的人工智能聊天机器人后,我终于得到了这个:

def compare_texts(text1, text2, text3):
    result = []
    for t1, t2, t3 in zip(text1, text2, text3):
        if t1 == t2 == t3:
            result.append(t1)
        else:
            result.append('??')
    return ' '.join(result)

text1 = input("Enter the first text: ").split()
text2 = input("Enter the second text: ").split()
text3 = input("Enter the third text: ").split()

print(compare_texts(text1, text2, text3))

虽然它没有完全做到单个通配符的变化,我不得不把两个字符换成“??”(即使第二个字符在所有文本中都匹配),但对我来说已经差不多了。

撰写回答