Skip to content

Commit 0a8ad45

Browse files
committed
disable setting keyword arguments without keyword
1 parent 2699ff9 commit 0a8ad45

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/padding_oracle/solve.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,17 @@
3131
)
3232

3333

34-
class BlockResult(NamedTuple):
35-
block_index: int
36-
solved: list[int | None] | None = None
37-
error: None | str = None
34+
class BlockResult:
35+
def __init__(
36+
self,
37+
block_index: int,
38+
*,
39+
solved: list[int | None] | None = None,
40+
error: None | str = None,
41+
):
42+
self.block_index = block_index
43+
self.solved = solved
44+
self.error = error
3845

3946

4047
OracleFunc = Callable[[bytes], bool]
@@ -198,7 +205,7 @@ async def solve_block(ctx: Context, block_index: int, C0: list[int],
198205
if result is not None and result.error is not None:
199206
return result
200207

201-
return BlockResult(block_index, P1_suffix)
208+
return BlockResult(block_index, solved=P1_suffix)
202209

203210

204211
async def exploit_oracle(ctx: Context, block_index: int,
@@ -217,7 +224,7 @@ async def exploit_oracle(ctx: Context, block_index: int,
217224
invalid |= len(X1_suffix) > 0 and len(hits) != 1
218225
if invalid:
219226
message = f'invalid number of hits: {len(hits)} (block: {block_index}, byte: {index})'
220-
return BlockResult(block_index, message)
227+
return BlockResult(block_index, error=message)
221228

222229
for byte in hits:
223230
X1_test = [byte ^ padding, *X1_suffix]

0 commit comments

Comments
 (0)