From 565c7455f71d116fe165f24b4466d3371a05672a Mon Sep 17 00:00:00 2001 From: myitinos Date: Thu, 10 Oct 2019 11:06:36 +0800 Subject: [PATCH] more patch --- lib/Character.cpp | 1 - lib/UserInterface.cpp | 4 ++-- poc.py | 22 ++++++++++++++------- spell-warz-again => spell-warz-again-final | Bin 89632 -> 89632 bytes 4 files changed, 17 insertions(+), 10 deletions(-) rename spell-warz-again => spell-warz-again-final (61%) diff --git a/lib/Character.cpp b/lib/Character.cpp index ea2229f..600060e 100644 --- a/lib/Character.cpp +++ b/lib/Character.cpp @@ -92,7 +92,6 @@ void Character::levelUp() { if ((level <= MAX_LVL) && readytoLevelUp()) { - experience -= toNextLevel(); level++; maxHP += 100; maxMP += 50; diff --git a/lib/UserInterface.cpp b/lib/UserInterface.cpp index ca64432..a8ad00c 100644 --- a/lib/UserInterface.cpp +++ b/lib/UserInterface.cpp @@ -1,7 +1,7 @@ #include "UserInterface.hpp" -const int UserInterface::INTERVAL = 0; -const int UserInterface::MINI_INTERVAL = 0; +const int UserInterface::INTERVAL = 100; +const int UserInterface::MINI_INTERVAL = 50; const int UserInterface::MAX_DAY = 28; const int UserInterface::MAX_MONTH = 12; const int UserInterface::MAX_YEAR = 100; diff --git a/poc.py b/poc.py index 36a3a65..dcda106 100644 --- a/poc.py +++ b/poc.py @@ -1,6 +1,7 @@ from pwn import process -FILENAME = "./spell-warz-again-patched" +FILENAME = "./spell-warz-again-final" + def poc0(): p = process(FILENAME) @@ -26,14 +27,22 @@ def poc1(): p.sendline("Leo") print p.recvuntil(">") p.sendline("y") - print p.recvuntil(">") - p.sendline("2") + for _ in range(100): + print p.recvuntil(">") + p.sendline("3") + print p.recvuntil(">") + p.sendline("0") + print p.recvuntil(">") + p.sendline("y") + print p.recvuntil(">") + p.sendline("1") print p.recvuntil(">") p.sendline("4") print p.recvuntil(">") p.sendline("y") - print p.recvuntil(">") - p.sendline("0") + for _ in range(10): + print p.recvuntil(">") + p.sendline("99") p.interactive() @@ -45,7 +54,6 @@ def poc2(): p.sendline("y") print p.recvuntil(">") p.sendline("2") - p.interactive() print p.recvuntil(">") p.sendline("4") print p.recvuntil(">") @@ -57,4 +65,4 @@ def poc2(): if __name__ == "__main__": - poc2() + poc1() diff --git a/spell-warz-again b/spell-warz-again-final similarity index 61% rename from spell-warz-again rename to spell-warz-again-final index 81c4f34cc49dfddfef6e9bd6d14ec480724eadf3..43004aede8cfdd6a91e8dc9a9a4c6593584faf2d 100755 GIT binary patch delta 12922 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 RY=`*&*8ennF#EQ~{{ierb0+`* delta 13041 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