fix: update flag and exp
This commit is contained in:
@@ -1,46 +0,0 @@
|
|||||||
from pwn import * # type: ignore
|
|
||||||
# context.log_level = 'debug'
|
|
||||||
|
|
||||||
"""
|
|
||||||
(这题小小的放了水)
|
|
||||||
因为只有一轮,而最终的答案有128种情况,那我们不妨直接猜一个答案
|
|
||||||
根据条件概率公式算一下
|
|
||||||
|
|
||||||
for i in range(0,1000,100):
|
|
||||||
print(i,":", 1 - (127/128) ** i)
|
|
||||||
|
|
||||||
0 : 0.0
|
|
||||||
100 : 0.5435690025908804
|
|
||||||
200 : 0.7916707446041162
|
|
||||||
300 : 0.9049120701701576
|
|
||||||
400 : 0.9565989213461966
|
|
||||||
500 : 0.9801904023814129
|
|
||||||
600 : 0.990958285600675
|
|
||||||
700 : 0.9958730812784277
|
|
||||||
800 : 0.9981163463716863
|
|
||||||
900 : 0.9991402420956556
|
|
||||||
大概300次以内都出结果了
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for i in range(300):
|
|
||||||
try:
|
|
||||||
r = remote("localhost", 10011)
|
|
||||||
# r = process(['python3', 'main.py'])
|
|
||||||
for i in range(15):
|
|
||||||
r.sendlineafter(b":", b"1")
|
|
||||||
r.recvuntil(b"!")
|
|
||||||
|
|
||||||
r.sendlineafter(b"chests:", b"0 0 1 0 0 1 0")
|
|
||||||
r.recvline()
|
|
||||||
flag = r.recvline()
|
|
||||||
if b"flag" in flag:
|
|
||||||
end_time = time.time()
|
|
||||||
print(flag)
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
r.close()
|
|
||||||
|
|
||||||
except EOFError:
|
|
||||||
pass
|
|
||||||
@@ -167,9 +167,9 @@ from pwn import *
|
|||||||
#context.log_level = 'debug'
|
#context.log_level = 'debug'
|
||||||
|
|
||||||
r = process(['python3', 'main_local.py'])
|
r = process(['python3', 'main_local.py'])
|
||||||
#r = remote("localhost", "10011")
|
#r = remote("localhost", "10010")
|
||||||
|
|
||||||
for i in range(1):
|
for i in range(50):
|
||||||
msg = ''
|
msg = ''
|
||||||
# 逐个发送问题并接收答案
|
# 逐个发送问题并接收答案
|
||||||
for j in range(15):
|
for j in range(15):
|
||||||
|
|||||||
9
xiaosai/Claude_Shannon/dockerfile
Normal file
9
xiaosai/Claude_Shannon/dockerfile
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
FROM python:latest
|
||||||
|
|
||||||
|
COPY flag.py /app/
|
||||||
|
|
||||||
|
COPY main_remote.py /app/
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
CMD [ "python", "main_remote.py" ]
|
||||||
1
xiaosai/Claude_Shannon/flag.py
Normal file
1
xiaosai/Claude_Shannon/flag.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
flag = b'0xFA{you_Are_kinG_of_3G!!!}'
|
||||||
@@ -1,10 +1,8 @@
|
|||||||
from random import choice as c
|
from random import choice as c
|
||||||
from random import randint, shuffle
|
from random import shuffle
|
||||||
import socketserver
|
import socketserver
|
||||||
import signal
|
import signal
|
||||||
import string
|
from flag import flag
|
||||||
import random
|
|
||||||
import os
|
|
||||||
|
|
||||||
class Task(socketserver.BaseRequestHandler):
|
class Task(socketserver.BaseRequestHandler):
|
||||||
def _recvall(self):
|
def _recvall(self):
|
||||||
@@ -90,7 +88,7 @@ class ForkedServer(socketserver.ForkingMixIn, socketserver.TCPServer):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
flag = bytes(os.getenv("FLAG"),"utf-8") # type: ignore
|
#flag = bytes(os.getenv("FLAG"),"utf-8") # type: ignore
|
||||||
# 白名单列表,包含允许在问题中使用的关键词和符号
|
# 白名单列表,包含允许在问题中使用的关键词和符号
|
||||||
white_list = ['==', '(', ')', 'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', '0', '1', 'and', 'or', 'not']
|
white_list = ['==', '(', ')', 'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', '0', '1', 'and', 'or', 'not']
|
||||||
HOST, PORT = '0.0.0.0', 10011
|
HOST, PORT = '0.0.0.0', 10011
|
||||||
|
|||||||
Reference in New Issue
Block a user