def register_session2(target, fuzz_data_logger, session):
#register session
Command = 0x0065
Length = 0x04
SessionHandle = 0x00000000
Status = 0x00000000
SenderContext = 0x0000000000000000
Options = 0x00000000
ProtocolVersion = 0x0001
OptionFlags = 0x0000
RegisterSessionReq = struct.pack('<hhiiqihh' , Command, Length, SessionHandle, Status, SenderContext, Options, ProtocolVersion, OptionFlags)
target.send(RegisterSessionReq)
RegisterSessionRsp = target.recv(10000)
SessionHandle = RegisterSessionRsp[4:8]
...
session.pre_send = register_session2
session.connect(s_get("Get Attribute"))
session.fuzz()
and for the attempt using pre_send_callbacks:
def register_session(target, fuzz_data_logger, session, node, edge, *args, **kwargs):
#register session
Command = 0x0065
Length = 0x04
SessionHandle = 0x00000000
Status = 0x00000000
SenderContext = 0x0000000000000000
Options = 0x00000000
ProtocolVersion = 0x0001
OptionFlags = 0x0000
RegisterSessionReq = struct.pack('<hhiiqihh' , Command, Length, SessionHandle, Status, SenderContext, Options, ProtocolVersion, OptionFlags)
target.send(RegisterSessionReq)
RegisterSessionRsp = target.recv(10000)
SessionHandle = RegisterSessionRsp[4:8]
error is:
Error!!!! A custom pre_send callback function raised an uncought error.
Traceback (most recent call last):
File "C:\Program Files\Python38\lib\site-packages\boofuzz\monitors\callback_monitor.py", line 44, in pre_send
f(target=target, fuzz_data_logger=fuzz_data_logger, session=session, sock=target)
TypeError: register_session() missing 2 required positional arguments: 'node' and 'edge'
if I remove node and edge from the parameters of the pre_callback function, my pre-request is sent but I'm not able to use the results in the nodes.