Skip to content

Commit b8c8dca

Browse files
committed
linting
1 parent 307255f commit b8c8dca

File tree

4 files changed

+15
-12
lines changed

4 files changed

+15
-12
lines changed

angrop/chain_builder/mem_writer.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,8 @@ def bootstrap(self):
158158
self._good_mem_write_gadgets = defaultdict(set)
159159
self._build_mem_change_cache()
160160

161-
def _solve_byte_pair(self, target, op, badbytes, preferred_init=None):
161+
@staticmethod
162+
def _solve_byte_pair(target, op, badbytes, preferred_init=None):
162163
"""
163164
return (init_byte, arg_byte) for a given op if possible
164165
"""
@@ -602,7 +603,8 @@ def _write_to_mem_with_gadget(self, gadget, addr_val, data, preserve_regs):
602603
raise RopException("the next pc is not in our control!")
603604
return chain
604605

605-
def _badbyte_mem_write_plans(self, data_size):
606+
@staticmethod
607+
def _badbyte_mem_write_plans(data_size):
606608
"""
607609
generate all plans that have don't have badbytes in the address
608610
"""
@@ -624,8 +626,7 @@ def dfs(plans, total):
624626

625627
# generate plans
626628
# maybe more filterings here?
627-
for p in plans:
628-
yield p
629+
yield from plans
629630

630631
def _try_write_plan(self, plan, addr, data, preserve_regs, fill_byte):
631632
preferred_init = ord(fill_byte)
@@ -656,8 +657,8 @@ def _try_write_plan(self, plan, addr, data, preserve_regs, fill_byte):
656657
except RopException:
657658
return None
658659
ptr += chunk_size
659-
else:
660-
return chain
660+
661+
return chain
661662

662663
##### Main Entrance #####
663664
def write_to_mem(self, addr, data, preserve_regs=None, fill_byte=b"\xff"):
@@ -687,4 +688,4 @@ def write_to_mem(self, addr, data, preserve_regs=None, fill_byte=b"\xff"):
687688
chain = self._try_write_plan(plan, addr, data, preserve_regs, fill_byte)
688689
if chain:
689690
return chain
690-
raise RopException(f"Cannot build badbyte-free write!")
691+
raise RopException("Cannot build badbyte-free write!")

angrop/chain_builder/reg_setter.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -707,7 +707,9 @@ def _find_add_chain(self, reg, val) -> list[RopGadget|RopBlock]:
707707
for g1 in concrete_setter_gadgets:
708708
for g2 in delta_gadgets:
709709
init_ast, final_ast = g2.concrete_reg_changes[reg]
710-
ast = claripy.algorithm.replace(expr=final_ast, old=init_ast, new=claripy.BVV(g1.concrete_regs[reg], arch_bits))
710+
ast = claripy.algorithm.replace(expr=final_ast,
711+
old=init_ast,
712+
new=claripy.BVV(g1.concrete_regs[reg], arch_bits))
711713
if ast.concrete_value != val.concreted:
712714
continue
713715
try:

tests/test_badbytes.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import angr
66
import angrop # pylint: disable=unused-import
7+
from angrop.errors import RopException
78

89
l = logging.getLogger(__name__)
910

@@ -117,7 +118,6 @@ def test_badbyte_multibyte():
117118
target = b"\x00\x00\x00\x42"
118119
chain = rop.write_to_mem(0xdeadbf00, target, fill_byte=b"\xff")
119120
state = chain.exec()
120-
endian = "little" if proj.arch.memory_endness == "Iend_LE" else "big"
121121
data = state.solver.eval(state.memory.load(0xdeadbf00, len(target)), cast_to=bytes)
122122
assert data == target
123123

@@ -139,8 +139,8 @@ def test_hard_regs_loop():
139139
rop.set_badbytes([0x00, 0x0A])
140140
start = time.time()
141141
try:
142-
chain = rop.set_regs(eax=0x4200009a, edx=0xdeadbefc)
143-
except angrop.errors.RopException:
142+
rop.set_regs(eax=0x4200009a, edx=0xdeadbefc)
143+
except RopException:
144144
pass
145145

146146
# if should take less than 0.1s, but let's be lenient here

tests/test_gadgets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import os
22

3+
import claripy
34
import angr
45
import angrop # pylint: disable=unused-import
5-
import claripy
66
from angrop.rop_gadget import RopGadget, PivotGadget, SyscallGadget
77

88
BIN_DIR = os.path.join(os.path.dirname(__file__), "..", "..", "binaries")

0 commit comments

Comments
 (0)