bobcc4 发表于 2022-4-9 14:03

dnSpy破解.net注册码求助

上个贴没写分析思路被删了,重开一个。
某excel插件,OD看exe里没注册信息。随后到dll里,找到大概是主程序的。首先查壳,没有壳

接着看有.net reactor类型的混淆,用de4dot去混淆后,dnspy打开是明文了。

字符串搜索 注册和successful

但这个导入证书不知道该怎么解决。


附上exe包,安装后的目录,混淆前和去除混淆后的主程序
https://wws.lanzoul.com/ipgdO02vzytc
密码:bcof

wei5383079 发表于 2022-5-19 20:13

本帖最后由 wei5383079 于 2022-5-19 20:28 编辑

慕若曦 发表于 2022-5-6 15:01
ReadLic方法有个catch,在这里可以做点儿手脚。
this._lic = new LicInfo(this.GetLicenseID(), this.Soft ...

       因为有违规发不了贴,大佬看看这个怎么改成一步到位?每次都要用Dnspy去找试用注册码。
https://www.lanzoux.com/b015bjrji提取码C90w{:1_893:}{:1_893:}
' Token: 0x06000483 RID: 1155 RVA: 0x003B7CD4 File Offset: 0x003B60D4
      Public Sub Activation(ID1 As String, ID2 As String, mDay As String, mType As String)
            Dim num As Integer
            Dim num2 As Integer
            Dim obj As Object
            Try
                ProjectData.ClearProjectError()
                num = 2
                Dim wrapper As c_Simple3Des = New c_Simple3Des("abcdefghi")
                M_Main.Reuse1 = False
                Dim flag As Boolean = Operators.CompareString(ID2, M_Main.mGetResult(ID1), False) = 1
                If flag Then(注册码输入对比弹出)
                  Interaction.MsgBox(M_Main.NumToStr("1034919758195261802523651105511461900084001350011400116001231384512136", 15), MsgBoxStyle.Information, Nothing)(弹出注册成功后边还有验证)
                  M_Main.Reuse1 = True
                  M_Main.mSaveSetting(M_Main.NewID, "")
                  M_Main.WriteT("000000")
                  M_Main.NewTime = ""
                  M_Main.mSavesetting1(M_Main.DayN, M_Main.StrToNum(mDay, 15), "Software\LeCxe")
                  M_Main.mSavesetting1(wrapper.EncryptData("REUSE"), wrapper.EncryptData(mType), "Software\LeCxe")
                  M_Main.GenerateRegistrationFile(mDay, mType)
                  M_Main.mSaveSetting("注册日期", Strings.Format(DateAndTime.Now, "yyyyMMdd"))
                Else
                  IL_D2:
                  Interaction.MsgBox(M_Main.NumToStr("131021802219019103491975812106123971979618747", 15), MsgBoxStyle.Information, Nothing)(弹出注册失败)
                End If
                GoTo IL_12C
                IL_EB:
                num2 = -1
                switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num)
                IL_FF:
            Catch obj2 When endfilter(TypeOf obj Is Exception And num <> 0 And num2 = 0)
                Dim ex As Exception = CType(obj2, Exception)
                GoTo IL_EB
            End Try
            Throw ProjectData.CreateProjectError(-2146828237)
            IL_12C:
            If num2 <> 0 Then
                ProjectData.ClearProjectError()
            End If
      End Sub
下边的是试用版注册算法过程
Public Function GetRePort(RegistCode As String) As Boolean
            Dim mDay As String = Strings.Format(DateAndTime.Now, "dd_HH")
            Dim mTmpText As String = M_Main.GetResourceText1("Excel工具.Report.ini")
            Dim flag As Boolean = Operators.CompareString(mTmpText, "", False) = 0
            Dim GetRePort As Boolean
            If Not flag Then
                Dim mTmpArr As Object = Strings.Split(mTmpText, vbCrLf, -1, CompareMethod.Binary)
                Dim Successful As Boolean = False
                Dim num As Integer = 0
                Dim num2 As Integer = Information.UBound(CType(mTmpArr, Array), 1)
                Dim i As Integer = num
                Dim mTmpArr2 As Object
                While True
                  Dim num3 As Integer = i
                  Dim num4 As Integer = num2
                  If num3 > num4 Then
                        GoTo IL_10D
                  End If
                  Dim mText As String = M_Main.NumToStr(Conversions.ToString(NewLateBinding.LateIndexGet(mTmpArr, New Object() { i }, Nothing)), 42)
                  mTmpArr2 = Strings.Split(mText, "|", -1, CompareMethod.Binary)
                  flag = Operators.ConditionalCompareObjectEqual(mDay, NewLateBinding.LateIndexGet(mTmpArr2, New Object() { 0 }, Nothing), False)
                  If flag Then
                        Exit For
                  End If
                  i += 1
                End While
                Dim flag2 As Boolean = Operators.ConditionalCompareObjectEqual(RegistCode, NewLateBinding.LateIndexGet(mTmpArr2, New Object() { 1 }, Nothing), False)
                If flag2 Then
                  Successful = True
                End If
                IL_10D:
                GetRePort = Successful
            End If
            Return GetRePort
      End Function

慕若曦 发表于 2022-5-23 23:33

wei5383079 发表于 2022-5-19 20:13
因为有违规发不了贴,大佬看看这个怎么改成一步到位?每次都要用Dnspy去找试用注册码。
https: ...

直接找终身的码呀,或者把
M_Main.Reuse1 = True
                  M_Main.mSaveSetting(M_Main.NewID, "")
                  M_Main.WriteT("000000")
                  M_Main.NewTime = ""
                  M_Main.mSavesetting1(M_Main.DayN, M_Main.StrToNum(mDay, 15), "Software\LeCxe")
                  M_Main.mSavesetting1(wrapper.EncryptData("REUSE"), wrapper.EncryptData(mType), "Software\LeCxe")
                  M_Main.GenerateRegistrationFile(mDay, mType)
                  M_Main.mSaveSetting("注册日期", Strings.Format(DateAndTime.Now, "yyyyMMdd"))
复制到自己的程序写个注册机。

云在天 发表于 2022-4-9 15:12



仔细找找吧

3yu3 发表于 2022-4-9 15:52

本帖最后由 3yu3 于 2022-4-10 14:03 编辑

想调试一下,安装后,EXCEL 2016加载不出来 , 不知道啥原因

eh2018 发表于 2022-4-9 16:40

功能看上去好强大啊,就是注册不了

dahuixiong2022 发表于 2022-4-9 18:47

gksj 发表于 2022-4-9 19:03

我觉得你应该没有看我发过的帖子
你要是看过我发的四个帖子很快就能解决问题

注册成功写注册表,你就找到引用控件的注册表方法,找个GetValue的地方,看正确返回啥你直接就IL编辑返回啥,简单省事.

gksj 发表于 2022-4-9 19:11

我大概看了一下程序里面的注册码算法,简直是不要太懒
应该直接拿程序里面的原始代码基本上不用怎么修改就能做出来注册机,呵呵额~
另外能否交流下你de4dot是怎么脱的壳,比我脱的干净啊,百思不得其解....

bobcc4 发表于 2022-4-9 19:27

gksj 发表于 2022-4-9 19:11
我大概看了一下程序里面的注册码算法,简直是不要太懒
应该直接拿程序里面的原始代码基本上不用怎么修改就 ...

谢谢!我来研究下你的帖子,并非是懒,是因为非专科,大部分都是自学的,也很少接触到这些。de4do是用的论坛的工具,链接如下:
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1595502&highlight=de4dot

gksj 发表于 2022-4-9 22:27

bobcc4 发表于 2022-4-9 19:27
谢谢!我来研究下你的帖子,并非是懒,是因为非专科,大部分都是自学的,也很少接触到这些。de4do是用的 ...

抱歉,这个授权确实有点东西,你关注一下
M*i*r*a*.dll(为了防止软件作者通过文件名搜索查找盗版加星号)
这个文件,这个文件是算法文件,你授权相关的东西都在这里面
还有我大概看了一下

M*i*r*a*Control,这个文件应该是处理界面或者算法相关的文件,因为软件操作界面控件事件有一部分是继承这个文件里面的类,所以授权也是在这里面验证的.

gksj 发表于 2022-4-10 13:43

云在天 发表于 2022-4-9 15:12
仔细找找吧

版主,我怎么找不到这个授权界面的弹出位置了?
是不是我干的位置太靠前了?


页: [1] 2 3 4
查看完整版本: dnSpy破解.net注册码求助