Reversing-x64Elf-100
if ( (unsigned int)sub_4006FD(s) )需要走一遍sub_4006FD函数
函数内容
__int64 __fastcall sub_4006FD(__int64 a1)
{
int i; // [rsp+14h] [rbp-24h]
_QWORD v3[4]; // [rsp+18h] [rbp-20h]
v3[0] = "Dufhbmf";
v3[1] = "pG`imos";
v3[2] = "ewUglpt";
for ( i = 0; i <= 11; ++i )
{
if ( *(char *)(v3[i % 3] + 2 * (i / 3)) - *(char *)(i + a1) != 1 )
return 1LL;
}
return 0LL;
}这里我们已知结果和条件去求输入的a1
def main():
v0 = "Dufhbmf"
v1 = "pG`imos"
v2 = "ewUglpt"
v3 = [v0, v1, v2] #数组
out = ""
for i in range(12):
out+= chr(ord(v3[i%3][2*int(i/3)])-1)#将每一个满足的a1存储起来
print(out)
if __name__ == "__main__":
main()Code_Talkersjie'chu