逻辑很简单,如果sub_4006FD函数返回假则返回Nice!

图1
进入sub_4006FD函数,加密过程也很简单,这里值得注意的有两点
一、8*(i%3)是二维数组的第一个参数,这里是取v3的地址所以*8的是数组长度,不是选择8倍于它的数组。换成python里直接写用数组时,就可以把这个*8省略了
二、a1是传入的字符串地址,所以i+a1是从第1个到第12个字符的意思,求s不用再减i了

图2
解密代码思路很好理解,比如x-y=1,那么y=x-1一样
这里使用了int转换是为了除数后取整,python不支持除数取整,c支持
附代码:
1 v3=["Dufhbmf","pG`imos","ewUglpt"] 2 3 s='' 4 5 for i in range(12): 6 7 s+=chr(ord(v3[i % 3][2*int(i / 3)])-1) 8 9 print(s)