예제 #1
0
        EFuzzingReturn InternalJob()
        {
            ICrashDetector crash = null;

            try
            {
                TuringAgentArgs e = new TuringAgentArgs();
                //Agent.OnLoad(Socket, e);

                // Create detector
                crash = Agent.GetCrashDetector(Socket, e);
                if (crash == null)
                {
                    return(EFuzzingReturn.Fail);
                }

                // Run action

                Agent.OnRun(Socket, e);

                byte[]             zipData;
                EExploitableResult res;

                if (crash.IsCrashed(Socket, out zipData, out res, new ITuringMachineAgent.delItsAlive(Agent.GetItsAlive), e))
                {
                    Result = new EndTaskMessage(EFuzzingReturn.Crash)
                    {
                        ZipData           = zipData,
                        ExplotationResult = res
                    };
                    return(EFuzzingReturn.Crash);
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            finally
            {
                // Free and return
                if (crash != null && crash is IDisposable)
                {
                    ((IDisposable)crash).Dispose();
                }
                //Agent.OnFree(Socket, e);
            }
            return(EFuzzingReturn.Test);
        }
예제 #2
0
        EFuzzingReturn InternalJob()
        {
            ICrashDetector crash = null;

            try
            {
                var e = new TuringAgentArgs();
                //Agent.OnLoad(Socket, e);

                // Create detector
                crash = Agent.GetCrashDetector(Socket, e);
                if (crash == null)
                {
                    return(EFuzzingReturn.Fail);
                }

                // Run action

                Agent.OnRun(Socket, e);

                if (crash.IsCrashed(Socket, out byte[] zipData, out EExploitableResult res, new delItsAlive(Agent.GetItsAlive), e))