Changeset 785


Ignore:
Timestamp:
Oct 27, 2009, 1:29:09 AM (12 years ago)
Author:
kopal
Message:
  • some bugfixes in KeySearcher + DES
  • updated Presentation of KeySearcher with ListBox
Location:
trunk/CrypPlugins
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/DES/DES.cs

    r780 r785  
    495495            catch (Exception exception)
    496496            {
    497                 plugin.GuiLogMessage(exception.Message, NotificationLevel.Error);
    498                 plugin.GuiLogMessage(exception.StackTrace, NotificationLevel.Error);
    499497                des_algorithm = null;   // we got an exception so we do not use this object any more
     498                throw exception;
    500499            }
    501500            finally
  • trunk/CrypPlugins/KeySearcher/KeySearcher.cs

    r780 r785  
    261261                else
    262262                    valueKey.value = double.MinValue;
    263                 valueKey.key = "dummykey";
     263                valueKey.key = "dummykey";               
    264264                LinkedListNode<ValueKey> node = costList.AddFirst(valueKey);
    265265                for (int i = 1; i < maxInList; i++)
     
    274274                    return;
    275275                }
    276 
     276               
     277                int bytesToUse = 0;
    277278                double size = Pattern.initKeyIteration(settings.Key);
    278                 int bytesToUse = CostMaster.getBytesToUse();
     279               
     280                try
     281                {
     282                    bytesToUse = CostMaster.getBytesToUse();
     283                }
     284                catch (Exception ex)
     285                {
     286                    GuiLogMessage("Bytes to use not valid: " + ex.Message, NotificationLevel.Error);
     287                    return;
     288                }
    279289                string key;
    280290                double keycounter = 0;
    281291                double doneKeys = 0;
    282                 string text = "";
    283292                LinkedListNode<ValueKey> linkedListNode;
    284293
    285294                DateTime lastTime = DateTime.Now;               
    286295                do
    287                 {                   
    288                     key = Pattern.getKey();                   
    289                     byte[] decryption = sender.Decrypt(ControlMaster.getKeyFromString(key), bytesToUse);
    290 
     296                {
    291297                    valueKey = new ValueKey();
    292                     valueKey.value = CostMaster.calculateCost(decryption);
    293                     valueKey.key = key;
    294                    
     298                    try
     299                    {
     300                        valueKey.key = Pattern.getKey();
     301                    }
     302                    catch (Exception ex)
     303                    {
     304                        GuiLogMessage("Could not get next Key: " + ex.Message, NotificationLevel.Error);
     305                        return;
     306                    }
     307
     308                    try
     309                    {
     310                        valueKey.decryption = sender.Decrypt(ControlMaster.getKeyFromString(valueKey.key), bytesToUse);
     311                    }
     312                    catch (Exception ex)
     313                    {
     314                        GuiLogMessage("Decryption is not possible: " + ex.Message, NotificationLevel.Error);
     315                        return;
     316                    }
     317               
     318                    try
     319                    {
     320                        valueKey.value = CostMaster.calculateCost(valueKey.decryption);
     321                    }
     322                    catch (Exception ex)
     323                    {
     324                        GuiLogMessage("Cost calculation is not possible: " + ex.Message, NotificationLevel.Error);
     325                        return;
     326                    }
     327
    295328                    if (this.costMaster.getRelationOperator() == RelationOperator.LargerThen)
    296329                    {
    297330
    298                        node = costList.First;
    299 
     331                        node = costList.First;
    300332                        while (node != null)
    301333                        {
     
    370402                                    ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).endTime.Text = "" + DateTime.Now.Add(timeleft);
    371403                                }catch{
    372                                     ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).endTime.Text = "in a time far, far away...";
     404                                    ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).endTime.Text = "in a galaxy far, far away...";
    373405                                }
    374406                            }
     
    376408                            {
    377409                                ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).timeLeft.Text = "incalculable :-)";
    378                                 ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).endTime.Text = "in a time far, far away...";
     410                                ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).endTime.Text = "in a galaxy far, far away...";
    379411                            }
    380412                           
     
    385417
    386418                        if (QuickWatchPresentation.IsVisible)
    387                         {
    388                             text = "Calculated value/key - list:\r\n";
    389                             linkedListNode = costList.First;
    390                             while (linkedListNode != null)
    391                             {
    392                                 text += linkedListNode.Value.value + " = " + linkedListNode.Value.key + "\r\n";
    393                                 linkedListNode = linkedListNode.Next;
    394                             }
     419                        {                                                       
    395420                           
    396421                            ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    397422                            {
    398                                 ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).logging.Text = text;
     423                                ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).listbox.Items.Clear();
     424                                linkedListNode = costList.First;
     425                                System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
     426                                int i=0;
     427                                while (linkedListNode != null)
     428                                {
     429                                    i++;
     430                                    ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).listbox.Items.Add(i + ") " + Math.Round(linkedListNode.Value.value,4) + " = " + linkedListNode.Value.key + " : \"" +
     431                                        enc.GetString(linkedListNode.Value.decryption).Replace("\n","").Replace("\r", "").Replace("\t", "") + "\"");
     432                                    linkedListNode = linkedListNode.Next;
     433                                }                               
    399434                            }
    400435                            , null);
     
    402437                    }
    403438
    404                 } while (Pattern.nextKey() && !stop);               
    405                
     439                } while (Pattern.nextKey() && !stop);
     440
     441                if (QuickWatchPresentation.IsVisible)
     442                {
     443
     444                    ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     445                    {
     446                        ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).listbox.Items.Clear();
     447                        linkedListNode = costList.First;
     448                        System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
     449                        int i = 0;
     450                        while (linkedListNode != null)
     451                        {
     452                            i++;
     453                            ((KeySearcherQuickWatchPresentation)QuickWatchPresentation).listbox.Items.Add(i + ") " + Math.Round(linkedListNode.Value.value, 4) + " = " + linkedListNode.Value.key + " : \"" +
     454                                enc.GetString(linkedListNode.Value.decryption).Replace("\n", "").Replace("\r", "").Replace("\t", "") + "\"");
     455                            linkedListNode = linkedListNode.Next;
     456                        }
     457                    }
     458                    , null);
     459                }
     460
    406461            }//end if
    407462        }
     
    521576            public double value;
    522577            public String key;
     578            public byte[] decryption;
    523579        };
    524580    }
  • trunk/CrypPlugins/KeySearcher/KeySearcherQuickWatchPresentation.xaml

    r745 r785  
    22    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    33    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4     Height="300" Width="300">
    5     <Grid Background="White">
     4    MinHeight="180" MinWidth="250" Width="AUTO" Height="AUTO">
     5    <Grid Background="White" Height="AUTO" Width="AUTO">
    66        <Grid.RowDefinitions>
    77            <RowDefinition Height="20pt"/>
     
    1616        </Grid.ColumnDefinitions>
    1717
    18         <Label Grid.Row="0" Grid.Column="0" FontSize="10" Background="White" VerticalAlignment="Top" Height="28">Probable time left :</Label>
    19         <Label Grid.Row="0" Grid.Column="1" FontSize="10" Background="White" VerticalAlignment="Top" Height="28">Estimated end time :</Label>
     18        <Label Grid.Row="0" Grid.Column="0" FontSize="10" Background="White" VerticalAlignment="Top" Height="28" Width="AUTO">Probable time left :</Label>
     19        <Label Grid.Row="0" Grid.Column="1" FontSize="10" Background="White" VerticalAlignment="Top" Height="28" Width="AUTO">Estimated end time :</Label>
    2020
    2121        <TextBox Name="timeLeft" Grid.Row="1" Grid.Column="0"
    22                  TextAlignment="Center" IsReadOnly="True" TextWrapping="WrapWithOverflow" VerticalAlignment="Top" Height="26.666"/>
     22                 TextAlignment="Center" IsReadOnly="True" TextWrapping="WrapWithOverflow" VerticalAlignment="Top" Height="28"/>
    2323        <TextBox Name="endTime" Grid.Row="1" Grid.Column="1"
    24                  TextAlignment="Center" IsReadOnly="True" TextWrapping="WrapWithOverflow" VerticalAlignment="Top" Height="26.666"/>
     24                 TextAlignment="Center" IsReadOnly="True" TextWrapping="WrapWithOverflow" VerticalAlignment="Top" Height="28"/>
    2525
    26         <Label Grid.Row="2" Grid.Column="0" FontSize="10" Grid.ColumnSpan="2" Background="White">Keys per second :</Label>
     26        <Label Grid.Row="2" Grid.Column="0" FontSize="10" Grid.ColumnSpan="1" Background="White" Width="AUTO">Keys per second :</Label>
    2727
    2828        <TextBox x:Name="keysPerSecond" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"
    2929                 TextAlignment="Left"  IsReadOnly="True" TextWrapping="WrapWithOverflow"/>
    30 
    31         <Label Grid.Row="3" Grid.Column="0" FontSize="10" Grid.ColumnSpan="2" Background="White" Content="logging :"/>
    32 
    33         <ScrollViewer Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="4">
    34             <TextBox x:Name="logging"
    35                         IsReadOnly="True" TextAlignment="Left"  TextWrapping="WrapWithOverflow" Width="AUTO" Height="AUTO"/>
    36         </ScrollViewer>
     30        <!--
     31        <ScrollViewer Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="4">-->
     32            <ListBox Name="listbox" Grid.ColumnSpan="2" Grid.Row="4" />
     33        <!--</ScrollViewer>-->
    3734    </Grid>
    3835</UserControl>
  • trunk/CrypPlugins/KeySearcher/KeySearcherQuickWatchPresentation.xaml.cs

    r745 r785  
    2020    public partial class KeySearcherQuickWatchPresentation : UserControl
    2121    {
     22
    2223        public KeySearcherQuickWatchPresentation()
    2324        {
    24             InitializeComponent();
     25            InitializeComponent(); 
    2526        }
    2627    }
Note: See TracChangeset for help on using the changeset viewer.