首页
社区
课程
招聘
[原创]助理工程帅.net软件分析
发表于: 2009-11-15 22:42 5844

[原创]助理工程帅.net软件分析

2009-11-15 22:42
5844
【文章标题】: 助理工程帅.net软件分析
【文章作者】: wyh1983 神猪
【作者邮箱】: 470913444@qq.com
【软件名称】: 助理工程师
【软件大小】: 1.15M
【下载地址】: 自己搜索下载
【加壳方式】: 未加壳
【编写语言】: Microsoft Visual C# / Basic .NET
【使用工具】: PEID Reflector vb6
【操作平台】: XP
【软件介绍】: 一个助理工程师软件 软件运行好象还要连接一个硬件设备
【作者声明】: 因没有实际调试过.NET程序所以研究一下比较简单,没有其他目的。失误之处敬请诸位大侠赐教!我的软件是朋友传过来的,没从网上搜过,不知道有没有下载的
--------------------------------------------------------------------------------
【详细过程】
  查壳:Microsoft Visual C# / Basic .NET   天下无壳~~~~~~~~~
  
  OD是垦定不行了.准备.NET调试工具Reflector   
  
  软件运行后,直接弹出"未注册'窗口,确定后直接关闭.很绝啊~~~~~
  
  发现软件目录里有一个文件叫reg.reg 呵呵.打开看了一下,上面只有一组23315508010645859755855256975372585260 呵呵,估计是二进制代码吧?
  
  试着把这个文件改下名,再运行软件,晕,软件能找开了,没有未注册提示了,但是软件运行后,字体和文字显示不全,而且有错误提示.
  
  管它呢.先调试吧.
  
  运行Reflector   ,载入软件,找到助理工程师,找到 form_load事件.因为程序运行就有未注册,所以从这里下手了.用VB代码显示
  找到代码如下
      Dim str4 As String   定义变量
      Dim str6 As String   定义变量
      If ((Me.Width < 900) Or (Me.Width > &H47F)) Then    分辨率
          Interaction.MsgBox(ChrW(35831) & ChrW(23558) & ChrW(20998) & ChrW(36776) & ChrW(29575) & ChrW(35843) & ChrW(33267) & "1024*768", MsgBoxStyle.OkOnly, Nothing)
          Me.Close
      End If
  硬件码
      Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
      Dim obj2 As ManagementObject
      For Each obj2 In searcher.Get
          str6 = Conversions.ToString(obj2.Item("ProcessorId"))
      Next
  定义变量
      Dim expression As String = str6
      Dim num As Integer = Strings.Len(expression)
      Dim num5 As Integer = (num - 1)
      Dim i As Integer = 0
  循环
      Do While (i <= num5)
          If (expression.Substring(i, 1) = "0") Then
              str4 = str4
          End If
          If (expression.Substring(i, 1) = "1") Then
              str4 = (str4 & Conversions.ToString(&H4F0))
          End If
          If (expression.Substring(i, 1) = "2") Then
              str4 = (str4 & Conversions.ToString(&H658))
          End If
          If (expression.Substring(i, 1) = "3") Then
              str4 = (str4 & Conversions.ToString(&HCC))
          End If
          If (expression.Substring(i, 1) = "4") Then
              str4 = (str4 & Conversions.ToString(&H88))
          End If
          If (expression.Substring(i, 1) = "5") Then
              str4 = (str4 & Conversions.ToString(260))
          End If
          If (expression.Substring(i, 1) = "6") Then
              str4 = (str4 & Conversions.ToString(&H174))
          End If
          If (expression.Substring(i, 1) = "7") Then
              str4 = (str4 & Conversions.ToString(&HD728))
          End If
          If (expression.Substring(i, 1) = "8") Then
              str4 = (str4 & Conversions.ToString(&H18A4))
          End If
          If (expression.Substring(i, 1) = "9") Then
              str4 = (str4 & Conversions.ToString(&H249))
          End If
          If (expression.Substring(i, 1) = "A") Then
              str4 = (str4 & Conversions.ToString(&H91B))
          End If
          If (expression.Substring(i, 1) = "B") Then
              str4 = (str4 & Conversions.ToString(&H1488))
          End If
          If (expression.Substring(i, 1) = "C") Then
              str4 = (str4 & Conversions.ToString(&H60))
          End If
          If (expression.Substring(i, 1) = "D") Then
              str4 = (str4 & Conversions.ToString(&H27))
          End If
          If (expression.Substring(i, 1) = "E") Then
              str4 = (str4 & Conversions.ToString(&H428))
          End If
          If (expression.Substring(i, 1) = "F") Then
              str4 = (str4 & Conversions.ToString(&H3CF))
          End If
          i += 1
      Loop
  软件运行后,会读取reg.reg内的二进制码,比较注册码 如果相等,则运行软件,如果不等则不成功  
      If (MyProject.Computer.FileSystem.ReadAllText((Me.path & "reg.reg"), Encoding.Default) <> str4) Then
          Interaction.MsgBox(ChrW(26410) & ChrW(27880) & ChrW(20876), MsgBoxStyle.OkOnly, Nothing)
          ProjectData.EndApp
      End If
  
  VB6模拟注册机算法代码
              num2 = 0
              t6 = Text1.Text
              t7 = t6
              num1 = Str(Len(t7))
              num5 = num1 - 1
            
              
  
    Do While (num2 <= num5)
              If Mid(t7, num2 + 1, 1) = "0" Then t4 = t4
              If Mid(t7, num2 + 1, 1) = "1" Then t4 = t4 & CStr(1264)
              If Mid(t7, num2 + 1, 1) = "2" Then t4 = t4 & CStr(1624)
              If Mid(t7, num2 + 1, 1) = "3" Then t4 = t4 & CStr(204)
              If Mid(t7, num2 + 1, 1) = "4" Then t4 = t4 & CStr(136)
              If Mid(t7, num2 + 1, 1) = "5" Then t4 = t4 & CStr(260)
              If Mid(t7, num2 + 1, 1) = "6" Then t4 = t4 & CStr(372)
              If Mid(t7, num2 + 1, 1) = "7" Then t4 = t4 & CStr(55080)
              If Mid(t7, num2 + 1, 1) = "8" Then t4 = t4 & CStr(6308)
              If Mid(t7, num2 + 1, 1) = "9" Then t4 = t4 & CStr(585)
              If Mid(t7, num2 + 1, 1) = "A" Then t4 = t4 & CStr(2331)
              If Mid(t7, num2 + 1, 1) = "B" Then t4 = t4 & CStr(5256)
              If Mid(t7, num2 + 1, 1) = "C" Then t4 = t4 & CStr(96)
              If Mid(t7, num2 + 1, 1) = "D" Then t4 = t4 & CStr(39)
              If Mid(t7, num2 + 1, 1) = "E" Then t4 = t4 & CStr(1064)
              If Mid(t7, num2 + 1, 1) = "F" Then t4 = t4 & CStr(975)
            
             num2 = num2 + 1
       Loop
  运行注册成功.
  
  
--------------------------------------------------------------------------------
【经验总结】
  这个软件算法不是很难,用VB能做成简单算法注册机.幸运啊~~~~~
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2009年11月19日 11:27:36

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
DONET队伍又要壮大了。
2009-11-15 23:05
0
雪    币: 1137
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
支持!!

强有力的顶起来
2009-11-16 19:03
0
雪    币: 290
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持下.net
2009-11-17 09:12
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
强悍!!!!
2009-11-17 16:31
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习
2009-11-17 17:29
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这种简单的软件验证现在不多见了
2009-11-20 10:08
0
游客
登录 | 注册 方可回帖
返回
//