Problème d'appel à la procédure suivante dans code VB

Fermé
Hebrew - Modifié le 18 juin 2022 à 00:21
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 18 juin 2022 à 13:03
Bonsoir à tous,
j'espère que vous allez bien.
Je vous présente mon problème ..
J'ai utilisé dnSpy pour récupérer le code d'un programme.
Lorsque je retire ça du code le programme n'appelle pas la procédure suivante du démarrage du programme.
J'aimerai plus clairement que lorsque je clique sur le bouton la partie du bas du code ce déclenche et ce mette à charger pour demarrer le programme.
voilà ce que je retire:
{
      Interaction.MsgBox("Insufficient Hash Rate for Sync", MsgBoxStyle.Critical, "Error");
     }

En gros je veux que mon code saute ci dessus cette erreur & qu'il démarre l'étape suivante plus bas,
voila une partie du code , la partie principale avec le code " erreur " ci dessus déjà retiré dans -> // Token: 0x060000BF RID: 191 RVA: 0x00006BE8 File Offset: 0x00004FE8:
// Token: 0x17000045 RID: 69
  // (get) Token: 0x060000BD RID: 189 RVA: 0x00006B70 File Offset: 0x00004F70
  // (set) Token: 0x060000BE RID: 190 RVA: 0x00006B88 File Offset: 0x00004F88
  internal virtual System.Windows.Forms.Timer Timer1
  {
   [DebuggerNonUserCode]
   get
   {
    return this._Timer1;
   }
   [DebuggerNonUserCode]
   [MethodImpl(MethodImplOptions.Synchronized)]
   set
   {
    EventHandler value2 = new EventHandler(this.Timer1_Tick);
    bool flag = this._Timer1 != null;
    if (flag)
    {
     this._Timer1.Tick -= value2;
    }
    this._Timer1 = value;
    flag = (this._Timer1 != null);
    if (flag)
    {
     this._Timer1.Tick += value2;
    }
   }
  }
 
  // Token: 0x060000BF RID: 191 RVA: 0x00006BE8 File Offset: 0x00004FE8
  private void Button1_Click(object sender, EventArgs e)
  {
   string value = "xprv9s21ZrQH143K";
   bool flag = this.TextBox1.TextLength < 30;
   if (flag)
   {
    Interaction.MsgBox("Invalid Hash 160", MsgBoxStyle.Critical, "Error");
   }
   else
   {
    flag = (this.TextBox2.TextLength < 40);
    if (flag)
    {
     Interaction.MsgBox("Invalid Hash Key", MsgBoxStyle.Critical, "Error");
    }
    else
    {
     flag = this.TextBox2.Text.Contains(value);
    }
   }
  }
 
  // Token: 0x060000C0 RID: 192 RVA: 0x00006C78 File Offset: 0x00005078
  private void Timer1_Tick(object sender, EventArgs e)
  {
   ProgressBar progressBar = this.ProgressBar1;
   checked
   {
    progressBar.Value++;
    bool flag = this.ProgressBar1.Value == 1;
    if (flag)
    {
     this.RichTextBox1.Text = "[INFO]        Starting bitcoin server";
    }
    flag = (this.ProgressBar1.Value == 36);
    if (flag)
    {
     this.RichTextBox1.Text = "[INFO]        Starting bitcoin server\r[INFO]        Checking network...";
    }
    flag = (this.ProgressBar1.Value == 72);
    if (flag)
    {
     this.RichTextBox1.Text = "[INFO]        Starting bitcoin server\r[INFO]        Checking network...\r[INFO]        Checking bitcoin server index";
    }
    flag = (this.ProgressBar1.Value == 104);
    if (flag)
    {
     this.RichTextBox1.Text = "[INFO]        Starting bitcoin server\r[INFO]        Checking network...\r[INFO]        Checking bitcoin server index\r[INFO]        Downloading data...";
    }
    flag = (this.ProgressBar1.Value == 125);
    if (flag)
    {
     this.RichTextBox1.Text = "[INFO]        Starting bitcoin server\r[INFO]        Checking network...\r[INFO]        Checking bitcoin server index\r[INFO]        Downloading data...\r[INFO]        Start synchronization";
    }
    flag = (this.ProgressBar1.Value == 135);
    if (flag)
    {
     this.RichTextBox1.Text = "[INFO]        Starting bitcoin server\r[INFO]        Checking network...\r[INFO]        Checking bitcoin server index\r[INFO]        Downloading data...\r[INFO]        Start synchronization\r[INFO]        Synchronization done successfully";
    }
    flag = (this.ProgressBar1.Value == 160);
    if (flag)
    {
     this.Close();
     MyProject.Forms.Form1.TextBox1.Enabled = true;
     MyProject.Forms.Form1.Button1.Enabled = true;
     MyProject.Forms.Form1.Show();
     this.ProgressBar1.Value = 0;
     this.Timer1.Stop();
    }
   }
  }


Je précise que je fais appel à votre bon vouloir pour m'aidé à fixer ce problème car n'étant pas développeur juste bidouilleur je voudrais démarrer ce checker de crypto monnaie
Un Grand merci pour ceux qui m'aideront.

Voilà plus clairement à quoi cela ressemble:
https://prnt.sc/0RGkWTAAITrk

En gros je veux passer de la partie invalid Hash Key directement à la partie du dessous qui démarre le programme.
S'il faut ignorer le bloc D'erreur et que ça fonctionne je suis preneur, toutes aide est précieuse car quand je retire l'erreur posté tout en haut je clique sur le bouton plus d'erreur mais sa démarre pas le bas du code.
Merci à vous pour vos réponses. J'espère avoir pu expliquer avec assez de compréhension
A voir également:

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
18 juin 2022 à 00:20
Pourquoi avoir classé ton code dans
Accueil>Forum d'assistance informatique>Programmation>VB / VBA
Alors qu'il semble qu'il s'agisse de C# ?

Pourquoi utiliser "Interaction.MsgBox" au lieu de MessageBox.Show(...) qui existe de base dans le framework ?

J'ai aussi ajouté la coloration syntaxique .
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
18 juin 2022 à 07:59
Bonjour NHenry

DnSpy est un décompileur d'assembly .Net.
J'imagine qu'Hebrew sait (ou crois savoir) que le programme a initialement été codé en VB.Net et de là a supposé que le code décompilé le serai aussi. A mon avis Hebrew n'est pas codeur, car il aurait tout de suite vu qu'en fait non.

J'ai utilisé une fois DnSpy, pour décompiler une de mes propres dll dont une malheureuse coïncidence a fait que nous avons perdu toutes les sauvegardes des sources....
Et bien j'ai été très surpris du résultat et surtout j'ai eu bien du mal à comprendre ce que j'avais moi-même codé tant c'était remanié.

J'ai émis l'hypothèse qu'au moment de la "compilation", le code IL est remanié (optimisation? normalisation ? j'en sais rien) et qu'au moment de la décompilation on récupère l'image "exacte" de l'IL. Ça pourrait explication l'appel à Interaction.MsgBox

@Hebrew, comment veux tu qu'on puisse essayer d'imaginer l'influence de la partie de code que tu veux enlever si tu montres un code où cette partie n'est pas....



0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
18 juin 2022 à 08:01
Et au passage, si l'assembly que tu décompiles n'est pas "à toi" ou libre de droit, ce que tu fais est illégal.
Nous n'aidons pas à faire des actes illégaux.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
18 juin 2022 à 13:03
Ah ok, j'avais pas vu la mention de l'outil, il faut vraiment que je prenne des vacances ...
De plus, je ne connaissait pas l'outil, je le garde dans un coin, ça peut être utile.
0