吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 20234|回复: 37
收起左侧

[原创] iOrgSoft Video Converter 6.0.0 KeyGen

  [复制链接]
Fabiana 发表于 2015-9-14 20:08
【文章标题】: iOrgSoft Video Converter 6.0.0 KeyGen
【软件名称】: iOrgSoft Video Converter
【下载地址】: 自己搜索下载
【操作平台】: XP
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
一 .Net 主程序

1,.NET Reflector 打开主程序, 搜下注册提示提示字符,定位到代码在 VideoConVerterApp.Regist.Register_Btn_Click(Object, EventArgs) : Void

[C#] 纯文本查看 复制代码
private void Register_Btn_Click(object sender, EventArgs e)
{
    string messageBody = string.Empty;
    if (string.IsNullOrEmpty(this.txtLicensedMail.Text))
    {
        messageBody = "Enter your License Email.";
    }
    else if (string.IsNullOrEmpty(this.txtRegistrationCode.Text))
    {
        messageBody = "Enter your License Code.";
    }
    else
    {
        RegistInfo.Regist(this.txtLicensedMail.Text.Trim(), this.txtRegistrationCode.Text.Trim());  // 看来关键是这行
        if (SysSetInfo.SysUserSetInfo.IsRegist == 0)                                                
        {
            messageBody = "Register successfully.";
            base.DialogResult = DialogResult.OK;
        }
        else
        {
            messageBody = "Register failure.";
        }
    }
    ShowMessage.MsgBox.Show("Information", messageBody, ShowMessage.PicType.error, MessageBoxButtons.OK, false);
}



2,打开 RegistInfo.Regist(this.txtLicensedMail.Text.Trim(), this.txtRegistrationCode.Text.Trim()) 看看
[C#] 纯文本查看 复制代码
public static void Regist(string regionName, string regionCode)
{
    try
    {
        byte[] buffer = MD5.Create().ComputeHash(Encoding.Default.GetBytes(regionCode));   // 对输入的假注册码 MD5 ,也就是 MD5(1234567890)= e807f1fcf82d132f9bb018ca6738a19f
        regionCode = "";
        for (int i = 0; i < buffer.Length; i++)                            // md5结果转字串
        {
            regionCode = regionCode + string.Format("{0:x2}", buffer);
        }
        CheckRegister(regionName, regionCode);                    // 看函数名是校验函数,继续进,regionCode = MD5(1234567890)=e807f1fcf82d132f9bb018ca6738a19f
    }
    catch (Exception exception)
    {
        MessageBox.Show(exception.Message);
    }
    if (SysSetInfo.SysUserSetInfo.IsRegist == 0)                  // 保存注册信息到注册表
    {
        RegistryKeys keys = new RegistryKeys("CURRENT_USER");
        keys.CreateRegKey(ReleaseInfo.KeyPath);
        keys.SetRegVal(ReleaseInfo.KeyPath, ReleaseInfo.KeyName_Regname, regionName);
        keys.SetRegVal(ReleaseInfo.KeyPath, ReleaseInfo.KeyName_License, regionCode);
    }
}


3,打开 CheckRegister(regionName, regionCode);

[C#] 纯文本查看 复制代码
public static void CheckRegister(string regionName = null, string regionCode = null)
{
    RegistryKeys keys = new RegistryKeys("CURRENT_USER");
    string def = string.Empty;
    string str2 = string.Empty;
    if ((regionName == null) && (regionCode == null))                         // regionName,regionCode 为空则去注册表取
    {
        regionName = keys.GetRegVal(ReleaseInfo.KeyPath, ReleaseInfo.KeyName_Regname, def);
        regionCode = keys.GetRegVal(ReleaseInfo.KeyPath, ReleaseInfo.KeyName_License, str2);
    }
    ProjectInfoStruct.RegistrationInfo registrationInfo = new ProjectInfoStruct.RegistrationInfo {   //下面函数checkRegCode的参数
        companyName = ReleaseInfo.DOrEmiSofT,              
        productName = ReleaseInfo.wEbCAmFORwiN,
        userName = regionName,                      // email
        md5LicenseCode = regionCode                 // 假码MD5=(1234567890)=e807f1fcf82d132f9bb018ca6738a19f
    };
    switch (ProjectInfoStruct.checkRegCode(ref registrationInfo))                     //     checkRegCode ,校验函数
    {
        case 0x2745:
            SysSetInfo.SysUserSetInfo.IsRegist = -1;                                 
            return;

        case 0:
            SysSetInfo.SysUserSetInfo.IsRegist = 0;
            return;
    }
    SysSetInfo.SysUserSetInfo.IsRegist = 1;
}


4,打开 ProjectInfoStruct.checkRegCode(ref registrationInfo))

[C#] 纯文本查看 复制代码
[DllImport("reglib.dll", EntryPoint="_checkRegCode@4")]                 // 以为到校验代码了,结果进了,reglib.dll ,看来还要跟checkRegCode
public static extern int checkRegCode(ref RegistrationInfo registrationInfo);



二,reglib.dll 部分


1,用PE工具打开reglib.dll 去看下它的导出函数,就2个函数,关心的是 checkRegCode ,RVA 是 000011C0 ,加上载入DLL基址,checkRegCode 函数地址了,这里基址是10000000,所以checkRegCode地址是 100011C0

2,运行程序,OD附加进去,ctrl+g 100011C0 ,下好断点,去程序注册框输入email abcde@crack.com ,假码 1234567890,点注册,我们来到 checkRegCode 100011C0 ,它的参数是 registrationInfo
   
看下堆栈情况

[Asm] 纯文本查看 复制代码
0012E9C8   00A9A994  返回到 00A9A994
0012E9CC   00187D60            // 这个地址指向   registrationInfo  ,数据窗口跟随下
0012E9D0   0012EB14
0012E9D4   FFFFFFFF
0012E9D8   00000010

00187D60  具体情况

00187D60  002352D8  ASCII "[url=mailto:abcde@crack.com]abcde@crack.com[/url]"                                            // email         
00187D64  03932690  ASCII "01210111010901010114010501200110012101070123011601040120"
00187D68  00000000
00187D6C  00235300  ASCII "008700900092"
00187D70  03933000  ASCII "e807f1fcf82d132f9bb018ca6738a19f"                          //假码 MD5
00187D74  00187D58



3,checkRegCode 主函数

[Asm] 纯文本查看 复制代码
100011C0 >  55              push    ebp                              ; checkRegCode
100011C1    8BEC            mov     ebp, esp
100011C3    81EC 48010000   sub     esp, 148
100011C9    A1 20100110     mov     eax, dword ptr [10011020]
100011CE    33C5            xor     eax, ebp
100011D0    8945 FC         mov     dword ptr [ebp-4], eax
100011D3    56              push    esi
100011D4    8B75 08         mov     esi, dword ptr [ebp+8]
100011D7    E8 E4030000     call    100015C0                         ; 里面有对水印 watermark.png MD5文件校验
100011DC    3D 45270000     cmp     eax, 2745
100011E1    75 11           jnz     short 100011F4                   ; NOP掉是爆破,但算法部分在下面
100011E3    5E              pop     esi
100011E4    8B4D FC         mov     ecx, dword ptr [ebp-4]
100011E7    33CD            xor     ecx, ebp
100011E9    E8 F0150000     call    100027DE
100011EE    8BE5            mov     esp, ebp
100011F0    5D              pop     ebp
100011F1    C2 0400         retn    4
100011F4    57              push    edi                              ; 算法开始
100011F5    8B3E            mov     edi, dword ptr [esi]             ; 取 [url=mailto:abcde@crack.com]abcde@crack.com[/url] 算长度
100011F7    85FF            test    edi, edi
100011F9    0F84 F7000000   je      100012F6
100011FF    8BC7            mov     eax, edi
10001201    8D50 01         lea     edx, dword ptr [eax+1]
10001204    8A08            mov     cl, byte ptr [eax]
10001206    40              inc     eax
10001207    84C9            test    cl, cl
10001209  ^ 75 F9           jnz     short 10001204
1000120B    2BC2            sub     eax, edx                         ; email 长度
1000120D    0F84 E3000000   je      100012F6
10001213    8B46 10         mov     eax, dword ptr [esi+10]          ; 取假码MD5  e807f1fcf82d132f9bb018ca6738a19f 算长度
10001216    85C0            test    eax, eax
10001218    0F84 C1000000   je      100012DF
1000121E    8D50 01         lea     edx, dword ptr [eax+1]
10001221    8A08            mov     cl, byte ptr [eax]
10001223    40              inc     eax
10001224    84C9            test    cl, cl
10001226  ^ 75 F9           jnz     short 10001221
10001228    2BC2            sub     eax, edx                         ; 假码 md5 长度
1000122A    0F84 AF000000   je      100012DF
10001230    6A 40           push    40
10001232    57              push    edi                              ; email  [url=mailto:abcde@crack.com]abcde@crack.com[/url]
10001233    E8 18180000     call    10002A50
10001238    83C4 08         add     esp, 8
1000123B    85C0            test    eax, eax
1000123D    75 17           jnz     short 10001256
1000123F    5F              pop     edi
10001240    B8 13270000     mov     eax, 2713
10001245    5E              pop     esi
10001246    8B4D FC         mov     ecx, dword ptr [ebp-4]
10001249    33CD            xor     ecx, ebp
1000124B    E8 8E150000     call    100027DE
10001250    8BE5            mov     esp, ebp
10001252    5D              pop     ebp
10001253    C2 0400         retn    4
10001256    8D4D BC         lea     ecx, dword ptr [ebp-44]
10001259    8BFE            mov     edi, esi                         ; edi = 00187d60 ,指向前面提到的 registrationInfo
1000125B    E8 60FEFFFF     call    100010C0                         ; 算法关键 !!!!!!!!!!!!!!!!!!!
10001260    8D45 BC         lea     eax, dword ptr [ebp-44]          ; 真码 658c2b-900b55-3bd75a
10001263    8D50 01         lea     edx, dword ptr [eax+1]
10001266    8A08            mov     cl, byte ptr [eax]
10001268    40              inc     eax
10001269    84C9            test    cl, cl
1000126B  ^ 75 F9           jnz     short 10001266
1000126D    2BC2            sub     eax, edx                         ; 真码长度
1000126F    50              push    eax
10001270    8DBD BCFEFFFF   lea     edi, dword ptr [ebp-144]
10001276    8D4D BC         lea     ecx, dword ptr [ebp-44]
10001279    E8 A2100000     call    <md5>                            ; 658c2b-900b55-3bd75a 进行 MD5
1000127E    8B46 10         mov     eax, dword ptr [esi+10]          ; 假码 MD5  e807f1fcf82d132f9bb018ca6738a19f
10001281    83C4 04         add     esp, 4
10001284    8BCF            mov     ecx, edi                         ; 真码 MD5  7479b133ec22f647d56bcc86d4e0b193
10001286    8A10            mov     dl, byte ptr [eax]
10001288    3A11            cmp     dl, byte ptr [ecx]               ; 比较
1000128A    75 33           jnz     short 100012BF
1000128C    84D2            test    dl, dl
1000128E    74 12           je      short 100012A2
10001290    8A50 01         mov     dl, byte ptr [eax+1]
10001293    3A51 01         cmp     dl, byte ptr [ecx+1]             ; 比较
10001296    75 27           jnz     short 100012BF
10001298    83C0 02         add     eax, 2
1000129B    83C1 02         add     ecx, 2
1000129E    84D2            test    dl, dl
100012A0  ^ 75 E4           jnz     short 10001286                   ; 这个循环是注册码 MD5 进行比较,相同就成功
100012A2    33C0            xor     eax, eax
100012A4    F7D8            neg     eax
100012A6    1BC0            sbb     eax, eax
100012A8    5F              pop     edi
100012A9    25 13270000     and     eax, 2713
100012AE    5E              pop     esi
100012AF    8B4D FC         mov     ecx, dword ptr [ebp-4]
100012B2    33CD            xor     ecx, ebp
100012B4    E8 25150000     call    100027DE
100012B9    8BE5            mov     esp, ebp
100012BB    5D              pop     ebp
100012BC    C2 0400         retn    4



4,现在知道了校验部分是对  MD5(假码) MD5(真码) 是否相同,相同就注册成功,所以去关键算法  call    100010C0    去看看真码怎么来的

省略部分代码

[Asm] 纯文本查看 复制代码
1000118B    8D95 FCFCFFFF   lea     edx, dword ptr [ebp-304]         ; 字符串 "videoconverter"
10001191    52              push    edx
10001192    8D8D FCFDFFFF   lea     ecx, dword ptr [ebp-204]         ; 字符串 "TTS"
10001198    8D95 FCFEFFFF   lea     edx, dword ptr [ebp-104]         ; 字符串 "[url=mailto:abcde@crack.com]abcde@crack.com[/url]"
1000119E    E8 3D060000     call    100017E0                         ; 关键是这个,还得继续进!!!!!!!!!!!!!!!!!!!!!



5,call 100010C0,有些其他字符串,不参与算法,不细看了 , 进 call   100017E0 看看

省略部分代码


[Asm] 纯文本查看 复制代码
10001827    8BC3            mov     eax, ebx                         ; [url=mailto:abcde@crack.com]abcde@crack.com[/url]
10001829    83C4 18         add     esp, 18
1000182C    8D78 01         lea     edi, dword ptr [eax+1]
1000182F    90              nop
10001830    8A08            mov     cl, byte ptr [eax]
10001832    40              inc     eax
10001833    84C9            test    cl, cl
10001835  ^ 75 F9           jnz     short 10001830
10001837    2BC7            sub     eax, edi                         ; [url=mailto:abcde@crack.com]abcde@crack.com[/url] 长度
10001839    8BF8            mov     edi, eax
1000183B    33C0            xor     eax, eax
1000183D    85FF            test    edi, edi
1000183F    7E 0D           jle     short 1000184E
10001841    8AC8            mov     cl, al                           ; al = i  ,i 是 [url=mailto:abcde@crack.com]abcde@crack.com[/url] 字符序号
10001843    80E1 1F         and     cl, 1F                           ; i&0x1f
10001846    000C03          add     byte ptr [ebx+eax], cl           ; email+=cl
10001849    40              inc     eax
1000184A    3BC7            cmp     eax, edi
1000184C  ^ 7C F3           jl      short 10001841                   ; 这个循环相当于 email+=i&0x1F,  "[url=mailto:abcde@crack.com]abcde@crack.com[/url]" ---> acegiEiyilu9o|{
1000184E    8B4C24 0C       mov     ecx, dword ptr [esp+C]           ; videoconverter
10001852    8BC1            mov     eax, ecx
10001854    8D78 01         lea     edi, dword ptr [eax+1]
10001857    8A10            mov     dl, byte ptr [eax]
10001859    40              inc     eax
1000185A    84D2            test    dl, dl
1000185C  ^ 75 F9           jnz     short 10001857
1000185E    2BC7            sub     eax, edi                         ; videoconverter 长度
10001860    8BF8            mov     edi, eax
10001862    33C0            xor     eax, eax
10001864    85FF            test    edi, edi
10001866    7E 0D           jle     short 10001875
10001868    8AD0            mov     dl, al
1000186A    80E2 1F         and     dl, 1F
1000186D    281401          sub     byte ptr [ecx+eax], dl
10001870    40              inc     eax
10001871    3BC7            cmp     eax, edi
10001873  ^ 7C F3           jl      short 10001868                   ; 同email一样, videoconverter --->  vhbbk^ign\hiYe
10001875    8B4424 08       mov     eax, dword ptr [esp+8]           ; TTS
10001879    8D50 01         lea     edx, dword ptr [eax+1]
1000187C    8D6424 00       lea     esp, dword ptr [esp]
10001880    8A08            mov     cl, byte ptr [eax]
10001882    40              inc     eax
10001883    84C9            test    cl, cl
10001885  ^ 75 F9           jnz     short 10001880
10001887    8B4C24 08       mov     ecx, dword ptr [esp+8]
1000188B    2BC2            sub     eax, edx                         ; TTS 长度
1000188D    50              push    eax
1000188E    8D7C24 14       lea     edi, dword ptr [esp+14]
10001892    E8 890A0000     call    <md5>                            ; md5("TTS")= 4616606d5a8590d8c1d305d50dce2f73
10001897    8B7C24 0C       mov     edi, dword ptr [esp+C]           ; edi=0012D938, [edi]="4616606d5a8590d8c1d305d50dce2f73"
1000189B    68 00010000     push    100
100018A0    6A 00           push    0
100018A2    57              push    edi
100018A3    E8 98200000     call    10003940                         ; 内存置零
100018A8    68 00010000     push    100
100018AD    8D4424 24       lea     eax, dword ptr [esp+24]
100018B1    50              push    eax
100018B2    57              push    edi
100018B3    E8 68100000     call    10002920                         ; string  copy
100018B8    8BC3            mov     eax, ebx                         ; acegiEiyilu9o|{
100018BA    83C4 1C         add     esp, 1C
100018BD    8D48 01         lea     ecx, dword ptr [eax+1]
100018C0    8A10            mov     dl, byte ptr [eax]
100018C2    40              inc     eax
100018C3    84D2            test    dl, dl
100018C5  ^ 75 F9           jnz     short 100018C0
100018C7    2BC1            sub     eax, ecx                         ; acegiEiyilu9o|{ 长度
100018C9    50              push    eax
100018CA    8D8C24 14040000 lea     ecx, dword ptr [esp+414]
100018D1    53              push    ebx                              ; acegiEiyilu9o|{
100018D2    51              push    ecx
100018D3    E8 A8110000     call    10002A80                         ; 字串合并 [0012DD38]= "acegiEiyilu9o|{"
100018D8    8B5424 18       mov     edx, dword ptr [esp+18]          ; vhbbk^ign\hiYe
100018DC    8BC2            mov     eax, edx
100018DE    83C4 0C         add     esp, 0C
100018E1    8D58 01         lea     ebx, dword ptr [eax+1]
100018E4    8A08            mov     cl, byte ptr [eax]
100018E6    40              inc     eax
100018E7    84C9            test    cl, cl
100018E9  ^ 75 F9           jnz     short 100018E4
100018EB    2BC3            sub     eax, ebx                         ; vhbbk^ign\hiYe长度
100018ED    50              push    eax
100018EE    52              push    edx                              ; vhbbk^ign\hiYe
100018EF    8D9424 18040000 lea     edx, dword ptr [esp+418]
100018F6    52              push    edx                              ; acegiEiyilu9o|{
100018F7    E8 84110000     call    10002A80                         ; [0012DD38]="acegiEiyilu9o|{vhbbk^ign\hiYe"
100018FC    8BC7            mov     eax, edi                         ; 4616606d5a8590d8c1d305d50dce2f73
100018FE    83C4 0C         add     esp, 0C
10001901    8D50 01         lea     edx, dword ptr [eax+1]
10001904    8A08            mov     cl, byte ptr [eax]
10001906    40              inc     eax
10001907    84C9            test    cl, cl
10001909  ^ 75 F9           jnz     short 10001904
1000190B    2BC2            sub     eax, edx                         ; 长度
1000190D    50              push    eax
1000190E    8D8424 14040000 lea     eax, dword ptr [esp+414]
10001915    57              push    edi
10001916    50              push    eax
10001917    E8 64110000     call    10002A80                         ; [0012DD38]="acegiEiyilu9o|{vhbbk^ign\hiYe4616606d5a8590d8c1d305d50dce2f73"
1000191C    8D8424 1C040000 lea     eax, dword ptr [esp+41C]
10001923    83C4 0C         add     esp, 0C
10001926    8D50 01         lea     edx, dword ptr [eax+1]
10001929    8DA424 00000000 lea     esp, dword ptr [esp]
10001930    8A08            mov     cl, byte ptr [eax]
10001932    40              inc     eax
10001933    84C9            test    cl, cl
10001935  ^ 75 F9           jnz     short 10001930
10001937    2BC2            sub     eax, edx                         ; 长度
10001939    50              push    eax
1000193A    8D7C24 14       lea     edi, dword ptr [esp+14]
1000193E    8D8C24 14040000 lea     ecx, dword ptr [esp+414]         ; [0012DD38]="acegiEiyilu9o|{vhbbk^ign\hiYe4616606d5a8590d8c1d305d50dce2f73"
10001945    E8 D6090000     call    <md5>                            ; MD5结果 [edi]=[0012D938]="69508ec02fbc5b3bd75ae96541f37c85"
1000194A    0FB64C24 14     movzx   ecx, byte ptr [esp+14]           ; 第0位 MD5中的位置
1000194F    0FB65424 16     movzx   edx, byte ptr [esp+16]           ; 第2位
10001954    0FB64424 18     movzx   eax, byte ptr [esp+18]           ; 第4位
10001959    880E            mov     byte ptr [esi], cl               ; 0=0 前面为注册码位置,后面为MD5中位置
1000195B    0FB64C24 1A     movzx   ecx, byte ptr [esp+1A]           ; 第6位
10001960    8856 01         mov     byte ptr [esi+1], dl             ; 1=2
10001963    0FB65424 1C     movzx   edx, byte ptr [esp+1C]           ; 第8位
10001968    8846 02         mov     byte ptr [esi+2], al             ; 2=4
1000196B    0FB64424 1E     movzx   eax, byte ptr [esp+1E]           ; 第10位
10001970    884E 03         mov     byte ptr [esi+3], cl             ; 3=6
10001973    0FB64C24 15     movzx   ecx, byte ptr [esp+15]           ; 第1位
10001978    8856 04         mov     byte ptr [esi+4], dl             ; 4=8
1000197B    8846 05         mov     byte ptr [esi+5], al             ; 5=10
1000197E    0FB64424 17     movzx   eax, byte ptr [esp+17]           ; 第3位
10001983    B2 2D           mov     dl, 2D
10001985    8856 06         mov     byte ptr [esi+6], dl             ; 6="-"
10001988    884E 07         mov     byte ptr [esi+7], cl             ; 7=1
1000198B    0FB64C24 1B     movzx   ecx, byte ptr [esp+1B]           ; 第7位
10001990    8846 08         mov     byte ptr [esi+8], al             ; 8=3
10001993    8A4424 23       mov     al, byte ptr [esp+23]            ; 第15位
10001997    884E 09         mov     byte ptr [esi+9], cl             ; 9=7
1000199A    8A4C24 33       mov     cl, byte ptr [esp+33]            ; 第31位
1000199E    8846 0A         mov     byte ptr [esi+A], al             ; 10=15
100019A1    884E 0B         mov     byte ptr [esi+B], cl             ; 11=31
100019A4    884E 0C         mov     byte ptr [esi+C], cl             ; 12=31
100019A7    0FB64C24 25     movzx   ecx, byte ptr [esp+25]           ; 第17位
100019AC    8856 0D         mov     byte ptr [esi+D], dl             ; 13="-"
100019AF    0FB65424 22     movzx   edx, byte ptr [esp+22]           ; 第14位
100019B4    8846 0F         mov     byte ptr [esi+F], al             ; 15=15
100019B7    0FB64424 24     movzx   eax, byte ptr [esp+24]           ; 第16位
100019BC    83C4 04         add     esp, 4                           ; esp+4 了
100019BF    8846 10         mov     byte ptr [esi+10], al            ; 16=16
100019C2    0FB64424 23     movzx   eax, byte ptr [esp+23]           ; 第19位
100019C7    8856 0E         mov     byte ptr [esi+E], dl             ; 14=14
100019CA    0FB65424 22     movzx   edx, byte ptr [esp+22]           ; 第18位
100019CF    884E 11         mov     byte ptr [esi+11], cl            ; 17=17
100019D2    8B8C24 14080000 mov     ecx, dword ptr [esp+814]
100019D9    5F              pop     edi
100019DA    5B              pop     ebx
100019DB    8846 13         mov     byte ptr [esi+13], al            ; 19=19
100019DE    33CC            xor     ecx, esp
100019E0    8856 12         mov     byte ptr [esi+12], dl            ; 18=18
100019E3    33C0            xor     eax, eax                         ; [0012E980] = 658c2b-900b55-3bd75a  生成注册码
100019E5    E8 F40D0000     call    100027DE
100019EA    8BE5            mov     esp, ebp
100019EC    5D              pop     ebp
100019ED    C3              retn



三,总结

1,.Net 主程序部分,把 em="abcde@crack.com"  假码 sn="1234567890" 的 MD5  ,snmd5 = md5(sn) 等信息,调用 reglib.dll.checkRegCode进行验证
2,em="abcde@crack.com"  ---> cem="acegiEiyilu9o|{"  ,方式为 em+=em+i&0x1f
3,"videoconverter" ---> "vhbbk^ign\hiYe" ,方式同上
4,md5("TTS")="4616606d5a8590d8c1d305d50dce2f73"
5,scat= "acegiEiyilu9o|{"   +   "vhbbk^ign\hiYe"     +   "4616606d5a8590d8c1d305d50dce2f73"
6,scatmd5=MD5(scat)="69508ec02fbc5b3bd75ae96541f37c85"
7,从scatmd5 生成 key
8,md5(key) snmd5 是否相同,相同就成功,因为是md5,所以可以直接看作 sn key是否相同
9,注册信息保存在注册表内,HKEY_CURRENT_USER\Software\iOrgSoft\Video Converter\reg

四,注册机,固定字符串部分直接用结果了,python 代码

[Python] 纯文本查看 复制代码
import hashlib

videoconverter="vhbbk^ign\hiYe"        
TTSmd5="4616606d5a8590d8c1d305d50dce2f73"
cemail=""
sn=""

email=raw_input("your email : ")

for i in range(0,len(email)):
    temp=ord(email)+(i&31)
    cemail+=chr(temp)

md5=hashlib.md5()
md5.update(cemail)
md5.update(videoconverter)
md5.update(TTSmd5)
rmd5=md5.hexdigest()

sn+=rmd5[0:11:2]
sn+="-"
sn+=rmd5[1]
sn+=rmd5[3]
sn+=rmd5[7]
sn+=rmd5[15]
sn+=rmd5[31]
sn+=rmd5[31]
sn+="-"
sn+=rmd5[14:20]

print "your    sn : %s"%sn


几组注册码
your email : abcde@crack.com
your    sn : 658c2b-900b55-3bd75a

your email : abcde@126.com
your    sn : a1753b-fb9a22-7ae2e9

your email : keygen@iOrgSoft.com
your    sn : 06a22c-4b9faa-4f244d

--------------------------------------------------------------------------------
【经验总结】
玩KeyGen的人少了,遇到枚软柿子,脑子抽了,写这玩意,over~
  
--------------------------------------------------------------------------------
【版权声明】: 转载请注明作者并保持文章的完整, 谢谢!

免费评分

参与人数 16热心值 +16 收起 理由
woainiheibao + 1 热心回复!
止于终止@ + 1 鼓励转贴优秀软件安全工具和文档!
wu0687050 + 1 你头像不是静静吗?你也玩?
fenghaoda + 1 谢谢@Thanks!
Amor残梦 + 1 我很赞同!
cxqwe + 1 我很赞同!
jacky520510 + 1 我很赞同!
cxfzaysb + 1 谢谢@Thanks!
evido + 1 谢谢@Thanks!
zhangqun855 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
bet365china + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
ljrlove2008 + 1 我很赞同!
kingsunto + 1 热心回复!
qaz003 + 1 谢谢@Thanks!
caleb110 + 1 热心回复!
Hslim + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2015-9-18 16:24
Fabiana 发表于 2015-9-16 17:34
烦,再也不写了

我给你编辑了一下,使用了代码框功能,看起来舒服多了,帖子过程完整,有分析有总结有算法注册机编写,给予精华鼓励,期待以后更多的分享交流。
 楼主| Fabiana 发表于 2015-9-15 17:33
Hmily 发表于 2015-9-15 11:34
代码地方可以试试代码框,会好看很多,原来是写在word里的?原版可以发上来我给你编辑下试试。

iOrgSoft Video Converter KeyGen.txt
Server (IO) Error

传不上

点评

直接写在txt里的啊?你压缩一下上传试试?你用的是代{过}{滤}理吗?  详情 回复 发表于 2015-9-15 18:39
榻榻米 发表于 2015-9-14 20:14
liwenwu1058 发表于 2015-9-14 20:15
看完楼主的帖子  我得了脊椎病!lz就不能好好写个帖子?
 楼主| Fabiana 发表于 2015-9-14 20:21
liwenwu1058 发表于 2015-9-14 20:15
看完楼主的帖子  我得了脊椎病!lz就不能好好写个帖子?

刷新下,我这正了

点评

代码地方可以试试代码框,会好看很多,原来是写在word里的?原版可以发上来我给你编辑下试试。  详情 回复 发表于 2015-9-15 11:34
babmf 发表于 2015-9-14 20:30


好乱啊,看不清!!

pendan2001 发表于 2015-9-14 20:57
不错的分析。。。。
Hmily 发表于 2015-9-15 11:34
Fabiana 发表于 2015-9-14 20:21
刷新下,我这正了

代码地方可以试试代码框,会好看很多,原来是写在word里的?原版可以发上来我给你编辑下试试。
Hmily 发表于 2015-9-15 18:39
Fabiana 发表于 2015-9-15 17:33
iOrgSoft Video Converter KeyGen.txt
Server (IO) Error

直接写在txt里的啊?你压缩一下上传试试?你用的是代{过}{滤}理吗?
 楼主| Fabiana 发表于 2015-9-16 17:34
Hmily 发表于 2015-9-15 18:39
直接写在txt里的啊?你压缩一下上传试试?你用的是代{过}{滤}理吗?

烦,再也不写了

iOrgSoft Video Converter KeyGen.txt

24.23 KB, 下载次数: 18, 下载积分: 吾爱币 -1 CB

点评

我给你编辑了一下,使用了代码框功能,看起来舒服多了,帖子过程完整,有分析有总结有算法注册机编写,给予精华鼓励,期待以后更多的分享交流。  详情 回复 发表于 2015-9-18 16:24
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-18 18:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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