unit PointerscanNetworkCommands; {$mode delphi} interface uses Classes, SysUtils; //--------Network commands-------- { const //pointerscan commands //client->server commands CMD_GETSCANPARAMETERS=0; CMD_UPDATEWORKERSTATUS=1; //server->client commands CMDUPDATEREPLY_EVERYTHINGOK=0; CMDUPDATEREPLY_HEREARESOMEPATHSTOEVALUATE=1; CMDUPDATEREPLY_PLEASESENDMESOMEPATHS=2; CMDUPDATEREPLY_GOKILLYOURSELF=3; //downloader commands DCMD_GETSCANDATASIZE=0; //(): integer; DCMD_GETSCANDATA=1; //(offset: qword; chunksize: dword)->stream //rescan commands RCMD_GETPARAMS=0; //()=>baseStart: qword; baseEnd: qword; startoffsetlength: dword; startoffset: array of dword; endoffsetlength: dword; endoffset: array of dword; address: qword; forvalue: byte(bool); overwrite: bool; mustbeinrange: boolean; valuescandword: dword; valuscansingle: single; valuescansingleMax: single; valuescandouble: double; valuescandoubleMax: double ;originalptrfilenamelength: dword; originaptrfilename: string[originalptrfilenamelength]; filenamelength: dword; filename: string[filenamelength]; modulebasecount: integer modulebase: qword[modulebasecount]) RCMD_SETID=1; //(workerid)->ok: byte RCMD_GETMEMORYREGIONS=2; //() => count:dword, count*(baseaddress: qword; size: qword) RCMD_GETPAGES=3; //(Base:QWORD, count: byte) => count*(readable:BOOL, stream:bytearray) (in the order of base, base+4096, base+8192, ...) RCMD_STATUS=4; //(PointersEvaluated: qword; TotalPointersToEvaluate: qword) } const PSCONNECT_INIT=$ce; PSCMD_HELLO=0; PSCMD_YOUREINTHEQUEUE=1; PSCMD_UPDATESTATUS=2; PSCMD_AMITRUSTED=3; PSCMD_SENDPATHS=4; PSCMD_CANUPLOADRESULTS=5; PSCMD_UPLOADRESULTS=6; PSCMD_PREPAREFORMYTERMINATION=7; PSCMD_GOODBYE=8; //update reply commands: PSUPDATEREPLYCMD_DONEWSCAN=0; PSUPDATEREPLYCMD_GIVEMEYOURPATHS=1; PSUPDATEREPLYCMD_HEREARESOMEPATHS=2; PSUPDATEREPLYCMD_CURRENTSCANHASENDED=3; PSUPDATEREPLYCMD_EVERYTHINGOK=4; implementation end.