首页
社区
课程
招聘
[旧帖] [求助]java -> VB.Net 0.00雪花
发表于: 2009-3-20 12:23 2517

[旧帖] [求助]java -> VB.Net 0.00雪花

2009-3-20 12:23
2517
各位大大好,小弟有一支從 java -> VB.Net 的 keygen ,程式碼如下但是因為 java 與 VB.Net 語法不同,所以還有些 Bug ,哪位大大可以依高深的功力,幫小弟 Debug 一下,感謝!

Imports System
Imports System.Text


Public Class MyEclipseGen
Private Const LL As String = "Keygen."

Public Overridable Function getSerial(ByVal userId As String, ByVal licenseNum As String) As String
   Dim cal As java.util.Calendar = java.util.Calendar.getInstance()
   cal.Add(1, 3)
   cal.Add(6, -1)
   Dim nf As java.text.NumberFormat = New java.text.DecimalFormat("000")
   licenseNum = nf.format(Convert.ToInt32(licenseNum))
   Dim verTime As String = New StringBuilder("-").Append(New java.text.SimpleDateFormat("yyMMdd").format(cal.getTime())).Append("0").ToString()
   Dim type As String = "YE3MP-"
   Dim need As String = New StringBuilder(userId.Substring(0, 1)).Append(type).Append("300").Append(licenseNum).Append(verTime).ToString()
   Dim dx As String = New StringBuilder(need).Append(LL).Append(userId).ToString()
   Dim suf As Integer = Me.decode(dx)
   Dim code As String = New StringBuilder(need).Append(Convert.ToString(suf)).ToString()
   Return Me.change(code)
End Function

Private Function decode(ByVal s As String) As Integer
   Dim i As Integer
   Dim ac() As Char
   Dim j As Integer
   Dim k As Integer
   i = 0
   ac = s.ToCharArray()
   j = 0
   k = ac.Length
   Do While j < k
        i = (31 * i) + ac(j)
        j += 1
   Loop
   Return Math.Abs(i)
End Function

Private Function change(ByVal s As String) As String
   Dim abyte0() As SByte
   Dim ac() As Char
   Dim i As Integer
   Dim k As Integer
   Dim j As Integer
   abyte0 = s.getBytes()
   ac = New Char(s.Length - 1){}
   i = 0
   k = abyte0.Length
   Do While i < k
        j = abyte0(i)
        If (j >= 48) AndAlso (j <= 57) Then
         j = (((j - 48) + 5) Mod 10) + 48
        ElseIf (j >= 65) AndAlso (j <= 90) Then
         j = (((j - 65) + 13) Mod 26) + 65
        ElseIf (j >= 97) AndAlso (j <= 122) Then
         j = (((j - 97) + 13) Mod 26) + 97
        End If
        ac(i) = ChrW(j)
        i += 1
   Loop
   Return Convert.ToString(ac)
End Function

Public Sub New()
   MyBase.New()
End Sub

Shared Sub Main(ByVal args() As String)
   Try
        Console.WriteLine("please input register name:")
        Dim reader As New BufferedReader(New InputStreamReader(System.in))
        Dim userId As String = Nothing
        userId = reader.readLine()
        Dim myeclipsegen As New MyEclipseGen()
        Dim res As String = myeclipsegen.getSerial(userId, "5")
        Console.WriteLine("Serial:" & res)
        reader.readLine()
   Catch ex As IOException
   End Try
End Sub
End Class

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//