吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3648|回复: 81

[原创逆向图文] Setup IDBE Ribbon Creator2022_x64_V1.1001汇编分析IL代码

  [复制链接]
zyyujq 发表于 2022-5-27 01:13 | 显示全部楼层 |阅读模式

运行环境:WIN10、WIN11
涉及工具:ExeinfoPe,de4dot,dnSpy,x64dbg
教程类型:汇编取消限制,算法分析等
是否讲解思路和原理:

以下为图文内容:
Ribbon Creator是所见所得的 Office 功能区编辑器工具
      RibbonCreator是用于开发功能区的WYSIWYG接口。RibbonCreator是在VB2005中开发的,需要.NET Framework 2.0版 .
      对于Microsoft Access 2007、Microsoft Excel 2007、Microsoft Word 2007
      RibbonCreator 2010 对于 Microsoft Access 2010、Excel 2010、PowerPoint 2010、Word 2010
      RibbonCreator 2016 对于 Microsoft Access 2013 & 2016、Microsoft Excel 2013 & 2016、Microsoft Word 2013 & 2016、Microsoft PowerPoint 2013 & 2016
      RibbonCreator 2019 对于 Microsoft Access 2019、Excel 2019、PowerPoint 2019、Word 2019
      RibbonCreator 2021 对于 Microsoft Access 2021、Excel 2021、PowerPoint 2021、Word 2021
它支持为以下控件创建自定义功能区:
             标签,组,对话框启动器,标签,按钮(大或小),切换按钮(大或小),编辑框,复选框,下拉控件,组合框控件,按钮组按钮和切换按钮,拆分按钮(大或小),
             画廊(大或小),菜单(大或小),动态菜单(大或小)和分隔符(在带有文本的菜单中)
      您可以使用适当的对话框(Office IdMso内部图像)为控件选择图像。此外,还可以选择功能区控件的用户定义图像并将其写入Access数据库中的表中。
      您可以为支持此功能的控件创建屏幕提示、超级提示和按键提示。

      共享版本限制了Office自定义 2个 TAB菜单、5个组合框、10个控件。

fakename.png

官方下载:
RibbonCreator 2021:
https://www.ribboncreator2021.de/downloads/Setup IDBE Ribbon Creator2021_V1.1001.zip

https://www.ribboncreator2021.de/downloads/Setup IDBE Ribbon Creator2021_x64_V1.1001.zip

RibbonCreator 2019:
https://www.ribboncreator2019.de/downloads/Setup IDBE Ribbon Creator2019_V1.1006.zip

https://www.ribboncreator2019.de/downloads/Setup IDBE Ribbon Creator2019_x64_V1.1006.zip

RibbonCreator 2016:
https://www.ribboncreator2016.de/downloads/Setup IDBE Ribbon Creator2016_V1.1006.zip

https://www.ribboncreator2016.de/downloads/Setup IDBE Ribbon Creator2016_x64_V1.1006.zip

RibbonCreator 2010:
https://www.ribboncreator2010.de/downloads/SetupRC2010_1.1017.zip

RibbonCreator 2007:
https://www.ribboncreator.de/downloads/SetupRC1.1041.zip


汇编分析:
下载安装 RibbonCreator 2021 X64,主程序为 Ribbon2021.exe,
使用 ExeinfoPe 侦测为 .net 程序。使用 dnSpy 打开程序发现程序混淆处理。
fakename.png

使用 de4dot 脱壳,

fakename.png

按数字/字符串搜索 SHAREWARE 后,在其中查找 2、5、10关键字,匹配特征

搜索到 Ribbon2021.Form1.AddMRU 过程 和Ribbon2021.Form1.CheckControls 函数 中有 SHAREWARE 内容:

在 Form1.AddMRU 过程中有下面代码,如果修改  Not Class22.smethod_19(True) 为 Class22.smethod_19(True),则不显示共享字符 SHAREWARE,即Class22.smethod_19(True)是关键布尔值函数。

            If Not Class22.smethod_19(True) Then
                Me.Text = strCaption + " - SHAREWARE - " + strNewFile
                Return
            End If
            Me.Text = strCaption + " - " + strNewFile


在Ribbon2021.Form1.CheckControls 函数中,分析Class10.bool_19 应为 True 才不是共享软件的限制。 False为限制。查找该布尔开关Class10.bool_19的函数过程
Public Function CheckControls() As Boolean
        Dim result As Boolean
        If Class10.bool_19 Then
                result = True
        Else
                Dim str As String = Class7.smethod_41()
                Dim str2 As String = Class7.smethod_43()
                If Class10.int_6 <= 9 Then
                        result = True
                Else
                        Interaction.MsgBox("SHAREWARE: " + str + " 10 " + str2, MsgBoxStyle.Information, Class10.string_20)
                        result = False
                End If
        End If
        Return result
End Function


初步断定,Class22.smethod_19(True) Class10.bool_19 是关键布尔值,为 True 就破除了共享软件的限制。

在 dnSpy 程序中,点击Form1.AddMRU 过程中的 Class22.smethod_19(True),进入此过程。
Public Function smethod_19(Optional bool_0 As Boolean = False) As Boolean
        Dim num As Integer = Class13.smethod_17()
        Dim num2 As Integer = Class13.smethod_18()
        Dim text As String = Application.StartupPath
        If Not text.EndsWith("\") Then
                text += "\"
        End If
        Dim text2 As String = Class17.smethod_2()
        If Operators.CompareString(text2, "", False) <> 0 Then
                text2 = Class17.smethod_1(text2)
                If num = 1 Then
                        Interaction.MsgBox(text2, MsgBoxStyle.OkOnly, Nothing)
                End If
        Else
                text2 = ""
        End If
        Dim result As Boolean
        If Strings.InStr(text2, "joshtewalt@msn.com", CompareMethod.Binary) > 0 Then
                result = False
        ElseIf Strings.InStr(text2, "kondorosy.csanad@gmail.com", CompareMethod.Binary) > 0 Then
                result = False
        ElseIf Strings.InStr(text2, "dimitriska@gmail.com", CompareMethod.Binary) > 0 Then
                result = False
        ElseIf Strings.InStr(text2, "ednardo.mail@gmail.com", CompareMethod.Binary) > 0 Then
                result = False
        ElseIf Operators.CompareString(text2, "", False) <> 0 Then
                Dim value As String = Strings.Left(text2, 1)
                Dim num3 As Integer
                Try
                        ' The following expression was wrapped in a checked-expression
                        num3 = CInt(Conversions.ToLong(value))
                        If num = 1 Then
                                Interaction.MsgBox(text + Class10.string_19, MsgBoxStyle.OkOnly, Nothing)
                        End If
                        If Operators.CompareString(FileSystem.Dir(text + Class10.string_19, FileAttribute.Normal), "", False) = 0 Then
                                If Not bool_0 Then
                                        Using frmLicFehlt As frmLicFehlt = New frmLicFehlt()
                                                frmLicFehlt.ShowDialog()
                                        End Using
                                End If
                                Return False
                        End If
                        If num = 1 Then
                                Interaction.MsgBox("Lig.ga is available", MsgBoxStyle.OkOnly, Nothing)
                        End If
                Catch ex As Exception
                        Return False
                End Try
                Dim num4 As Integer = Conversions.ToInteger(Class10.CkTaiTnuSv)
                If num3 >= num4 Then
                        result = True
                        result = (Strings.InStr(text2, "HeLL 2008", CompareMethod.Binary) = 0 And Strings.InStr(text2, "=", CompareMethod.Binary) = 0)
                        If num2 = 0 Then
                                If Class10.bool_18 Then
                                        If Operators.CompareString(FileSystem.Dir(text + Class10.string_19, FileAttribute.Normal), "", False) <> 0 Then
                                                If num = 1 Then
                                                        Interaction.MsgBox("Lig.ga = " + Class22.smethod_60(text + Class10.string_19).ToString(), MsgBoxStyle.OkOnly, Nothing)
                                                End If
                                                result = Class22.smethod_60(text + Class10.string_19)
                                        Else
                                                result = False
                                        End If
                                End If
                        ElseIf num = 1 Then
                                Interaction.MsgBox("No check of the Lic.ga file", MsgBoxStyle.OkOnly, Nothing)
                        End If
                Else
                        result = False
                End If
        Else
                result =  False  '鼠标右键,进入编辑IL指令,ide.i4.0修改为ide.i4.1,result =  True,即为注册
        End If
        Return result
End Function


查找 Class10.bool_19 ,发现 frmOptions.CheckLic 中有此字符。很明显,frmOptions.CheckLic 就是证书验证注册过程:
Public Sub CheckLic()
        Dim flag As Boolean = False
        Dim flag2 As Boolean = True
        Dim num As Integer = Class13.smethod_17()
        Dim num2 As Integer = Class13.smethod_18()
        Dim text As String = Application.StartupPath
        If Not text.EndsWith("\") Then
                text += "\"
        End If
        Me.lblWarning.Visible = False
        If Operators.CompareString(Me.txtLicence.Text, "", False) <> 0 Then
                Try
                        Me.lblWarning.Visible = False
                        Dim text2 As String = Class17.smethod_1(Me.txtLicence.Text)
                        If num = 1 Then
                                Interaction.MsgBox(text2, MsgBoxStyle.OkOnly, Nothing)
                        End If
                        If Strings.InStr(text2, "joshtewalt@msn.com", CompareMethod.Binary) > 0 Then
                                flag = False
                        ElseIf Strings.InStr(text2, "ednardo.mail@gmail.com", CompareMethod.Binary) > 0 Then
                                flag = False
                        Else
                                Dim text3 As String = Strings.Left(text2, 1)
                                If num = 1 Then
                                        Interaction.MsgBox(text3, MsgBoxStyle.OkOnly, "License version")
                                End If
                                Dim num3 As Integer
                                Try
                                        num3 = Conversions.ToInteger(text3)
                                Catch ex As Exception
                                        flag = False
                                        GoTo IL_23F
                                End Try
                                Dim num4 As Integer = Conversions.ToInteger(Class10.CkTaiTnuSv)
                                If num2 = 1 AndAlso Operators.CompareString(FileSystem.Dir(text + Class10.string_19, FileAttribute.Normal), "", False) = 0 Then
                                        Using frmLicFehlt As frmLicFehlt = New frmLicFehlt()
                                                frmLicFehlt.ShowDialog(Me)
                                        End Using
                                        flag2 = False
                                        flag = False
                                ElseIf num3 >= num4 Then
                                        flag = True
                                        If Strings.InStr(text2, "HeLL 2008", CompareMethod.Binary) = 0 And Strings.InStr(text2, "=", CompareMethod.Binary) = 0 Then
                                                flag = True
                                                If num2 = 0 Then
                                                        If Class10.bool_18 Then
                                                                If num = 1 Then
                                                                        Interaction.MsgBox("1. Lig.ga = " + Class22.smethod_60(text + Class10.string_19).ToString(), MsgBoxStyle.OkOnly, Nothing)
                                                                End If
                                                                If Operators.CompareString(FileSystem.Dir(text + Class10.string_19, FileAttribute.Normal), "", False) <> 0 Then
                                                                        If num = 1 Then
                                                                                Interaction.MsgBox("2. Lig.ga = " + Class22.smethod_60(text + Class10.string_19).ToString(), MsgBoxStyle.OkOnly, Nothing)
                                                                        End If
                                                                        flag = Class22.smethod_60(text + Class10.string_19)
                                                                Else
                                                                        flag = False
                                                                End If
                                                        End If
                                                ElseIf num = 1 Then
                                                        Interaction.MsgBox("No check of the Lic.ga file", MsgBoxStyle.OkOnly, Nothing)
                                                End If
                                        Else
                                                flag = False
                                        End If
                                Else
                                        flag = False
                                End If
                        End If
                        IL_23F:
                        If flag Then
                                Class17.smethod_4(Me.txtLicence.Text)
                                Dim text4 As String = Strings.Mid(text2, 3)
                                Me.txtLicenceName.Text = text4
                                Me.txtLicenceName.Visible = True
                                Me.lblAddLicence.Visible = False
                                Me.txtLicence.Visible = False
                                Me.btnAddLicence.Visible = False
                                Me.btnBuy.Visible = False
                                Me.btnSelectFiles.Visible = False
                                Class10.bool_19 = True
                        Else
                                Class10.bool_19 = False
                        End If
                        GoTo IL_2F4
                Catch ex2 As Exception
                        Class10.bool_19 = False
                        GoTo IL_2F4
                End Try
        End If
        If flag2 Then
                Me.lblWarning.Visible = True  '编辑IL指令,ide.i4.1修改为ide.i4.0,Me.lblWarning.Visible =False,不显示警告,即为注册
        End If
        Me.txtLicence.Text = ""
        IL_2F4:
        If Operators.CompareString(Me.txtLicenceName.Text, Me.string_0, False) = 0 Then
                If flag2 Then
                        Me.lblWarning.Visible = True '编辑IL指令,ide.i4.1修改为ide.i4.0,Me.lblWarning.Visible = False,不显示警告,即为注册
                End If
                Me.txtLicence.Text = ""
                Class10.bool_19 =  False  '编辑IL指令,ide.i4.0修改为ide.i4.1,Class10.bool_19 =  True,即为注册
        End If
End Sub


保存 Ribbon2021.exe 模块,程序已经逆向,但注册名为空。
在 frmOptions.method_3中   改:text = "这是完整注册版:洞庭鱼",显示注册名。
Private Sub method_3()
        Me.string_0 = "SHAREWARE" & vbCrLf & vbCrLf & " · 2 Tabs" & vbCrLf & " · 3 Groups" & vbCrLf & " · 10 Controls"
        Me.lblWarning.Visible = False
        Dim text As String = Class17.smethod_2()
        If Operators.CompareString(text, "", False) <> 0 Then
                text = Class17.smethod_1(text)
        Else
                text = ""    '编辑IL指令,在""中加入字符  这是完整注册版:洞庭鱼
        End If
        If Class10.bool_19 Then
                Strings.Left(text, 1)
                If Class10.bool_19 Then
                        Dim text2 As String = Strings.Mid(text, 3)
                        Me.txtLicenceName.Text = text2
                        Me.txtLicenceName.Visible = True
                        Me.lblAddLicence.Visible = False
                        Me.txtLicence.Visible = False
                        Me.btnAddLicence.Visible = False
                        Me.btnBuy.Visible = False
                        Me.btnSelectFiles.Visible = False
                Else
                        Dim text2 As String = Me.string_0
                        Me.txtLicenceName.Text = text2
                        Me.txtLicenceName.Visible = True
                        Me.lblAddLicence.Visible = True
                        Me.txtLicence.Visible = True
                        Me.btnAddLicence.Visible = True
                        Me.btnBuy.Visible = True
                        Me.btnSelectFiles.Visible = True
                End If
        Else
                Dim text2 As String = Me.string_0
                Me.txtLicenceName.Text = text2
                Me.txtLicenceName.Visible = True
                Me.lblAddLicence.Visible = True
                Me.txtLicence.Visible = True
                Me.btnAddLicence.Visible = True
                Me.btnBuy.Visible = True
                Me.btnSelectFiles.Visible = True
        End If
        Me.OkButton.Focus()
End Sub

现在已经完美PJ注册了。


以上是在使用 de4dot 脱壳后PJ程序的,若不脱壳,可以直接使用 dnSpy 或 x64dbg 进行分析调试修改:
1、直接使用 dnSpy 打开未脱壳 Ribbon2021.exe,按上述同样方法进入 Ribbon2021.Form1.AddMRU 模块最后有:
        If Not LFGPTTVcnyR0TrfPkp.Bca0OOf2Zm(True) Then
            
Me.Text = str + jsVuxH0K1keS75PDDNW.USUDEwbkFu(897094) + strNewFile
            
Return
        
End If
        
Me.Text = str + jsVuxH0K1keS75PDDNW.USUDEwbkFu(897128) + strNewFile
      点击 Bca0OOf2Zm(True) 进入此过程:
        Public Function Bca0OOf2Zm(Optional \u0020 As Boolean = False) As Boolean
            
Dim num As Integer = yVf3MXWbheppAomy6U.w6Uf5xH49F()
            
Dim num2 As Integer = yVf3MXWbheppAomy6U.nY2fFwc47d()
            
Dim text As String = Application.StartupPath
            
If Not text.EndsWith(jsVuxH0K1keS75PDDNW.USUDEwbkFu(0)) Then
               
text += jsVuxH0K1keS75PDDNW.USUDEwbkFu(0)
            
End If
            
Dim text2 As String = AQWbL0tIS1ots0GARC.LOFO9fZvtd()
            
If Operators.CompareString(text2, "", False) <> 0 Then
               
text2 = AQWbL0tIS1ots0GARC.WyFOXEbK6s(text2)
               
If num = 1 Then
                    
Interaction.MsgBox(text2, MsgBoxStyle.OkOnly, Nothing)
               
End If
            
Else
               
text2 = ""
            
End If
            
Dim result As Boolean
            
If Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985850), CompareMethod.Binary) > 0 Then
               
result = False
            
ElseIf Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(1168428), CompareMethod.Binary) > 0 Then
               
result = False
            
ElseIf Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(1168484), CompareMethod.Binary) > 0 Then
               
result = False
            
ElseIf Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985890), CompareMethod.Binary) > 0 Then
               
result = False
            
ElseIf Operators.CompareString(text2, "", False) <> 0 Then
               
Dim value As String = Strings.Left(text2, 1)
               
Dim num3 As Integer
               
Try
                    
' The following expression was wrapped in a checked-expression
                    
num3 = CInt(Conversions.ToLong(value))
                    
If num = 1 Then
                        
Interaction.MsgBox(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3, MsgBoxStyle.OkOnly, Nothing)
                    
End If
                    
If Operators.CompareString(FileSystem.Dir(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3, FileAttribute.Normal), "", False) = 0 Then
                        
If Not \u0020 Then
                           
Using frmLicFehlt As frmLicFehlt = New frmLicFehlt()
                                
frmLicFehlt.ShowDialog()
                           
End Using
                        
End If
                        
Return False
                    
End If
                    
If num = 1 Then
                        
Interaction.MsgBox(jsVuxH0K1keS75PDDNW.USUDEwbkFu(1168528), MsgBoxStyle.OkOnly, Nothing)
                    
End If
               
Catch ex As Exception
                    
Return False
               
End Try
               
Dim num4 As Integer = Conversions.ToInteger(GQWPXEyGMYorsw1YN4.CkTaiTnuSv)
               
If num3 >= num4 Then
                    
result = True
                    
result = (Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985972), CompareMethod.Binary) = 0 And Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985994), CompareMethod.Binary) = 0)
                    
If num2 = 0 Then
                        
If GQWPXEyGMYorsw1YN4.AO2aQASEFy Then
                           
If Operators.CompareString(FileSystem.Dir(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3, FileAttribute.Normal), "", False) <> 0 Then
                                
If num = 1 Then
                                    
Interaction.MsgBox(jsVuxH0K1keS75PDDNW.USUDEwbkFu(1168570) + LFGPTTVcnyR0TrfPkp.VKv03H9xsp(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3).ToString(), MsgBoxStyle.OkOnly, Nothing)
                                
End If
                                
result = LFGPTTVcnyR0TrfPkp.VKv03H9xsp(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3)
                           
Else
                                
result = False
                           
End If
                        
End If
                    
ElseIf num = 1 Then
                        
Interaction.MsgBox(jsVuxH0K1keS75PDDNW.USUDEwbkFu(986056), MsgBoxStyle.OkOnly, Nothing)
                    
End If
               
Else
                    
result = False
               
End If
            
Else
               
result = False  ‘鼠标点此,右键进入在十六进制编辑器中显示指令
            
End If
            
Return result
        
End Function


十六进制编辑器中显示指令:AE 00 00 0A 26 38 02 00 00 00 16 0A 06 2A 00 00 00 01 1C 00 00 02 00   在16上,鼠标右键选择用字节填充选择,将 16 改为 17 ,即 result = True
fakename.png

同理,在 Ribbon2021.frmOptions.CheckLic()
Public Sub CheckLic()
   
If jsVuxH0K1keS75PDDNW.YXWD4k2ZvC(1928) Then
        
Dim flag As Boolean = False
        
Dim flag2 As Boolean = True
        
Dim num As Integer = yVf3MXWbheppAomy6U.w6Uf5xH49F()
        
Dim num2 As Integer = yVf3MXWbheppAomy6U.nY2fFwc47d()
        
Dim text As String = Application.StartupPath
        
If Not text.EndsWith(jsVuxH0K1keS75PDDNW.USUDEwbkFu(0)) Then
            
text += jsVuxH0K1keS75PDDNW.USUDEwbkFu(0)
        
End If
        
Me.lblWarning.Visible = False
        
If Operators.CompareString(Me.txtLicence.Text, "", False) <> 0 Then
            
Try
               
Me.lblWarning.Visible = False
               
Dim text2 As String = AQWbL0tIS1ots0GARC.WyFOXEbK6s(Me.txtLicence.Text)
               
If num = 1 Then
                    
Interaction.MsgBox(text2, MsgBoxStyle.OkOnly, Nothing)
               
End If
               
If Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985850), CompareMethod.Binary) > 0 Then
                    
flag = False
               
ElseIf Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985890), CompareMethod.Binary) > 0 Then
                    
flag = False
               
Else
                    
Dim text3 As String = Strings.Left(text2, 1)
                    
If num = 1 Then
                        
Interaction.MsgBox(text3, MsgBoxStyle.OkOnly, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985938))
                    
End If
                    
Dim num3 As Integer
                    
Try
                        
num3 = Conversions.ToInteger(text3)
                    
Catch ex As Exception
                        
flag = False
                        
GoTo IL_2D9
                    
End Try
                    
Dim num4 As Integer = Conversions.ToInteger(GQWPXEyGMYorsw1YN4.CkTaiTnuSv)
                    
If num2 = 1 AndAlso Operators.CompareString(FileSystem.Dir(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3, FileAttribute.Normal), "", False) = 0 Then
                        
Using frmLicFehlt As frmLicFehlt = New frmLicFehlt()
                           
frmLicFehlt.ShowDialog(Me)
                        
End Using
                        
flag2 = False
                        
flag = False
                    
ElseIf num3 >= num4 Then
                        
flag = True
                        
If Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985972), CompareMethod.Binary) = 0 And Strings.InStr(text2, jsVuxH0K1keS75PDDNW.USUDEwbkFu(985994), CompareMethod.Binary) = 0 Then
                           
flag = True
                           
If num2 = 0 Then
                                
If GQWPXEyGMYorsw1YN4.AO2aQASEFy Then
                                    
If num = 1 Then
                                       
Interaction.MsgBox(jsVuxH0K1keS75PDDNW.USUDEwbkFu(986000) + LFGPTTVcnyR0TrfPkp.VKv03H9xsp(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3).ToString(), MsgBoxStyle.OkOnly, Nothing)
                                    
End If
                                    
If Operators.CompareString(FileSystem.Dir(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3, FileAttribute.Normal), "", False) <> 0 Then
                                       
If num = 1 Then
                                            
Interaction.MsgBox(jsVuxH0K1keS75PDDNW.USUDEwbkFu(986028) + LFGPTTVcnyR0TrfPkp.VKv03H9xsp(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3).ToString(), MsgBoxStyle.OkOnly, Nothing)
                                       
End If
                                       
flag = LFGPTTVcnyR0TrfPkp.VKv03H9xsp(text + GQWPXEyGMYorsw1YN4.Mp1aIbevE3)
                                    
Else
                                       
flag = False
                                    
End If
                                
End If
                           
ElseIf num = 1 Then
                                
Interaction.MsgBox(jsVuxH0K1keS75PDDNW.USUDEwbkFu(986056), MsgBoxStyle.OkOnly, Nothing)
                           
End If
                        
Else
                           
flag = False
                        
End If
                    
Else
                        
flag = False
                    
End If
               
End If
               
IL_2D9:
               
If flag Then
                    
AQWbL0tIS1ots0GARC.fRROUwIPGM(Me.txtLicence.Text)
                    
Dim text4 As String = Strings.Mid(text2, 3)
                    
Me.txtLicenceName.Text = text4
                    
Me.txtLicenceName.Visible = True
                    
Me.lblAddLicence.Visible = False
                    
Me.txtLicence.Visible = False
                    
Me.btnAddLicence.Visible = False
                    
Me.btnBuy.Visible = False
                    
Me.btnSelectFiles.Visible = False
                    
GQWPXEyGMYorsw1YN4.UIFa2PcyIT = True
               
Else
                    
GQWPXEyGMYorsw1YN4.UIFa2PcyIT = False
               
End If
               
GoTo IL_39D
            
Catch ex2 As Exception
               
GQWPXEyGMYorsw1YN4.UIFa2PcyIT = False
               
GoTo IL_39D
            
End Try
        
End If
        
If flag2 Then
            
Me.lblWarning.Visible = True ‘鼠标点此,右键进入在十六进制编辑器中显示指令,02 6F BE 0D 00 06 17 6F 17 01 00 0A 02 6F 2C 0E,鼠标右键选择用字节填充选择,17 改为 16, = False
        End If
        
Me.txtLicence.Text = ""
        
IL_39D:
        
If Operators.CompareString(Me.txtLicenceName.Text, Me.OvaiXCqJKd, False) = 0 Then
            
If flag2 Then
               
Me.lblWarning.Visible = True ‘鼠标点此,右键进入在十六进制编辑器中显示指令,02 6F BE 0D 00 06 17 6F 17 01 00 0A 02 6F 2C 0E,鼠标右键选择用字节填充选择,17 改为 16, = False
            End If
            
Me.txtLicence.Text = ""
            
GQWPXEyGMYorsw1YN4.UIFa2PcyIT = False ‘鼠标点此,右键进入在十六进制编辑器中显示指令,0A 16 80 78 00 00 04 2A 00 41 4C,鼠标右键选择用字节填充选择,16 改为 17, = True
        End If
   
End If
End Sub


完成不脱壳PJ程序


2、使用 x64dbg 或 UltraEdit 直接打开未脱壳源文件,搜索以下特征码,将16改17,17改16,即可PJ程序。
AE 00 00 0A 26 38 02 00 00 00 16 0A 06 2A 00 00 00 01 1C 00 00 02 00
02 6F BE 0D 00 06 17 6F 17 01 00 0A 02 6F 2C 0E
0A 16 80 78 00 00 04 2A 00 41 4C


评分

参与人数 21威望 +1 HB +37 THX +9 收起 理由
再来壹瓶 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
消逝的过去 + 1
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
Jawon + 2
一路走来不容易 + 1
Cerolluo + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
459121520 + 1
尘埃阿 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
行行行行行行 + 1
爱汇编爱汇编 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
风里去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
yexing + 1
飞刀梦想 + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
xgbnapsua + 1
l278785481 + 1
Wayne + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
hbyaojing + 1
temp + 1 + 1
米沫 + 1
Shark恒 + 1 + 20 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
YKkUuXp10 发表于 2022-5-27 07:56 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
AjI9634 发表于 2022-5-27 09:20 | 显示全部楼层

感谢楼主的热心分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
XeTI3 发表于 2022-5-27 09:27 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
eoCqP 发表于 2022-5-27 09:30 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
YDoJpBwEuh 发表于 2022-5-27 09:34 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ByEij534 发表于 2022-5-27 09:36 | 显示全部楼层

太好了,我看看,谢谢!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
sKmUGeBk 发表于 2022-5-27 09:51 | 显示全部楼层

谢谢!看起来就比较高大上
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
LQpJlqFNXxE 发表于 2022-5-27 10:05 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
JoHCmIh6457 发表于 2022-5-27 10:10 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表