Пример #1
0
 public static void SetPackerPluginCallbacks(ChangeVolCallback changeVol, ChangeVolCallbackW changeVolW, ProcessDataCallback processData, ProcessDataCallbackW processDataW, PkCryptCallback crypt, PkCryptCallbackW cryptW)
 {
     if (changeVolCallback == null)
     {
         changeVolCallback = changeVol;
     }
     if (changeVolCallbackW == null)
     {
         changeVolCallbackW = changeVolW;
     }
     if (processDataCallback == null)
     {
         processDataCallback = processData;
     }
     if (processDataCallbackW == null)
     {
         processDataCallbackW = processDataW;
     }
     if (pkCryptCallback == null)
     {
         pkCryptCallback = crypt;
     }
     if (pkCryptCallbackW == null)
     {
         pkCryptCallbackW = cryptW;
     }
 }
Пример #2
0
        public static void SetCryptCallback(PkCryptCallback cryptProc, int cryptNumber, int flags)
        {
            callSignature = String.Format("PkSetCryptCallback ({0}, {1})", cryptNumber, flags);
            try {
                TcCallback.SetPackerPluginCallbacks(null, null, null, null, cryptProc, null);
                Plugin.CreatePassword(cryptNumber, flags);

                TraceCall(TraceLevel.Info,
                          cryptProc.Method.MethodHandle.GetFunctionPointer().ToString());
            } catch (Exception ex) {
                ProcessException(ex);
            }
        }