AOB扫描通配符生成器
我没有问题,我已经找到了解决办法,而且经过简单搜索后没有找到类似的脚本,所以我想分享一下。
事情是这样的:我需要一个脚本,可以比较像 [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))
虽然它没有完全做到单个通配符的变化,我不得不把两个字符换成“??”(即使第二个字符在所有文本中都匹配),但对我来说已经差不多了。