注册机的实现如(istarMenu CORE Keygen)

一个非常好的注册机实现代码,而且市场流行的 istar menu 的。

import Cocoa

extension String {
    
    func MD5Numeric() -> String? {
        
        let data        = (self as NSString).dataUsingEncoding(NSUTF8StringEncoding)
        let result      = NSMutableData(length: Int(CC_MD5_DIGEST_LENGTH))
        let resultBytes = UnsafeMutablePointer<CUnsignedChar>(result.mutableBytes)
        
        if data == nil {
            return nil
        }
        
        CC_MD5(data!.bytes, CC_LONG(data!.length), resultBytes)
        
        let buffer      = UnsafeBufferPointer<CUnsignedChar>(start: resultBytes, count: result.length)
        var hash        = NSMutableString()
        var numericHash = NSMutableString()
        
        for i in buffer {
            hash.appendFormat("%02x", i)
        }
        
        for i in 0...hash.length-1 {
            numericHash.appendFormat("%d", hash.characterAtIndex(i))
        }
        
        numericHash.replaceOccurrencesOfString(
            "0",
            withString: "",
            options: NSStringCompareOptions.CaseInsensitiveSearch,
            range: NSMakeRange(0, numericHash.length)
        )
        
        
        if numericHash.length < 14 {
            return nil
        }
        
        let numericHashString: String = numericHash
        
        let startIndex  = advance(numericHashString.startIndex, 5)
        let endIndex    = advance(startIndex,                   8)
        let range       = Range(start: startIndex, end: endIndex)
        
        return numericHashString[range]
    }
    
}

let applicationName = "iStat Menu 5.01"

let pool            = "0123456789"
let const           = "43917202"

class AppDelegate: NSObject, NSApplicationDelegate {
    
    func fun() -> String {
        let seed = 0x39 * arc4random_uniform(175)
        return String(format: "%04d", seed)
    }
    
    @IBAction func generate(sender : AnyObject) {
        
        var seed        = ""
        var saltSeed    = ""
        for i in 0...7 {
            let c = pool[advance(pool.startIndex, Int(arc4random_uniform(10)))]
            seed.append(c)
            saltSeed.append(c)
            saltSeed.append(const[advance(const.startIndex, i)])
        }
        
        let checksum = saltSeed.MD5Numeric()
        
        if checksum == nil {
            return
        }
        
        var result = ""
        result.append(checksum![advance(checksum!.startIndex, 3)])
        result.append(seed[advance(seed.startIndex, 0)])
        result.append(seed[advance(seed.startIndex, 4)])
        result.append(checksum![advance(checksum!.startIndex, 7)])
        result += "-"
        result.append(checksum![advance(checksum!.startIndex, 6)])
        result.append(checksum![advance(checksum!.startIndex, 4)])
        result.append(seed[advance(seed.startIndex, 2)])
        result.append(checksum![advance(checksum!.startIndex, 5)])
        result += "-"
        result.append(seed[advance(seed.startIndex, 1)])
        result.append(seed[advance(seed.startIndex, 3)])
        result.append(checksum![advance(checksum!.startIndex, 1)])
        result.append(seed[advance(seed.startIndex, 5)])
        result += "-"
        result.append(checksum![advance(checksum!.startIndex, 0)])
        result.append(seed[advance(seed.startIndex, 6)])
        result.append(seed[advance(seed.startIndex, 7)])
        result.append(checksum![advance(checksum!.startIndex, 2)])
        result += "-"
        result += fun()
        
        textField.stringValue = result
    }
    
}

时间: 2024-08-03 21:30:08

注册机的实现如(istarMenu CORE Keygen)的相关文章

Corel Painter 2018中文破解版(附注册机/汉化补丁)

Corel Painter 2018中文破解版:http://www.3322.cc/soft/35359.htmlPainter 2018破解版是加拿大Corel公司全新推出的一款最为顶尖的绘图软件,它提供了众多领先与业界的绘图工具,可帮助用户为电影动画.游戏专案和专业文宣绘图等快速建立起概念艺术图像,以此来将用户的想象活灵活现的呈现在画布上.Painter 2018可以说是目前世界上最为完善的电脑美术绘画工具,它以其特有的"Natural Media"仿天然绘画技术为代表,并在电脑

Webstorm 10 for mac osx 注册机,序列号,kegen

小菜最近get到mac体验机会,早就耳闻mac非常适合做开发,于是迫不及待的安装各种开发工具,不知不觉,轮到前端开发神器webstorm了,看了一下官网的价格,心拔凉拔凉的. 果断搜索注册机,搜到的结果不少,20%是版本太旧,80%需要vip才能下载. 目前最新的是10+版本,勉强可以下载的都是8+版本,不太符合心思,而其他号称9+版本带注册机的,或者10+版本带序列号的,vip才能下载,既然不想买正版,却给盗版充值,哪有这样的道理. 如果读者因为这件事而苦恼,恰好又看到这篇文章,那么您的问题至

Adobe Acrobat XI Pro 注册机

source : http://bbs.kafan.cn/thread-1391429-1-1.html 注册机使用说明:Install Instructions: (Read carefully!)安装说明(仔细阅读!) 1. Disable your Network card or pull the network cable.禁用网络或拔出网线 2. Install Acrobat Pro XI with a serial generated from our keymaker ( do

sony vegas pro 13注册机

下载来源出处:sony vegas pro 13注册机sony vegas pro 13注册机是由索尼开发的一款专门功能强大.并专门支持sony vegas pro全系列软件的sony vegas pro注册机工具软件.大家都知道,很多专业的视频剪辑软件都是国外的比较好,就像日本的索尼公司一样,在图形的处理,相机摄像,视频剪辑等方面在世界上也是领先的,就拿这款视频剪辑软件sony vegas pro来说,该软件技术已经非常完善了,很多亚洲的视频剪辑人员使用的都是这款软件,新手想要学习的话可以通过

UltraEdit 注册机

IDM-All-Products-KeyGen-v3.6UltraEdit 注册机 1.断开网络连接,运行UltraEdit软件后,点击"帮助"-"注册/激活"; 2.许可证ID填写"zd423".密码填写:"zdfans";后点击"激活",会自动弹出"连接错误"窗口,然后点击"脱机激活",弹出脱机激活窗口后,记录"用户码1.用户码2"; 3.运行

Flash Builder 4.7 注册机完美激活方法

Flash Builder 4.7 破解注册方法目前较为通用的三种方法: 第一种:三步修改配置文件方法,这种有开发者反应这种方法在升级和创建纯 AS 项目时会存在问题,但我懒的去试这种方法的主要原因是它太麻烦了. 第二种:利用 CS6 版的通用破解补丁文件 amtlib.dll 替换方法,这种方法倒是挺简单,但有开发者反应说这种方法会导致启动软件时间变长,我在第一次安装 FB4.7 时就是用了这种方法,不过我并没有在意过它的启动时间是否变长了,因为 FB 本身就是基于 Eclipse 的,JAV

某某抽奖软件官方破解版含注册机

破解版软件最新版本:V6.0.2.软件为破解版,享受终身使用.每台电脑对应一个注册码(重装系统,注册码不变)!更换电脑或电脑硬件损坏需要重新更改注册码!(注册机可生成注册码) 破解软件下载地址: 下载地址1  下载地址2   下载地址3 软件特点:支持由数字.字母.中文汉字混合的姓名.手机号.身份证号等各种名单:支持图片照片抽奖: 支持隐私保护,可屏蔽部分字符(如手机号13306668888,屏蔽部分字符后133****8888): 支持可选择重复/不重复中奖: 支持自动生成编号,支持从TXT或

[原创]VB注册机独辟蹊径-----注册机也可以这样写

近段时间接了个项目,是关于一个称重传感器的上位机系统,需要一机一码针对不同的客户机分别注册,第一次注册完后,下次打开后不必注册. 刚开始想用正规的注册机办法去完成,搜罗了半天,发现现在大部分的硬盘注册机 其实并不是读取硬盘的物理序列号来进行加密的,而是采用读取磁盘分区卷标号来作为加密的基值.先按照读取磁盘卷标号开发了注册机程序,在自己的三台电脑上测试都没问题,也就是说没出现过读取卷标号重复的情况.结果第二天发给客户测试,客户反应用了几台电脑的注册码全部一样,瞬间石化. 后来自己分析过,可能是由于

Sublime Text 3 破解版 + 注册机 + 汉化包(转自 http://www.cnsecer.com/251.html)

Sublime Text就不用多做介绍了,官方最新发布了Sublime Text 3 Beta,价格却也飙到了70刀. 2013年5月10日更新 3033完美破解 大大的提高了启动速度 优化所有插件性能 界面管理增强 新增侧边栏预览选项卡 优化边栏动画 多个工作区可以共享同一个项目 从Python2.6升级到Python3.3 某些API事件现在以异步方式运行 新增window.settings()和window.template_settings() 语法高亮更新 修正Linux不兼容问题 修