pwnable.kr - coin1
2018. 8. 19. 22:17ㆍWarGame/pwnable.kr
후 방금 막푼 따끈따끈한 coin1문제 ㅠㅠ
알고리즘에 약한나는 열심히 3시간동안 삽질을...
별거없습니다 코인무게재서 이상한무게를가진거 하나 찾으면됩니다! ㅎㅎ
고로 제가 보여드릴자료는 코딩한 그게 전부군요...ㅠ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | from pwn import * r = remote("pwnable.kr", 9007) divnum = 2 def cal(num, result, divnum, a, b, flag) : payload = "" if (int(result)%int(10) == int(9)) : startnum = a elif (int(result)%int(10) == int(0)) : startnum = b if(divnum == 2) : startnum = 0 for i in range(int(startnum), int(startnum) + int(num)/int(divnum)+1) : payload += str(i) payload += " " a = int(startnum) b = int(startnum) + (int(num)/int(divnum))+1 divnum = divnum * 2 print("payload = %s" % payload) r.sendline(payload) result = r.recvline() print(result) print(flag) flag -= 1 print(result) if "Correct!" in result : flag = -1 print("here is flag = %s" %result) if (flag != -1) : cal(num, result, divnum, a, b, flag) #start sleep(1) #call func print(r.recv()) for a in range(0, 101) : if (a == 100) : print("[+] oh!!!! congreatulate!!\ni'll make you flag") sleep(10) print(r.recv()) print("[+]welcome") num = r.recvuntil(" ") num = num.split("=")[1] flag = int(r.recv().split("=")[1]) num = int(num[:4]) result = 0 print(num) print(flag) cal(num, result, divnum, 0, 0, flag) | cs |
저는 이런식으로 알고리즘 짰습니다 ㅎㅎ
이런식으로 코딩을하게되면? 결과는
반복문이 100번 돌아간후 이렇게 나오더군요.
후 많이 힘들었습니다 ㅠ
input문제도 이런식으로 풀어지던데 다른문제들풀다가 도전해보겠습니다.
'WarGame > pwnable.kr' 카테고리의 다른 글
pwnable.kr - mistake (0) | 2018.08.20 |
---|---|
pwnable.kr blukat (0) | 2018.08.19 |
pwnable.kr - bof (0) | 2018.08.19 |
pwnable.kr - random (0) | 2018.08.16 |
pwnable.kr - collision (0) | 2018.08.03 |