[FlareOn4]greek_to_me
32位exe
这里通过sub_401121得到一个值与loc_40117c异或解密,看sub_401121
监听了本地端口2222
但不知道值是多少,爆破
import sys
import os
import socket
ip = '127.0.0.1'
port = 2222
for i in range(255):
os.startfile("C:\Users\My\Desktop\greek_to_me.exe")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))
s.send(chr(i))
data = s.recv(1024)
s.close()
print data
if 'Congratulations' in data:
print "%x" % i
break
得到buf值为a2
具体怎么解密我不管,直接动调,在下图中下了个断
跑起来后
import sys
import os
import socket
ip = '127.0.0.1'
port = 2222
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))
s.send(chr(0xa2))
s.close()
到断点断下,跳到40107c处看
按c分析
填入的数就是flag
这题看到大佬有好些不同的做法https://bbs.pediy.com/thread-223512-1.htm
有空了试一试