首页
论坛
课程
招聘
[求助]installshield安装脚本反汇编分析
2011-3-24 16:16 12331

[求助]installshield安装脚本反汇编分析

2011-3-24 16:16
12331
反编译了个installshield6的安装脚本,对期其中的不少函数不太了解,求此脚本的加密流程:
注册码的大概是系统生成一个HOSTID,格式为:0x235b3
License的格式是像:6161-693-666-0196
License的Key大概是像:XA91VC1E26J8X9AFTC635JDYBESYCSHPJVF6BL0DINM37WO2Y6GOSKS1CGU7MEWHP7XZX93TZMRRKC15FMFTAIH724WOT0DSJTVRTDWYKZ5SPQQADQF5CDSXPGKOMKZGE4S10TSK1FSOIE3Q1SDXKDC3DOXU1D3M13CAAPR0SKASEVGBHEUBSDOP5RAER#
附上安装脚本,反编译后的代码,及部分整理的,(整理的用空格作了分级)

lable_515输入并验证License Key:
label_515:
    // -- While/Switch -- //
    n10 = n2 == 0;
    if(! n10) goto label_541; (不是n10跳转到541)                                           // normal if
                           ( label_541:
                                    function_285(s4);
                                                        (function NUMBER function_285(s0)
                                                            NUMBER n0;
                                                        begin
                                                            // -- Start Function Code -- //
                                                            // -- Start Return Code -- //
                                                            ISRT._EndDialog(g_number63, s0);
                                                            n0 = LAST_RESULT;
                                                            return n0;
                                                            // -- Create Local Variables -- //
                                                        end;)(结束对话框)
                                    function_286(s4)
                                                        (function NUMBER function_286(s0)
                                                            NUMBER n0;
                                                        begin
                                                            // -- Start Function Code -- //
                                                            // -- Start Return Code -- //
                                                            ISRT._ReleaseDialog(g_number63, s0);
                                                            n0 = LAST_RESULT;
                                                            return n0;
                                                            // -- Create Local Variables -- //
                                                        end;)(释放对话框资源)
                                    function_550();
                                                        (function NUMBER function_550()
                                                        begin
                                                            // -- Start Function Code -- //
                                                            return;
                                                            // -- Create Local Variables -- //
                                                        end;)(从对话框返回)
                                    function_560(g_str3/*对话框标题?*/, s4, "License Key", g_number16/*对话框ID*/);
                                                        (function NUMBER function_560(s0, s1, s2, n0)
                                                        begin
                                                            // -- Start Function Code -- //
                                                            function_634(s0, "%s-%ld", s1, n0);
                                                                                                (function NUMBER function_634(s0, s1, array_0)
                                                                                                    NUMBER n0;
                                                                                                    NUMBER n1;
                                                                                                    NUMBER n2;
                                                                                                    NUMBER n3;
                                                                                                    VARIANT array_0(0);
                                                                                                begin
                                                                                                    // -- Start Function Code -- //
                                                                                                    function_628(s0);/*取得字符串长度,如果长度不大于1024,返回1024,否则直接返回s0的长度*/
                                                                                                                        function NUMBER function_628(s0)
                                                                                                                            NUMBER n0;
                                                                                                                            NUMBER n1;
                                                                                                                        begin
                                                                                                                            // -- Start Function Code -- //
                                                                                                                            SizeOf(s0);/*取s0的长度结果放入n0中*/
                                                                                                                            n0 = LAST_RESULT;
                                                                                                                            n1 = n0 > 1024;
                                                                                                                            if(! n1) goto label_2353;/*取得字符串长度,如果长度不大于1024,返回1024,否则直接返回s0的长度*/                                            // normal if
                                                                                                                            // -- Start Return Code -- //
                                                                                                                            return n0;

                                                                                                                        // : Jump Referenced(1):
                                                                                                                        // :  00036FC0,
                                                                                                                        label_2353:
                                                                                                                            // -- Start Return Code -- //
                                                                                                                            return 1024;
                                                                                                                            // -- Create Local Variables -- //
                                                                                                                        end;
                                                                                                    n1 = LAST_RESULT;/*将s0长度存到n1中*/
                                                                                                    ISRT._DoSprintf(s0, n1, s1, array_0);
                                                                                                    n0 = LAST_RESULT;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0003780F,
                                                                                                label_2383:
                                                                                                    // -- While/Switch -- //
                                                                                                    n2 = n0 == -5;/*n0是否等于-5,结果存到n2中*/
                                                                                                    n3 = n1 < 100000;(n1是否小于100000)
                                                                                                    n2 = n2 && n3;
                                                                                                    if(! n2) goto label_2385;/*如果n0不等于-5并且s0的长度不小于100000,跳到2385*/                                            // normal if
                                                                                                    function_628(s0);/*将s0的长度放入n2中*/
                                                                                                    n2 = LAST_RESULT;
                                                                                                    n2 = n2 * 2;/*将n2长度x2*/
                                                                                                    Resize(s0, n2);/*调整s0?*/
                                                                                                    n2 = LAST_RESULT;
                                                                                                    n2 = n2 < 0;/*如果调整后的???*/
                                                                                                    if(! n2) goto label_2384; /*如果n2不小于0跳转到2385*/                                           // normal if
                                                                                                    // -- Start Return Code -- //
                                                                                                    return -1;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  000377C5,
                                                                                                label_2384:/*循环取得s0的长度用_DoSprintf处理*/
                                                                                                    function_628(s0);
                                                                                                    n1 = LAST_RESULT;
                                                                                                    ISRT._DoSprintf(s0, n1, s1, array_0);
                                                                                                    n0 = LAST_RESULT;
                                                                                                    goto label_2383;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  00037774,
                                                                                                label_2385:
                                                                                                    // -- Start Return Code -- //
                                                                                                    return n0;/*返回字符串s0的长度*/
                                                                                                    // -- Create Local Variables -- //
                                                                                                end;)
                                                            n0 = n0 + 1;
                                                            return;
                                                            // -- Create Local Variables -- //
                                                        end;)
                                    function_597(g_str3, "LicenseKey", 4, s1, n4);
                                                        (function NUMBER function_597(s0, s1, n0, s2, n1)
                                                            STRING s3[1020];
                                                            STRING s4;
                                                            STRING s5;
                                                            NUMBER n2;
                                                            NUMBER n3;
                                                        begin
                                                            // -- Start Function Code -- //
                                                            n3 = g_number61 != 1;
                                                            if(! n3) goto label_2147;/*调用某对话框是否成功??,成功返回失败,失败跳转到2147*/                                            // normal if
                                                            // -- Start Return Code -- //
                                                            return -1;

                                                        // : Jump Referenced(1):
                                                        // :  00033C89,
                                                        label_2147:
                                                            s5 = g_str76 + "-";
                                                            s0 = s5 + s0;
                                                            function_599(s0);
                                                                                (function NUMBER function_599(s0)
                                                                                    STRING s1;
                                                                                    NUMBER n0;
                                                                                    NUMBER n1;
                                                                                begin
                                                                                    // -- Start Function Code -- //
                                                                                    function_512(g_number97, s1);
                                                                                                                function NUMBER function_512(n0, s0)
                                                                                                                    NUMBER n1;
                                                                                                                    NUMBER n2;
                                                                                                                    NUMBER n3;
                                                                                                                begin
                                                                                                                    // -- Start Function Code -- //
                                                                                                                    function_628(s0);
                                                                                                                    n2 = LAST_RESULT;
                                                                                                                    ISRT._ListGetFirstString(g_number63, n0, s0, n2);
                                                                                                                    n1 = LAST_RESULT;
                                                                                                                    n2 = n1 == -502;
                                                                                                                    if(! n2) goto label_1734;                                            // normal if
                                                                                                                    n1 = 1;
                                                                                                                    goto label_1736;

                                                                                                                // : Jump Referenced(1):
                                                                                                                // :  0002C549,
                                                                                                                label_1734:
                                                                                                                    n2 = n1 != 0;
                                                                                                                    n3 = n1 > 0;
                                                                                                                    n2 = n2 && n3;
                                                                                                                    if(! n2) goto label_1736;                                            // normal if
                                                                                                                    Resize(s0, n1);
                                                                                                                    n2 = LAST_RESULT;
                                                                                                                    n2 = n1 == n2;
                                                                                                                    n2 = n2 >= 0;
                                                                                                                    if(! n2) goto label_1735;                                            // normal if
                                                                                                                    function_628(s0);
                                                                                                                    n2 = LAST_RESULT;
                                                                                                                    ISRT._ListGetFirstString(g_number63, n0, s0, n2);
                                                                                                                    n1 = LAST_RESULT;
                                                                                                                    goto label_1736;

                                                                                                                // : Jump Referenced(1):
                                                                                                                // :  0002C5D3,
                                                                                                                label_1735:
                                                                                                                    n1 = -1;

                                                                                                                // : Jump Referenced(3):
                                                                                                                // :  0002C561, 0002C597, 0002C60E,
                                                                                                                label_1736:
                                                                                                                    // -- Start Return Code -- //
                                                                                                                    return n1;
                                                                                                                    // -- Create Local Variables -- //
                                                                                                                end;                                                                                    n0 = LAST_RESULT;

                                                                                // : Jump Referenced(1):
                                                                                // :  000342AA,
                                                                                label_2172:
                                                                                    // -- While/Switch -- //
                                                                                    n1 = n0 != 1;
                                                                                    if(! n1) goto label_2174;                                            // normal if
                                                                                    n1 = s1 == s0;
                                                                                    if(! n1) goto label_2173;                                            // normal if
                                                                                    // -- Start Return Code -- //
                                                                                    return 1;

                                                                                // : Jump Referenced(1):
                                                                                // :  00034279,
                                                                                label_2173:
                                                                                    function_514(g_number97, s1);
                                                                                                                (function NUMBER function_514(n0, s0)
                                                                                                                    NUMBER n1;
                                                                                                                    NUMBER n2;
                                                                                                                    NUMBER n3;
                                                                                                                begin
                                                                                                                    // -- Start Function Code -- //
                                                                                                                    function_628(s0);
                                                                                                                    n2 = LAST_RESULT;
                                                                                                                    ISRT._ListGetNextString(g_number63, n0, s0, n2);
                                                                                                                    n1 = LAST_RESULT;
                                                                                                                    n2 = n1 == -502;
                                                                                                                    if(! n2) goto label_1739;                                            // normal if
                                                                                                                    n1 = 1;
                                                                                                                    goto label_1741;

                                                                                                                // : Jump Referenced(1):
                                                                                                                // :  0002C6C2,
                                                                                                                label_1739:
                                                                                                                    n2 = n1 != 0;
                                                                                                                    n3 = n1 > 0;
                                                                                                                    n2 = n2 && n3;
                                                                                                                    if(! n2) goto label_1741;                                            // normal if
                                                                                                                    Resize(s0, n1);
                                                                                                                    n2 = LAST_RESULT;
                                                                                                                    n2 = n1 == n2;
                                                                                                                    n2 = n2 >= 0;
                                                                                                                    if(! n2) goto label_1740;                                            // normal if
                                                                                                                    function_628(s0);
                                                                                                                    n2 = LAST_RESULT;
                                                                                                                    ISRT._ListGetNextString(g_number63, n0, s0, n2);
                                                                                                                    n1 = LAST_RESULT;
                                                                                                                    goto label_1741;

                                                                                                                // : Jump Referenced(1):
                                                                                                                // :  0002C74C,
                                                                                                                label_1740:
                                                                                                                    n1 = -1;

                                                                                                                // : Jump Referenced(3):
                                                                                                                // :  0002C6DA, 0002C710, 0002C787,
                                                                                                                label_1741:
                                                                                                                    // -- Start Return Code -- //
                                                                                                                    return n1;
                                                                                                                    // -- Create Local Variables -- //
                                                                                                                end;)
                                                                                    n0 = LAST_RESULT;
                                                                                    goto label_2172;

                                                                                // : Jump Referenced(1):
                                                                                // :  00034260,
                                                                                label_2174:
                                                                                    // -- Start Return Code -- //
                                                                                    return 0;
                                                                                    // -- Create Local Variables -- //
                                                                                end;)
                                                            n3 = LAST_RESULT;
                                                            n3 = n3 == 0;
                                                            if(! n3) goto label_2151;                                            // normal if
                                                            function_508(g_number97, s0, 0);/*静态文本控件g_number97是资源ID,s0是内容*/
                                                            n3 = LAST_RESULT;
                                                            n3 = n3 < 0;
                                                            if(! n3) goto label_2148;                                            // normal if
                                                            goto label_2159;

                                                        // : Jump Referenced(1):
                                                        // :  00033D17,
                                                        label_2148:
                                                            function_634(s3, "%s%d", "Dlg", g_number94);
                                                            s5 = g_str76 + "-";
                                                            s5 = s5 + "DlgOrder";
                                                            KERNEL32.WritePrivateProfileString(s5, s3, s0, g_str92);
                                                            n3 = LAST_RESULT;
                                                            n3 = n3 == 0;
                                                            if(! n3) goto label_2149;                                            // normal if
                                                            goto label_2159;

                                                        // : Jump Referenced(1):
                                                        // :  00033D95,
                                                        label_2149:
                                                            g_number94 = g_number94 + 1;
                                                            NumToStr(s4, g_number94);
                                                            n3 = LAST_RESULT;
                                                            if(! n3) goto label_2150;                                            // normal if
                                                            goto label_2159;

                                                        // : Jump Referenced(1):
                                                        // :  00033DCF,
                                                        label_2150:
                                                            s5 = g_str76 + "-";
                                                            s5 = s5 + "DlgOrder";
                                                            KERNEL32.WritePrivateProfileString(s5, "Count", s4, g_str92);
                                                            n3 = LAST_RESULT;
                                                            n3 = n3 == 0;
                                                            if(! n3) goto label_2151;                                            // normal if
                                                            goto label_2159;

                                                        // : Jump Referenced(2):
                                                        // :  00033CE1, 00033E39,
                                                        label_2151:
                                                            n2 = 0;
                                                            // -- While/Switch -- //
                                                            n3 = n0 == 1;
                                                            if(! n3) goto label_2153;                                            // normal if
                                                            function_600(s0, s1, s2);
                                                                                        function NUMBER function_600(s0, s1, s2)
                                                                                            NUMBER n0;
                                                                                        begin
                                                                                            // -- Start Function Code -- //
                                                                                            n0 = s2 == "";
                                                                                            if(! n0) goto label_2176;                                            // normal if
                                                                                            s2 = "\' \'";

                                                                                        // : Jump Referenced(1):
                                                                                        // :  000342E6,
                                                                                        label_2176:
                                                                                            KERNEL32.WritePrivateProfileString(s0, s1, s2, g_str92);
                                                                                            n0 = LAST_RESULT;
                                                                                            if(! n0) goto label_2177;                                            // normal if
                                                                                            // -- Start Return Code -- //
                                                                                            return 0;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  0003431D,
                                                                                        label_2177:
                                                                                            // -- Start Return Code -- //
                                                                                            return -6;
                                                                                            // -- Create Local Variables -- //
                                                                                        end;
                                                            n2 = LAST_RESULT;
                                                            goto label_2157;

                                                        // : Jump Referenced(1):
                                                        // :  00033E71,
                                                        label_2153:
                                                            n3 = n0 == 2;
                                                            if(! n3) goto label_2154;                                            // normal if
                                                            function_601(s0, s1, n1);
                                                                                        (function NUMBER function_601(s0, s1, n0)
                                                                                            STRING s2[20];
                                                                                            NUMBER n1;
                                                                                        begin
                                                                                            // -- Start Function Code -- //
                                                                                            NumToStr(s2, n0);
                                                                                            n1 = LAST_RESULT;
                                                                                            n1 = n1 < 0;
                                                                                            if(! n1) goto label_2179;                                            // normal if
                                                                                            // -- Start Return Code -- //
                                                                                            return -6;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  0003437F,
                                                                                        label_2179:
                                                                                            // -- Start Return Code -- //
                                                                                            function_600(s0, s1, s2);
                                                                                            n1 = LAST_RESULT;
                                                                                            return n1;
                                                                                            // -- Create Local Variables -- //
                                                                                        end;)
                                                            n2 = LAST_RESULT;
                                                            goto label_2157;

                                                        // : Jump Referenced(1):
                                                        // :  00033EB0,
                                                        label_2154:
                                                            n3 = n0 == 3;
                                                            if(! n3) goto label_2155;                                            // normal if
                                                            function_602(s0, s1, n1);
                                                                                        (function NUMBER function_602(s0, s1, n0)
                                                                                            STRING s2;
                                                                                            STRING s3;
                                                                                            STRING s4[1020];
                                                                                            STRING s5;
                                                                                            NUMBER n1;
                                                                                            NUMBER n2;
                                                                                            NUMBER n3;
                                                                                            NUMBER n4;
                                                                                            NUMBER n5;
                                                                                            NUMBER n6;
                                                                                            NUMBER n7;
                                                                                            NUMBER n8;
                                                                                        begin
                                                                                            // -- Start Function Code -- //
                                                                                            n7 = n0 == 0;
                                                                                            n8 = n0 == -1;
                                                                                            n7 = n7 || n8;
                                                                                            if(! n7) goto label_2181;                                            // normal if
                                                                                            // -- Start Return Code -- //
                                                                                            return -1;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  00034404,
                                                                                        label_2181:
                                                                                            function_518(n0);
                                                                                            n7 = LAST_RESULT;
                                                                                            n7 = n7 == -1;
                                                                                            if(! n7) goto label_2182;                                            // normal if
                                                                                            n1 = 1;
                                                                                            goto label_2183;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  00034441,
                                                                                        label_2182:
                                                                                            n1 = 0;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  00034459,
                                                                                        label_2183:
                                                                                            if(! n1) goto label_2184;                                            // normal if
                                                                                            s2 = "number";
                                                                                            goto label_2185;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  00034472,
                                                                                        label_2184:
                                                                                            s2 = "string";

                                                                                        // : Jump Referenced(1):
                                                                                        // :  0003448E,
                                                                                        label_2185:
                                                                                            s5 = s1 + "-type";
                                                                                            function_600(s0, s5, s2);
                                                                                            n3 = LAST_RESULT;
                                                                                            n7 = n3 < 0;
                                                                                            if(! n7) goto label_2186;                                            // normal if
                                                                                            // -- Start Return Code -- //
                                                                                            return n3;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  000344E5,
                                                                                        label_2186:
                                                                                            function_505(n0);
                                                                                            n2 = LAST_RESULT;
                                                                                            s5 = s1 + "-count";
                                                                                            function_601(s0, s5, n2);
                                                                                            n3 = LAST_RESULT;
                                                                                            n7 = n3 < 0;
                                                                                            if(! n7) goto label_2187;                                            // normal if
                                                                                            // -- Start Return Code -- //
                                                                                            return n3;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  0003454C,
                                                                                        label_2187:
                                                                                            if(! n1) goto label_2191;                                            // normal if
                                                                                            function_511(n0, n4);
                                                                                            n5 = LAST_RESULT;
                                                                                            n6 = 0;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  00034631,
                                                                                        label_2188:
                                                                                            // -- While/Switch -- //
                                                                                            n7 = n5 != 1;
                                                                                            if(! n7) goto label_2190;                                            // normal if
                                                                                            function_634(s4, "%s-%d", s1, n6);
                                                                                            function_601(s0, s4, n4);
                                                                                            n3 = LAST_RESULT;
                                                                                            n7 = n3 < 0;
                                                                                            if(! n7) goto label_2189;                                            // normal if
                                                                                            // -- Start Return Code -- //
                                                                                            return n3;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  000345F3,
                                                                                        label_2189:
                                                                                            function_513(n0, n4);
                                                                                            n5 = LAST_RESULT;
                                                                                            n6 = n6 + 1;
                                                                                            goto label_2188;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  000345A8,
                                                                                        label_2190:
                                                                                            goto label_2194;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  00034565,
                                                                                        label_2191:
                                                                                            function_512(n0, s3);
                                                                                            n5 = LAST_RESULT;
                                                                                            n6 = 0;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  00034707,
                                                                                        label_2192:
                                                                                            // -- While/Switch -- //
                                                                                            n7 = n5 != 1;
                                                                                            if(! n7) goto label_2194;                                            // normal if
                                                                                            function_634(s4, "%s-%d", s1, n6);
                                                                                            function_600(s0, s4, s3);
                                                                                            n3 = LAST_RESULT;
                                                                                            n7 = n3 < 0;
                                                                                            if(! n7) goto label_2193;                                            // normal if
                                                                                            // -- Start Return Code -- //
                                                                                            return n3;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  000346C9,
                                                                                        label_2193:
                                                                                            function_514(n0, s3);
                                                                                            n5 = LAST_RESULT;
                                                                                            n6 = n6 + 1;
                                                                                            goto label_2192;

                                                                                        // : Jump Referenced(2):
                                                                                        // :  0003463C, 0003467E,
                                                                                        label_2194:
                                                                                            // -- Start Return Code -- //
                                                                                            return 0;
                                                                                            // -- Create Local Variables -- //
                                                                                        end;)
                                                            n2 = LAST_RESULT;
                                                            goto label_2157;

                                                        // : Jump Referenced(1):
                                                        // :  00033EEF,
                                                        label_2155:
                                                            n3 = n0 == 4;
                                                            if(! n3) goto label_2156;                                            // normal if
                                                            function_603(s0, s1, g_str7, s2, 1);
                                                                                                (function NUMBER function_603(s0, s1, s2, s3, n0)
                                                                                                    STRING s4;
                                                                                                    NUMBER n1;
                                                                                                    NUMBER n2;
                                                                                                    NUMBER n3;
                                                                                                    NUMBER n4;
                                                                                                    NUMBER n5;
                                                                                                    NUMBER n6;
                                                                                                    NUMBER n7;
                                                                                                    NUMBER n8;
                                                                                                begin
                                                                                                    // -- Start Function Code -- //
                                                                                                    function_503(0);
                                                                                                    n1 = LAST_RESULT;
                                                                                                    function_503(0);
                                                                                                    n2 = LAST_RESULT;
                                                                                                    n7 = n1 == -1;
                                                                                                    n8 = n2 == -1;
                                                                                                    n7 = n7 || n8;
                                                                                                    if(! n7) goto label_2196;                                            // normal if
                                                                                                    n6 = -1;
                                                                                                    goto label_2203;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0003478F,
                                                                                                label_2196:
                                                                                                    function_259(s2, s3, n1);
                                                                                                    n7 = LAST_RESULT;
                                                                                                    n7 = n7 < 0;
                                                                                                    if(! n7) goto label_2197;                                            // normal if
                                                                                                    n6 = 0;
                                                                                                    goto label_2203;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  000347DA,
                                                                                                label_2197:
                                                                                                    function_512(n1, s4);
                                                                                                    n5 = LAST_RESULT;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0003496D,
                                                                                                label_2198:
                                                                                                    // -- While/Switch -- //
                                                                                                    n7 = n5 != 1;
                                                                                                    if(! n7) goto label_2202;                                            // normal if
                                                                                                    function_257(s2, s4);
                                                                                                    n3 = LAST_RESULT;
                                                                                                    n7 = n3 < 0;
                                                                                                    if(! n7) goto label_2199;                                            // normal if
                                                                                                    n6 = -1;
                                                                                                    goto label_2203;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  00034859,
                                                                                                label_2199:
                                                                                                    if(! n3) goto label_2201;                                            // normal if
                                                                                                    function_508(n2, s4, 0);
                                                                                                    n7 = LAST_RESULT;
                                                                                                    n7 = n7 < 0;
                                                                                                    if(! n7) goto label_2200;                                            // normal if
                                                                                                    n6 = -1;
                                                                                                    goto label_2203;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  000348B2,
                                                                                                label_2200:
                                                                                                    function_605(s2, s4);
                                                                                                    n4 = LAST_RESULT;
                                                                                                    n7 = n0 && n4;
                                                                                                    if(! n7) goto label_2201;                                            // normal if
                                                                                                    function_603(s0, s4, s2, s4, 1);
                                                                                                    n7 = LAST_RESULT;
                                                                                                    n7 = n7 != 0;
                                                                                                    if(! n7) goto label_2201;                                            // normal if
                                                                                                    n6 = -1;
                                                                                                    goto label_2203;

                                                                                                // : Jump Referenced(3):
                                                                                                // :  0003487C, 000348F8, 00034934,
                                                                                                label_2201:
                                                                                                    function_514(n1, s4);
                                                                                                    n5 = LAST_RESULT;
                                                                                                    goto label_2198;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  00034828,
                                                                                                label_2202:
                                                                                                    function_602(s0, s1, n2);
                                                                                                    n6 = LAST_RESULT;

                                                                                                // : Jump Referenced(5):
                                                                                                // :  000347A7, 000347F2, 00034871, 000348CA, 0003494C,
                                                                                                // :  
                                                                                                label_2203:
                                                                                                    function_504(n1);
                                                                                                    function_504(n2);
                                                                                                    // -- Start Return Code -- //
                                                                                                    return n6;
                                                                                                    // -- Create Local Variables -- //
                                                                                                end;)
                                                            n2 = LAST_RESULT;
                                                            goto label_2157;

                                                        // : Jump Referenced(1):
                                                        // :  00033F2E,
                                                        label_2156:
                                                            n2 = -10;

                                                        // : Jump Referenced(4):
                                                        // :  00033E96, 00033ED5, 00033F14, 00033F5B,
                                                        label_2157:
                                                            if(! n2) goto label_2158;                                            // normal if
                                                            goto label_2159;

                                                        // : Jump Referenced(1):
                                                        // :  00033F74,
                                                        label_2158:
                                                            // -- Start Return Code -- //
                                                            return n2;

                                                        // : Jump Referenced(5):
                                                        // :  00033D23, 00033DA1, 00033DDB, 00033E45, 00033F80,
                                                        // :  
                                                        label_2159:
                                                            function_604(-6);
                                                                                function NUMBER function_604(n0)
                                                                                    STRING s0[200];
                                                                                    STRING s1[200];
                                                                                    STRING s2[100];
                                                                                    STRING s3;
                                                                                    NUMBER n1;
                                                                                begin
                                                                                    // -- Start Function Code -- //
                                                                                    function_650();
                                                                                    s3 = LAST_RESULT;
                                                                                    KERNEL.GetModuleHandle(s3);
                                                                                    n1 = LAST_RESULT;
                                                                                    if(! n1) goto label_2205;                                            // normal if
                                                                                    function_566(11115);
                                                                                    s2 = LAST_RESULT;
                                                                                    function_566(n0);
                                                                                    s0 = LAST_RESULT;
                                                                                    function_634(s1, s0, g_str92);
                                                                                    function_451(0);
                                                                                    USER32.MessageBoxA(0, s1, s2, 16);
                                                                                    g_number99 = 1;
                                                                                    // -- Start Return Code -- //
                                                                                    return 1;

                                                                                // : Jump Referenced(1):
                                                                                // :  000349EA,
                                                                                label_2205:
                                                                                    // -- Start Return Code -- //
                                                                                    return 0;
                                                                                    // -- Create Local Variables -- //
                                                                                end;
                                                            // -- Start Return Code -- //
                                                            return -1;
                                                            // -- Create Local Variables -- //
                                                        end;)
                                    function_597(g_str3, "Result", 2, "", n3);
                                                                                (function NUMBER function_597(s0, s1, n0, s2, n1)
                                                                                    STRING s3[1020];
                                                                                    STRING s4;
                                                                                    STRING s5;
                                                                                    NUMBER n2;
                                                                                    NUMBER n3;
                                                                                begin
                                                                                    // -- Start Function Code -- //
                                                                                    n3 = g_number61 != 1;
                                                                                    if(! n3) goto label_2147;                                            // normal if
                                                                                    // -- Start Return Code -- //
                                                                                    return -1;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033C89,
                                                                                label_2147:
                                                                                    s5 = g_str76 + "-";
                                                                                    s0 = s5 + s0;
                                                                                    function_599(s0);
                                                                                    n3 = LAST_RESULT;
                                                                                    n3 = n3 == 0;
                                                                                    if(! n3) goto label_2151;                                            // normal if
                                                                                    function_508(g_number97, s0, 0);
                                                                                    n3 = LAST_RESULT;
                                                                                    n3 = n3 < 0;
                                                                                    if(! n3) goto label_2148;                                            // normal if
                                                                                    goto label_2159;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033D17,
                                                                                label_2148:
                                                                                    function_634(s3, "%s%d", "Dlg", g_number94);
                                                                                    s5 = g_str76 + "-";
                                                                                    s5 = s5 + "DlgOrder";
                                                                                    KERNEL32.WritePrivateProfileString(s5, s3, s0, g_str92);
                                                                                    n3 = LAST_RESULT;
                                                                                    n3 = n3 == 0;
                                                                                    if(! n3) goto label_2149;                                            // normal if
                                                                                    goto label_2159;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033D95,
                                                                                label_2149:
                                                                                    g_number94 = g_number94 + 1;
                                                                                    NumToStr(s4, g_number94);
                                                                                    n3 = LAST_RESULT;
                                                                                    if(! n3) goto label_2150;                                            // normal if
                                                                                    goto label_2159;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033DCF,
                                                                                label_2150:
                                                                                    s5 = g_str76 + "-";
                                                                                    s5 = s5 + "DlgOrder";
                                                                                    KERNEL32.WritePrivateProfileString(s5, "Count", s4, g_str92);
                                                                                    n3 = LAST_RESULT;
                                                                                    n3 = n3 == 0;
                                                                                    if(! n3) goto label_2151;                                            // normal if
                                                                                    goto label_2159;

                                                                                // : Jump Referenced(2):
                                                                                // :  00033CE1, 00033E39,
                                                                                label_2151:
                                                                                    n2 = 0;
                                                                                    // -- While/Switch -- //
                                                                                    n3 = n0 == 1;
                                                                                    if(! n3) goto label_2153;                                            // normal if
                                                                                    function_600(s0, s1, s2);
                                                                                    n2 = LAST_RESULT;
                                                                                    goto label_2157;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033E71,
                                                                                label_2153:
                                                                                    n3 = n0 == 2;
                                                                                    if(! n3) goto label_2154;                                            // normal if
                                                                                    function_601(s0, s1, n1);
                                                                                    n2 = LAST_RESULT;
                                                                                    goto label_2157;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033EB0,
                                                                                label_2154:
                                                                                    n3 = n0 == 3;
                                                                                    if(! n3) goto label_2155;                                            // normal if
                                                                                    function_602(s0, s1, n1);
                                                                                    n2 = LAST_RESULT;
                                                                                    goto label_2157;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033EEF,
                                                                                label_2155:
                                                                                    n3 = n0 == 4;
                                                                                    if(! n3) goto label_2156;                                            // normal if
                                                                                    function_603(s0, s1, g_str7, s2, 1);
                                                                                    n2 = LAST_RESULT;
                                                                                    goto label_2157;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033F2E,
                                                                                label_2156:
                                                                                    n2 = -10;

                                                                                // : Jump Referenced(4):
                                                                                // :  00033E96, 00033ED5, 00033F14, 00033F5B,
                                                                                label_2157:
                                                                                    if(! n2) goto label_2158;                                            // normal if
                                                                                    goto label_2159;

                                                                                // : Jump Referenced(1):
                                                                                // :  00033F74,
                                                                                label_2158:
                                                                                    // -- Start Return Code -- //
                                                                                    return n2;

                                                                                // : Jump Referenced(5):
                                                                                // :  00033D23, 00033DA1, 00033DDB, 00033E45, 00033F80,
                                                                                // :  
                                                                                label_2159:
                                                                                    function_604(-6);
                                                                                    // -- Start Return Code -- //
                                                                                    return -1;
                                                                                    // -- Create Local Variables -- //
                                                                                end;)
                                    // -- Start Return Code -- //
                                    return n3;
                                    // -- Create Local Variables -- //
                             end;)                       
    function_287(s4);
                            (function NUMBER function_287(s0)
                            NUMBER n0;
                        begin
                            // -- Start Function Code -- //
                            // -- Start Return Code -- //
                            ISRT._WaitOnDialog(g_number63, s0);
                            n0 = LAST_RESULT;
                            return n0;
                            // -- Create Local Variables -- //
                        end;)
    n3 = LAST_RESULT;
    // -- While/Switch -- //
    n10 = n3 == -100;
    if(! n10) goto label_518;                                            // normal if
                            (label_518:
                            n10 = n3 == 1;
                            if(! n10) goto label_529;                                            // normal if
                                                        (label_529:
                                                            n10 = n3 == 196;
                                                            if(! n10) goto label_532;                                            // normal if
                                                            s7 = "                                " + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s7 = s7 + "                                ";
                                                            s3 = s7 + "                               ";
                                                            function_288(s4);
                                                                                function NUMBER function_288(s0)
                                                                                    NUMBER n0;
                                                                                begin
                                                                                    // -- Start Function Code -- //
                                                                                    // -- Start Return Code -- //
                                                                                    ISRT._CmdGetHwndDlg(g_number63, s0);
                                                                                    n0 = LAST_RESULT;
                                                                                    return n0;
                                                                                    // -- Create Local Variables -- //
                                                                                end;
                                                            n0 = LAST_RESULT;
                                                            IsCprot.Hkjd734HJ98_h6t(n0, g_str25, s2, s3);
                                                            n10 = LAST_RESULT;
                                                            n10 = n10 >= 0;
                                                            if(! n10) goto label_531;                                            // normal if
                                                            function_292(s4, -2147482933, s3);
                                                                                                (function NUMBER function_292(s0, n0, s1)
                                                                                                    STRING s2[1024];
                                                                                                    NUMBER n1;
                                                                                                    NUMBER n2;
                                                                                                    NUMBER n3;
                                                                                                    NUMBER n6;
                                                                                                    NUMBER n7;
                                                                                                    NUMBER n8;
                                                                                                    NUMBER n9;
                                                                                                    NUMBER n10;
                                                                                                begin
                                                                                                    // -- Start Function Code -- //
                                                                                                    n8 = 0;
                                                                                                    n9 = n0 & -2147483648;
                                                                                                    if(! n9) goto label_931;                                             // normal if
                                                                                                    n8 = 1;
                                                                                                    n0 = n0 ^ -2147483648;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0001DE7B,
                                                                                                label_931:
                                                                                                    function_288(s0);
                                                                                                    n1 = LAST_RESULT;
                                                                                                    USER.GetDlgItem(n1, n0);
                                                                                                    n2 = LAST_RESULT;
                                                                                                    n9 = n2 == 0;
                                                                                                    if(! n9) goto label_932;                                             // normal if
                                                                                                    // -- Start Return Code -- //
                                                                                                    return -2;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0001DEDC,
                                                                                                label_932:
                                                                                                    SizeOf(s2);
                                                                                                    n9 = LAST_RESULT;
                                                                                                    USER.GetClassName(n2, s2, n9);
                                                                                                    n9 = s2 == "Edit";
                                                                                                    n10 = s2 == "Static";
                                                                                                    n9 = n9 || n10;
                                                                                                    n10 = s2 == "Button";
                                                                                                    n9 = n9 || n10;
                                                                                                    if(! n9) goto label_936;                                             // normal if
                                                                                                    n9 = s2 == "Edit";
                                                                                                    if(! n9) goto label_933;                                             // normal if
                                                                                                    USER.GetWindowLong(n2, -16);
                                                                                                    n3 = LAST_RESULT;
                                                                                                    n9 = n3 & 4;
                                                                                                    if(! n9) goto label_933;                                             // normal if
                                                                                                    // -- Start Return Code -- //
                                                                                                    return -7;

                                                                                                // : Jump Referenced(2):
                                                                                                // :  0001DF85, 0001DFB8,
                                                                                                label_933:
                                                                                                    n9 = s2 == "Static";
                                                                                                    n9 = n9 && n8;
                                                                                                    if(! n9) goto label_934;                                             // normal if
                                                                                                    function_628(s1);
                                                                                                    n9 = LAST_RESULT;
                                                                                                    ISRT.PathCompactPathPixel(n2, s1, s1, n9);
                                                                                                    n7 = LAST_RESULT;
                                                                                                    n9 = n7 > 0;
                                                                                                    if(! n9) goto label_934;                                             // normal if
                                                                                                    Resize(s1, n7);
                                                                                                    function_628(s1);
                                                                                                    n9 = LAST_RESULT;
                                                                                                    ISRT.PathCompactPathPixel(n2, s1, s1, n9);

                                                                                                // : Jump Referenced(2):
                                                                                                // :  0001DFF3, 0001E03D,
                                                                                                label_934:
                                                                                                    USER.SetWindowText(n2, s1);
                                                                                                    n9 = LAST_RESULT;
                                                                                                    n9 = n9 == 0;
                                                                                                    if(! n9) goto label_935;                                             // normal if
                                                                                                    // -- Start Return Code -- //
                                                                                                    return -1;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0001E09F,
                                                                                                label_935:
                                                                                                    goto label_939;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0001DF68,
                                                                                                label_936:
                                                                                                    n9 = s2 == "ComboBox";
                                                                                                    if(! n9) goto label_938;                                             // normal if
                                                                                                    USER.SendMessageA(n2, 12, 0, s1);
                                                                                                    n6 = LAST_RESULT;
                                                                                                    n9 = n6 == -1;
                                                                                                    if(! n9) goto label_937;                                             // normal if
                                                                                                    // -- Start Return Code -- //
                                                                                                    return -1;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0001E115,
                                                                                                label_937:
                                                                                                    goto label_939;

                                                                                                // : Jump Referenced(1):
                                                                                                // :  0001E0DA,
                                                                                                label_938:
                                                                                                    // -- Start Return Code -- //
                                                                                                    return -1;

                                                                                                // : Jump Referenced(2):
                                                                                                // :  0001E0BA, 0001E130,
                                                                                                label_939:
                                                                                                    // -- Start Return Code -- //
                                                                                                    return 0;
                                                                                                    // -- Create Local Variables -- //
                                                                                                end;)
                                                            function_33(s3, g_str25, s1);
                                                                                        (function NUMBER function_330(n0, n1, n2, n3)
                                                                                            NUMBER n4;
                                                                                            NUMBER n5;
                                                                                        begin
                                                                                            // -- Start Function Code -- //
                                                                                            function_621();
                                                                                            n5 = LAST_RESULT;
                                                                                            n5 = n5 != 2;
                                                                                            if(! n5) goto label_1141;                                            // normal if
                                                                                            function_450(-2);
                                                                                            n4 = LAST_RESULT;
                                                                                            USER.GetWindowLong(n4, -16);
                                                                                            n5 = LAST_RESULT;
                                                                                            n5 = n5 | 13565952;
                                                                                            USER32.SetWindowLong(n4, -16, n5);
                                                                                            n5 = LAST_RESULT;
                                                                                            n5 = n5 == 0;
                                                                                            if(! n5) goto label_1140;                                            // normal if
                                                                                            // -- Start Return Code -- //
                                                                                            return -1;

                                                                                        // : Jump Referenced(1):
                                                                                        // :  00021146,
                                                                                        label_1140:
                                                                                            USER.SetWindowPos(n4, 0, n0, n1, n2, n3, 36);

                                                                                        // : Jump Referenced(1):
                                                                                        // :  000210D4,
                                                                                        label_1141:
                                                                                            // -- Start Return Code -- //
                                                                                            return 0;
                                                                                            // -- Create Local Variables -- //
                                                                                        end;)
                                                            n10 = LAST_RESULT;
                                                            n10 = n10 < 0;
                                                            if(! n10) goto label_530;(创建列表-验证完成进入下一步)                                            // normal if
                                                            function_459("The specified file does not contain a valid IAR Systems license key.", -65535);
                                                            s1 = "";)
                            s7 = "License key dialog, OK pushed with key \'" + g_str27;
                            s7 = s7 + "\'";
                            LmsLogSup.LmsLogAddEntry(s7);
                            s1 = g_str27;
                            n10 = s1 == "";
                            if(! n10) goto label_519;                                            // normal if
                                                        (label_519:
                                                            function_34(s1);
                                                            n5 = LAST_RESULT;
                                                            function_28(s1, g_str29, g_str30);
                                                            n10 = n5 == 0;
                                                            n10 = n10 && g_number42;
                                                            n10 = n10 && g_number24;
                                                            if(! n10) goto label_520;                                            // normal if
                                                            function_428("IAR_PRODUCT");
                                                            s7 = LAST_RESULT;
                                                            s7 = "Your QuickStart key has expired.\n\nThe installation will continue, but you will not be\nable to use your IAR " + s7;
                                                            s7 = s7 + " unless you have\na valid license on a server.";
                                                            function_459(s7, -65534);)
                            function_459("You must supply a valid license key.", -65534);
                            goto label_528;
                            /*跳转到515重新要求输入Key:*/)
    function_288(s4);
                    (function NUMBER function_288(s0)
                    NUMBER n0;
                begin
                    // -- Start Function Code -- //
                    // -- Start Return Code -- //
                    ISRT._CmdGetHwndDlg(g_number63, s0);
                    n0 = LAST_RESULT;
                    return n0;
                    // -- Create Local Variables -- //
                end;)
    n0 = LAST_RESULT;
    function_551(s4, n0, 8, g_str2);
    function_292(s4, 710, "The license key can be either your QuickStart key or your permanent key.\nIf you enter the QuickStart key (found on the CD cover), you have 30 days to try the product out.");
    function_292(s4, 711, "If you have received the permanent key via email, you paste it into the License Key textbox.");
    function_428("TARGET_SUBDIR");
    s7 = LAST_RESULT;
    s7 = g_str20 ^ s7;
    s2 = s7 ^ "License";
    function_343(s2);
                    (function NUMBER function_343(s0)
                    NUMBER n3;
                begin
                    // -- Start Function Code -- //
                    function_635(s0);
                    ISRT._ExistsDir(s0);
                    n3 = LAST_RESULT;
                    if(! n3) goto label_1183;                                            // normal if
                    // -- Start Return Code -- //
                    return 0;

                // : Jump Referenced(1):
                // :  00021C7B,
                label_1183:
                    // -- Start Return Code -- //
                    return -1;
                    // -- Create Local Variables -- //
                end;)
    n10 = LAST_RESULT;
    n10 = n10 != 0;
    if(! n10) goto label_517;                                            // normal if
                        (label_517:
                            function_292(s4, -2147482933, s2);
                            function_292(s4, 301, s0);
                            function_503(0);
                            n7 = LAST_RESULT;
                            s7 = "License key dialog, displaying key \'" + g_str27;
                            s7 = s7 + "\'";
                            LmsLogSup.LmsLogAddEntry(s7);
                            function_508(n7, g_str27, 0);
                            function_299(s4, 302, n7);
                            function_504(n7);
                            USER.GetDlgItem(n0, 302);
                            n1 = LAST_RESULT;
                            USER.SetFocus(n1);
                            goto label_540;)
    function_648();
    s2 = LAST_RESULT;

----------------------------------------
lable_524开始判断Key:
    n10 = g_number42 == 0;
    n10 = g_number43 && n10;
    if(! n10) goto label_525;  (是n10验证失败:你需要网络授权码
    n10 = n5 == 1;
    n11 = g_number44 == 0;
    n10 = n10 && n11;
    n11 = g_number45 == 0;
    n10 = n10 && n11;
    n11 = g_number42 == 0;
    n10 = n10 && n11;
    if(! n10) goto label_526;(是n10验证失败:不是此主机的KEY)
    n10 = g_number25 && g_number53;
    if(! n10) goto label_527; (是n10验证失败:Key过期)
    LmsLogSup.LmsLogAddEntry("License key dialog, key is OK");(验证成功)

【公告】 [2022大礼包]《看雪论坛精华22期》发布!收录近1000余篇精华优秀文章!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (19)
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-24 16:18
2
0
贴上后有点乱,请下附件,求大牛们帮帮谢谢.
雪    币: 131
活跃值: 活跃值 (448)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lightgun 活跃值 2011-3-25 09:20
3
0
I@R-EWARM的产品啊,呵呵,还是在网上搜搜现成的keygen吧
installshield的脚本分析就算完了也只是走完了一小步而已
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-25 09:52
4
0
呵呵,这是个老版本的,4.42A的正式版的,跟Proteus结合的比较好.网上没有,所以一是想自己试试,二是也想学习下PEDIY精神.
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-25 09:54
5
0
如果没有错的话,这个应该就是验证过程了:
function NUMBER function_66(s0, s1)
    STRING s2;
    STRING s3;
    STRING s4;
    STRING s5;
    STRING s7;
    STRING s8;
    NUMBER n0;
    NUMBER n1;
    NUMBER n2;
    NUMBER n3;
    NUMBER n4;
    NUMBER n5;
    NUMBER n7;
    NUMBER n9;
    NUMBER n10;
    NUMBER n11;
begin
    // -- Start Function Code -- //
    s4 = "LICENSE_KEY";
    n9 = 15001;
    function_621();
    n10 = LAST_RESULT;
    n10 = n10 == 2;
    if(! n10) goto label_512;                                            // normal if
    function_560(g_str3, s4, "License Key", g_number17);
    function_598(g_str3, "Result", 2, s5, n3);
    n10 = n3 != 12;
    n11 = n3 != 2;
    n10 = n10 && n11;
    if(! n10) goto label_511;                                            // normal if
    function_598(g_str3, "LicenseKey", 4, s1, n4);
    s7 = "Read license key from silent file: \'" + s1;
    s7 = s7 + "\'";
    LmsLogSup.LmsLogAddEntry(s7);

// : Jump Referenced(1):
// :  00013E70,
label_511:
    // -- Start Return Code -- //
    return n3;

// : Jump Referenced(1):
// :  00013DFF,
label_512:
    n10 = g_number14 == 0;
    if(! n10) goto label_513;                                            // normal if
    function_549();

// : Jump Referenced(1):
// :  00013F03,
label_513:
    function_284(s4, "", "", n9);
    n10 = LAST_RESULT;
    n10 = n10 == -1;
    if(! n10) goto label_514;                                            // normal if
    // -- Start Return Code -- //
    return -1;

// : Jump Referenced(1):
// :  00013F42,
label_514:
    n2 = 0;

// : Jump Referenced(1):
// :  00015292,
label_515:
    // -- While/Switch -- //
    n10 = n2 == 0;
    if(! n10) goto label_541;                                            // normal if
    function_287(s4);
    n3 = LAST_RESULT;
    // -- While/Switch -- //
    n10 = n3 == -100;
    if(! n10) goto label_518;                                            // normal if
    function_288(s4);
    n0 = LAST_RESULT;
    function_551(s4, n0, 8, g_str2);
    function_292(s4, 710, "The license key can be either your QuickStart key or your permanent key.\nIf you enter the QuickStart key (found on the CD cover), you have 30 days to try the product out.");
    function_292(s4, 711, "If you have received the permanent key via email, you paste it into the License Key textbox.");
    function_428("TARGET_SUBDIR");
    s7 = LAST_RESULT;
    s7 = g_str20 ^ s7;
    s2 = s7 ^ "License";
    function_343(s2);
    n10 = LAST_RESULT;
    n10 = n10 != 0;
    if(! n10) goto label_517;                                            // normal if
    function_648();
    s2 = LAST_RESULT;

// : Jump Referenced(1):
// :  00014170,
label_517:
    function_292(s4, -2147482933, s2);
    function_292(s4, 301, s0);
    function_503(0);
    n7 = LAST_RESULT;
    s7 = "License key dialog, displaying key \'" + g_str27;
    s7 = s7 + "\'";
    LmsLogSup.LmsLogAddEntry(s7);
    function_508(n7, g_str27, 0);
    function_299(s4, 302, n7);
    function_504(n7);
    USER.GetDlgItem(n0, 302);
    n1 = LAST_RESULT;
    USER.SetFocus(n1);
    goto label_540;

// : Jump Referenced(1):
// :  00013FB2,
label_518:
    n10 = n3 == 1;
    if(! n10) goto label_529;                                            // normal if
    s7 = "License key dialog, OK pushed with key \'" + g_str27;
    s7 = s7 + "\'";
    LmsLogSup.LmsLogAddEntry(s7);
    s1 = g_str27;
    n10 = s1 == "";
    if(! n10) goto label_519;                                            // normal if
    function_459("You must supply a valid license key.", -65534);
    goto label_528;

// : Jump Referenced(1):
// :  000142E2,
label_519:
    function_34(s1);
    n5 = LAST_RESULT;
    function_28(s1, g_str29, g_str30);
    n10 = n5 == 0;
    n10 = n10 && g_number42;
    n10 = n10 && g_number24;
    if(! n10) goto label_520;                                            // normal if
    function_428("IAR_PRODUCT");
    s7 = LAST_RESULT;
    s7 = "Your QuickStart key has expired.\n\nThe installation will continue, but you will not be\nable to use your IAR " + s7;
    s7 = s7 + " unless you have\na valid license on a server.";
    function_459(s7, -65534);

// : Jump Referenced(1):
// :  00014376,
label_520:
    function_428("FEATURE_LIST");
    s7 = LAST_RESULT;
    s8 = g_str29 + ",";
    s8 = s8 + g_str30;
    StrFind(s7, s8);
    n10 = LAST_RESULT;
    n10 = n10 < 0;
    if(! n10) goto label_521;                                            // normal if
    LmsLogSup.LmsLogAddEntry("License key dialog, key is for another product");
    function_459("The given license key is not for this product.\nPlease make sure that you have specified the\ncorrect license number and license key.", -65535);
    goto label_528;

// : Jump Referenced(1):
// :  000144BF,
label_521:
    n10 = n5 == 3;
    if(! n10) goto label_522;                                            // normal if
    s7 = "License key dialog, license number encoded in key " + "but is not same as the one entered in user dialog";
    LmsLogSup.LmsLogAddEntry(s7);
    function_459("The given license key is for another license number.\nPlease make sure that you have specified the\ncorrect license number and license key.", -65535);
    goto label_528;

// : Jump Referenced(1):
// :  000145AD,
label_522:
    n10 = n5 == 2;
    if(! n10) goto label_523;                                            // normal if
    s7 = "License key dialog, short string but cannot be " + "recognized as a valid QuickStart key";
    LmsLogSup.LmsLogAddEntry(s7);
    function_459("The QuickStart key was either not correctly entered or, is not valid for this version of the product.", -65534);
    goto label_528;

// : Jump Referenced(1):
// :  000146E3,
label_523:
    n10 = n5 < 0;
    if(! n10) goto label_524;                                            // normal if
    LmsLogSup.LmsLogAddEntry("License key dialog, error in decoding key");
    function_459("The given license key is not a valid IAR Systems\nlicense key. Please make sure that you have entered\nor read the correct license key.", -65534);
    goto label_528;

// : Jump Referenced(1):
// :  000147E5,
label_524:
    n10 = g_number42 == 0;
    n10 = g_number43 && n10;
    if(! n10) goto label_525;                                            // normal if
    s7 = "License key dialog, entered key has been used " + "earlier for server install, but entered key ";
    s7 = s7 + "is not a network key";
    LmsLogSup.LmsLogAddEntry(s7);
    function_459("The current license number is used by the server.\nYou need a Network license key for this license number.", -65533);
    goto label_528;

// : Jump Referenced(1):
// :  000148DD,
label_525:
    n10 = n5 == 1;
    n11 = g_number44 == 0;
    n10 = n10 && n11;
    n11 = g_number45 == 0;
    n10 = n10 && n11;
    n11 = g_number42 == 0;
    n10 = n10 && n11;
    if(! n10) goto label_526;                                            // normal if
    LmsLogSup.LmsLogAddEntry("License key dialog, key not for this host");
    function_459("The given license is not for this host. Please\nspecify a license key that is valid for this host.", -65535);
    goto label_528;

// : Jump Referenced(1):
// :  00014A5F,
label_526:
    n10 = g_number25 && g_number53;
    if(! n10) goto label_527;                                            // normal if
    s7 = "License key dialog, key has expired and this " + "product may not be installed with expired key";
    LmsLogSup.LmsLogAddEntry(s7);
    function_459("The license key has expired.\n\nThis product cannot be installed with an expired license key.", -65535);
    goto label_528;

// : Jump Referenced(1):
// :  00014B24,
label_527:
    LmsLogSup.LmsLogAddEntry("License key dialog, key is OK");
    n3 = 1;
    n2 = 1;

// : Jump Referenced(8):
// :  00014320, 00014593, 000146C9, 000147CB, 000148B6,
// :  000149F1, 00014B0C, 00014C09,
label_528:
    goto label_540;

// : Jump Referenced(1):
// :  00014273,
label_529:
    n10 = n3 == 196;
    if(! n10) goto label_532;                                            // normal if
    s7 = "                                " + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s7 = s7 + "                                ";
    s3 = s7 + "                               ";
    function_288(s4);
    n0 = LAST_RESULT;
    IsCprot.Hkjd734HJ98_h6t(n0, g_str25, s2, s3);
    n10 = LAST_RESULT;
    n10 = n10 >= 0;
    if(! n10) goto label_531;                                            // normal if
    function_292(s4, -2147482933, s3);
    function_33(s3, g_str25, s1);
    n10 = LAST_RESULT;
    n10 = n10 < 0;
    if(! n10) goto label_530;                                            // normal if
    function_459("The specified file does not contain a valid IAR Systems license key.", -65535);
    s1 = "";

// : Jump Referenced(1):
// :  00014FBF,
label_530:
    g_str27 = s1;
    function_503(0);
    n7 = LAST_RESULT;
    function_508(n7, s1, 0);
    function_299(s4, 302, n7);
    function_504(n7);

// : Jump Referenced(1):
// :  00014F7A,
label_531:
    goto label_540;

// : Jump Referenced(1):
// :  00014C6E,
label_532:
    n10 = n3 == 302;
    if(! n10) goto label_536;                                            // normal if
    function_289(s4);
    n5 = LAST_RESULT;
    n10 = n5 == -1007;
    if(! n10) goto label_535;                                            // normal if
    function_503(0);
    n7 = LAST_RESULT;
    function_298(s4, 302, n7);
    g_str27 = "";
    function_512(n7, s5);
    n4 = LAST_RESULT;

// : Jump Referenced(1):
// :  00015153,
label_533:
    // -- While/Switch -- //
    n10 = n4 == 0;
    if(! n10) goto label_534;                                            // normal if
    g_str27 = g_str27 + s5;
    function_514(n7, s5);
    n4 = LAST_RESULT;
    goto label_533;

// : Jump Referenced(1):
// :  00015124,
label_534:
    function_504(n7);

// : Jump Referenced(1):
// :  000150BD,
label_535:
    goto label_540;

// : Jump Referenced(1):
// :  0001508F,
label_536:
    n10 = n3 == 12;
    if(! n10) goto label_537;                                            // normal if
    n3 = 12;
    n2 = 1;
    goto label_540;

// : Jump Referenced(1):
// :  00015183,
label_537:
    n10 = n3 == -1;
    if(! n10) goto label_538;                                            // normal if
    function_558(-1, "SdComponentDialog2");
    n3 = -1;
    n2 = 1;
    goto label_540;

// : Jump Referenced(1):
// :  000151C1,
label_538:
    n10 = n3 == -200;
    if(! n10) goto label_539;                                            // normal if
    function_559(n0, n3, n2);
    goto label_540;

// : Jump Referenced(1):
// :  0001521F,
label_539:
    function_552(n3);
    n10 = LAST_RESULT;
    function_553(n3);
    n11 = LAST_RESULT;
    n10 = n10 && n11;
    if(! n10) goto label_540;                                            // normal if
    n2 = 1;

// : Jump Referenced(8):
// :  00014259, 00014C54, 00015075, 00015169, 000151A7,
// :  00015205, 0001523A, 00015278,
label_540:
    goto label_515;

// : Jump Referenced(1):
// :  00013F7E,
label_541:
    function_285(s4);
    function_286(s4);
    function_550();
    function_560(g_str3, s4, "License Key", g_number16);
    function_597(g_str3, "LicenseKey", 4, s1, n4);
    function_597(g_str3, "Result", 2, "", n3);
    // -- Start Return Code -- //
    return n3;
    // -- Create Local Variables -- //
end;
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-25 14:37
6
0
序列号的验证过程:
function NUMBER function_26(local_string1)
@0000A979           NUMBER local_number1, local_number2, local_number3, local_number4, local_number5;
@0000A979           STRING local_string3, local_string4, local_string5;
@0000A979
@0000A979        begin
@0000A982:0006         local_string3 = "";
@0000A98C:0006         local_number1 = 0;
@0000A998:0021         StrLength(local_string1);
@0000A9A1:0006         local_number3 = LASTRESULT;
@0000A9AB:0008   label_a9ab:
@0000A9AD:000B         local_number4 = (local_number1 <= local_number3);
@0000A9BA:0004         if(local_number4) then // ref index: 2
@0000A9C6:0029            StrSub(local_string4, local_string1, local_number1, 1);
@0000A9D8:000E            local_number4 = (local_string4 != " ");
@0000A9E6:000E            local_number5 = (local_string4 != "-");
@0000A9F4:0019            local_number4 = (local_number4 = local_number5);
@0000AA01:0004            if(local_number4) then // ref index: 1
@0000AA0D:0007               local_string3 = (local_string3 + local_string4);
@0000AA1A:0002            endif;
@0000AA1A:0002   label_aa1a:
@0000AA1C:0007            local_number1 = (local_number1 + 1);
@0000AA2B:0005            goto label_a9ab;
@0000AA34:0009         endif;
@0000AA34:0009   label_aa34:
@0000AA36:0020         kjeRszsoiumvtos(local_string3, global_string17); // dll: IsCprot.dll
@0000AA42:0006         local_number2 = LASTRESULT;
@0000AA4C:0009         local_number3 = (local_number2 < 0);
@0000AA5B:0004         if(local_number3) then // ref index: 1
@0000AA67:0007            local_string5 = ("Illegal license number '" + local_string1);
@0000AA8C:0007            local_string5 = (local_string5 + "'");
@0000AA9A:0020            LmsLogAddEntry(local_string5); // dll: LmsLogSup.dll
@0000AAA3:0027            // return coming
@0000AAA7:0023            return 0;
@0000AAB0:000E         endif;
@0000AAB0:000E   label_aab0:
@0000AAB2:0029         StrSub(local_string4, global_string17, 0, 4);
@0000AAC6:0006         local_string1 = local_string4;
@0000AAD0:0029         StrSub(local_string4, global_string17, 4, 3);
@0000AAE4:0007         local_string5 = (local_string1 + "-");
@0000AAF2:0007         local_string1 = (local_string5 + local_string4);
@0000AAFF:0029         StrSub(local_string4, global_string17, 7, 3);
@0000AB13:0007         local_string5 = (local_string1 + "-");
@0000AB21:0007         local_string1 = (local_string5 + local_string4);
@0000AB2E:0029         StrSub(local_string4, global_string17, 10, 4);
@0000AB42:0007         local_string5 = (local_string1 + "-");
@0000AB50:0007         local_string1 = (local_string5 + local_string4);
@0000AB5D:0027         // return coming
@0000AB61:0023         return 1;
@0000AB6A:0026   end; // checksum: 85fa79a0
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-25 14:49
7
0
这是算对应License Key的:
function NUMBER function_34(local_string1)
@0000BE47           NUMBER local_number1, local_number2, local_number3, local_number5, local_number6;
@0000BE47           STRING local_string2, local_string4, local_string5;
@0000BE47
@0000BE47        begin
@0000BE50:0006         local_string1 = global_string26;
@0000BE5A:0006         global_number24 = 0;
@0000BE66:0020         HJ98_h6tHkjd734(local_string1); // dll: IsCprot.dll
@0000BE6F:0006         local_number1 = LASTRESULT;
@0000BE79:0021         StrLength(global_string26);
@0000BE82:0006         local_number5 = LASTRESULT;
@0000BE8C:000D         local_number5 = (local_number5 = 16);
@0000BE9B:0004         if(local_number5) then // ref index: 6
@0000BEA7:0006            local_string4 = global_string26;
@0000BEB1:0021            function_653();
@0000BEB7:0006            local_string5 = LASTRESULT;
@0000BEC1:0021            function_356(local_string5, "*.cdk", local_string2, 1);
@0000BEDA:0006            local_number2 = LASTRESULT;
@0000BEE4:0006            local_number3 = 0;
@0000BEF0:0012   label_bef0:
@0000BEF2:0001            // switch/while/???
@0000BEF6:000D            local_number5 = (local_number2 = 0);
@0000BF05:000D            local_number6 = (global_number24 = 0);
@0000BF14:0019            local_number5 = (local_number5 = local_number6);
@0000BF21:000D            local_number6 = (local_number3 = 0);
@0000BF30:0019            local_number5 = (local_number5 = local_number6);
@0000BF3D:0004            if(local_number5) then // ref index: 4
@0000BF49:0021               function_27(global_string17, global_string26, local_string2, local_string1);
@0000BF5B:0006               local_number1 = LASTRESULT;
@0000BF65:000D               local_number5 = (local_number1 = -11);
@0000BF74:0004               if(local_number5) then // ref index: 1
@0000BF80:0006                  global_number24 = 1;
@0000BF8C:0007                  local_string5 = ("Converting expired QSK '" + local_string4);
@0000BFB1:0007                  local_string5 = (local_string5 + "' to long key '");
@0000BFCD:0007                  local_string5 = (local_string5 + local_string1);
@0000BFDA:0007                  local_string5 = (local_string5 + "'");
@0000BFE8:0020                  LmsLogAddEntry(local_string5); // dll: LmsLogSup.dll
@0000BFF1:0005                  goto label_c0a6;
@0000BFFA:0003               endif;
@0000BFFA:0003   label_bffa:
@0000BFFC:000D               local_number5 = (local_number1 = -12);
@0000C00B:0004               if(local_number5) then // ref index: 1
@0000C017:0005                  goto label_c0a6;
@0000C020:0008               endif;
@0000C020:0008   label_c020:
@0000C022:000C               local_number5 = (local_number1 >= 0);
@0000C031:0004               if(local_number5) then // ref index: 1
@0000C03D:0006                  local_number3 = 1;
@0000C049:0007                  local_string5 = ("Converting QSK '" + local_string4);
@0000C066:0007                  local_string5 = (local_string5 + "' to long key '");
@0000C082:0007                  local_string5 = (local_string5 + local_string1);
@0000C08F:0007                  local_string5 = (local_string5 + "'");
@0000C09D:0020                  LmsLogAddEntry(local_string5); // dll: LmsLogSup.dll
@0000C0A6:0005               endif;
@0000C0A6:0005   label_c0a6:
@0000C0A8:0021               function_653();
@0000C0AE:0006               local_string5 = LASTRESULT;
@0000C0B8:0021               function_356(local_string5, "*.cdk", local_string2, 0);
@0000C0D1:0006               local_number2 = LASTRESULT;
@0000C0DB:0005               goto label_bef0;
@0000C0E4:000A            endif;
@0000C0E4:000A   label_c0e4:
@0000C0E6:0021            function_653();
@0000C0EC:0006            local_string5 = LASTRESULT;
@0000C0F6:0021            function_356(local_string5, "*.cdk", local_string2, 2);
@0000C10F:000D            local_number5 = (local_number3 = 0);
@0000C11E:000D            local_number6 = (global_number24 = 0);
@0000C12D:0019            local_number5 = (local_number5 = local_number6);
@0000C13A:0004            if(local_number5) then // ref index: 1
@0000C146:0020               LmsLogAddEntry("QSK not valid. Error"); // dll: LmsLogSup.dll
@0000C163:0027               // return coming
@0000C167:0023               return 2;
@0000C170:0007            endif;
@0000C170:0007         endif;
@0000C170:0007   label_c170:
@0000C172:0021         function_29(global_string17, local_string1);
@0000C17E:0006         local_number1 = LASTRESULT;
@0000C188:000D         local_number5 = (local_number1 = 0);
@0000C197:0004         if(local_number5) then // ref index: 1
@0000C1A3:0027            // return coming
@0000C1A7:0023            return 1;
@0000C1B0:0005            goto label_c22c;
@0000C1B9:0005         endif;
@0000C1B9:0005   label_c1b9:
@0000C1BB:000C         local_number5 = (local_number1 >= 2);
@0000C1CA:0004         if(local_number5) then // ref index: 1
@0000C1D6:0027            // return coming
@0000C1DA:0023            return 3;
@0000C1E3:0005            goto label_c22c;
@0000C1EC:0005         endif;
@0000C1EC:0005   label_c1ec:
@0000C1EE:0009         local_number5 = (local_number1 < 0);
@0000C1FD:0004         if(local_number5) then // ref index: 1
@0000C209:0027            // return coming
@0000C20D:0023            return local_number1;
@0000C214:0005            goto label_c22c;
@0000C21D:0002         endif;
@0000C21D:0002   label_c21d:
@0000C21F:0027         // return coming
@0000C223:0023         return 0;
@0000C22C:0001   label_c22c:
@0000C22E:0026   end; // checksum: 96942b9d
结果必需为返回值为为验证
雪    币: 131
活跃值: 活跃值 (448)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lightgun 活跃值 2011-3-25 14:55
8
0
呵呵,installshield的脚本只是验证的一部分
如果你只是练手,这个软件不适合你
PS 这个软件是采用sentinel lm加密的
雪    币: 131
活跃值: 活跃值 (448)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lightgun 活跃值 2011-3-25 15:02
9
0
依据你给的key和HOSTID  235B3
给你如下安装码
SN:1024-295-131-4553
KEY:IRX9I20E1MMG0SVC308G7NXBGE3ZBOUODFGC8F7LEIWJY38GDTBH9TAIWQVSUWUJ0V17T4M3LL76UALUWJ1PSEZU1YRYRD29G1VQQSNTDKFNB3YR5TSKPVROZDZL15EKWXHH041HPIUPKKT1E5ZW3ANAYP1BFBX2KXGUZOQTRO42P0QLS5HYC0DKMZOAV#
Good Luck!
Don't use it for commercial purpose.
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-25 15:43
10
0
呵呵,太谢谢您,呵呵,不过你给的Key不好用.有可能是我这边分析的有部分小问题,这个是正式版的不是从官网上下的那种试用版,我不知道用,我不太懂sentinel lm,不过我想安装的时候只要序列号不报错应该就没有问题吧?
另外发现除了调用installshield还在function_26中调用了
kjeRszsoiumvtos(local_string3, global_string17); // dll: IsCprot.dll
HJ98_h6tHkjd734(local_string1); // dll: IsCprot.dll
我把安装文件生存的临时目录中的几个dll文件也打了个包,如果可以帮忙看看,呵呵.
Proteus软件能模拟51和ARM系列的MCU,这样能省买开发板了,能降低点学习成本.
而IAR For ARM比起Keil给的系统资料会更全点.但问题是Proteus支持的C-Spy调试接口协议只支持到IAR For ARM的4.42A版本,而能下的到试用版倒是有KeyGen但缺少像TCP,USB这部分的源文件.所以找到了一份4,42A的零售完整版的,但是Key是没有办法了,用试用版的KeyGen不能用,所以想自己试试,不知道您能不能帮下忙我把整个安装包做了个镜像放到了http://www.oxwxo.com/arm.iso能帮忙看看吗?造福下隔半个行的兄弟
上传的附件:
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-25 16:16
11
0
function NUMBER function_66(local_string1, local_string2)                                                                                                                                                                                                                  
   NUMBER local_number1, local_number2, local_number3, local_number4, local_number5, local_number6, local_number8, local_number10, local_number11, local_number12;                                                                                                         
   STRING local_string3, local_string4, local_string5, local_string6, local_string8, local_string9;                                                                                                                                                                        
                                                                                                                                                                                                                                                                           
begin                                                                                                                                                                                                                                                                     
      local_string5 = "LICENSE_KEY";                                                                                                                                                                                                                                       
      local_number10 = 15001;                                                                                                                                                                                                                                             
      function_621();                                                                                                                                                                                                                                                      
      local_number11 = LASTRESULT;                                                                                                                                                                                                                                         
      local_number11 = (local_number11 = 2);                                                                                                                                                                                                                              
      if(local_number11) then // ref index: 2                                                                                                                                                                                                                              
         SdMakeName(global_string3, local_string5, "License Key", global_number17);                                                                                                                                                                                       
         SilentReadData(global_string3, "Result", 2, local_string6, local_number4);                                                                                                                                                                                       
         local_number11 = (local_number4 != 12);                                                                                                                                                                                                                           
         local_number12 = (local_number4 != 2);                                                                                                                                                                                                                           
         local_number11 = (local_number11 = local_number12);                                                                                                                                                                                                               
         if(local_number11) then // ref index: 1                                                                                                                                                                                                                           
            SilentReadData(global_string3, "LicenseKey", 4, local_string2, local_number5);                                                                                                                                                                                 
            local_string8 = ("Read license key from silent file: '" + local_string2);                                                                                                                                                                                      
            local_string8 = (local_string8 + "'");                                                                                                                                                                                                                        
            LmsLogAddEntry(local_string8); // dll: LmsLogSup.dll                                                                                                                                                                                                           
         endif;                                                                                                                                                                                                                                                            
label_13ee5:                                                                                                                                                                                                                                                               
         // return coming                                                                                                                                                                                                                                                  
         return local_number4;                                                                                                                                                                                                                                             
      endif;                                                                                                                                                                                                                                                               
label_13ef2:                                                                                                                                                                                                                                                               
      local_number11 = (global_number14 = 0);                                                                                                                                                                                                                              
      if(local_number11) then // ref index: 1                                                                                                                                                                                                                              
         SdInit();                                                                                                                                                                                                                                                         
      endif;                                                                                                                                                                                                                                                               
label_13f15:                                                                                                                                                                                                                                                               
      EzDefineDialog(local_string5, "", "", local_number10);                                                                                                                                                                                                               
      local_number11 = LASTRESULT;                                                                                                                                                                                                                                         
      local_number11 = (local_number11 = -1);                                                                                                                                                                                                                              
      if(local_number11) then // ref index: 1                                                                                                                                                                                                                              
         // return coming                                                                                                                                                                                                                                                  
         return -1;                                                                                                                                                                                                                                                        
      endif;                                                                                                                                                                                                                                                               
label_13f5b:                                                                                                                                                                                                                                                               
      local_number3 = 0;                                                                                                                                                                                                                                                   
label_13f69:                                                                                                                                                                                                                                                               
      // switch/while/???                                                                                                                                                                                                                                                  
      local_number11 = (local_number3 = 0);                                                                                                                                                                                                                                
      if(local_number11) then // ref index: 26                                                                                                                                                                                                                             
         CmdGetHwndDlg/WaitOnDialog(local_string5);                                                                                                                                                                                                                        
         local_number4 = LASTRESULT;                                                                                                                                                                                                                                       
         // switch/while/???                                                                                                                                                                                                                                               
label_13fa1:                                                                                                                                                                                                                                                               
         local_number11 = (local_number4 = -100);                                                                                                                                                                                                                          
         if(local_number11) then // ref index: 2                                                                                                                                                                                                                           
            CtrlGetSubCommand/CmdGetHwndDlg(local_string5);                                                                                                                                                                                                               
            local_number1 = LASTRESULT;                                                                                                                                                                                                                                    
            function_551(local_string5, local_number1, 8, global_string2);                                                                                                                                                                                                
            CtrlGetCurSel(local_string5, 710, "The license key can be either your QuickStart key or your permanent key.\nIf you enter the QuickStart key (found on the CD cover), you have 30 days to try the product out.");                                             
            CtrlGetCurSel(local_string5, 711, "If you have received the permanent key via email, you paste it into the License Key textbox.");                                                                                                                             
            function_428("TARGET_SUBDIR");                                                                                                                                                                                                                                 
            local_string8 = LASTRESULT;                                                                                                                                                                                                                                    
            local_string8 = (global_string20 ^ local_string8);                                                                                                                                                                                                            
            local_string3 = (local_string8 ^ "License");                                                                                                                                                                                                                  
            ExistsDir(local_string3);                                                                                                                                                                                                                                      
            local_number11 = LASTRESULT;                                                                                                                                                                                                                                   
            local_number11 = (local_number11 != 0);                                                                                                                                                                                                                        
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               function_648();                                                                                                                                                                                                                                             
               local_string3 = LASTRESULT;                                                                                                                                                                                                                                 
            endif;                                                                                                                                                                                                                                                         
label_1418c:                                                                                                                                                                                                                                                               
            CtrlGetCurSel(local_string5, -2147482933, local_string3);                                                                                                                                                                                                      
            CtrlGetCurSel(local_string5, 301, local_string1);                                                                                                                                                                                                              
            ListCreate(0);                                                                                                                                                                                                                                                
            local_number8 = LASTRESULT;                                                                                                                                                                                                                                    
            local_string8 = ("License key dialog, displaying key '" + global_string27);                                                                                                                                                                                    
            local_string8 = (local_string8 + "'");                                                                                                                                                                                                                        
            LmsLogAddEntry(local_string8); // dll: LmsLogSup.dll                                                                                                                                                                                                           
            function_508(local_number8, global_string27, 0);                                                                                                                                                                                                               
            function_299(local_string5, 302, local_number8);                                                                                                                                                                                                               
            ListCount/ListDestroy(local_number8);                                                                                                                                                                                                                          
            GetDlgItem(local_number1, 302); // dll: USER.dll                                                                                                                                                                                                               
            local_number2 = LASTRESULT;                                                                                                                                                                                                                                    
            SetFocus(local_number2); // dll: USER.dll                                                                                                                                                                                                                     
            goto label_15290;                                                                                                                                                                                                                                             
         endif;                                                                                                                                                                                                                                                            
label_14262:                                                                                                                                                                                                                                                               
         local_number11 = (local_number4 = 1);                                                                                                                                                                                                                             
         if(local_number11) then // ref index: 11                                                                                                                                                                                                                          
            local_string8 = ("License key dialog, OK pushed with key '" + global_string27);                                                                                                                                                                                
            local_string8 = (local_string8 + "'");                                                                                                                                                                                                                        
            LmsLogAddEntry(local_string8); // dll: LmsLogSup.dll                                                                                                                                                                                                           
            local_string2 = global_string27;                                                                                                                                                                                                                              
            local_number11 = (local_string2 = "");                                                                                                                                                                                                                        
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               function_459("You must supply a valid license key.", -65534);                                                                                                                                                                                               
               goto label_14c52;                                                                                                                                                                                                                                          
            endif;                                                                                                                                                                                                                                                         
label_14329:                                                                                                                                                                                                                                                               
            function_34(local_string2);                                                                                                                                                                                                                                    
            local_number6 = LASTRESULT;                                                                                                                                                                                                                                    
            function_28(local_string2, global_string29, global_string30);                                                                                                                                                                                                  
            local_number11 = (local_number6 = 0);                                                                                                                                                                                                                          
            local_number11 = (local_number11 = global_number42);                                                                                                                                                                                                           
            local_number11 = (local_number11 = global_number24);                                                                                                                                                                                                           
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               function_428("IAR_PRODUCT");                                                                                                                                                                                                                                
               local_string8 = LASTRESULT;                                                                                                                                                                                                                                 
               local_string8 = ("Your QuickStart key has expired.\n\nThe installation will continue, but you will not be\nable to use your IAR " + local_string8);                                                                                                         
               local_string8 = (local_string8 + " unless you have\na valid license on a server.");                                                                                                                                                                        
               function_459(local_string8, -65534);                                                                                                                                                                                                                        
            endif;                                                                                                                                                                                                                                                         
label_14460:                                                                                                                                                                                                                                                               
            function_428("FEATURE_LIST");                                                                                                                                                                                                                                 
            local_string8 = LASTRESULT;                                                                                                                                                                                                                                    
            local_string9 = (global_string29 + ",");                                                                                                                                                                                                                       
            local_string9 = (local_string9 + global_string30);                                                                                                                                                                                                            
            StrFind(local_string8, local_string9);                                                                                                                                                                                                                        
            local_number11 = LASTRESULT;                                                                                                                                                                                                                                   
            local_number11 = (local_number11 < 0);                                                                                                                                                                                                                        
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               LmsLogAddEntry("License key dialog, key is for another product"); // dll: LmsLogSup.dll                                                                                                                                                                     
               function_459("The given license key is not for this product.\nPlease make sure that you have specified the\ncorrect license number and license key.", -65535);                                                                                             
               goto label_14c52;                                                                                                                                                                                                                                          
            endif;                                                                                                                                                                                                                                                         
label_1459c:                                                                                                                                                                                                                                                               
            local_number11 = (local_number6 = 3);                                                                                                                                                                                                                          
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               local_string8 = ("License key dialog, license number encoded in key " + "but is not same as the one entered in user dialog");                                                                                                                              
               LmsLogAddEntry(local_string8); // dll: LmsLogSup.dll                                                                                                                                                                                                        
               function_459("The given license key is for another license number.\nPlease make sure that you have specified the\ncorrect license number and license key.", -65535);                                                                                       
               goto label_14c52;                                                                                                                                                                                                                                          
            endif;                                                                                                                                                                                                                                                         
label_146d2:                                                                                                                                                                                                                                                               
            local_number11 = (local_number6 = 2);                                                                                                                                                                                                                          
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               local_string8 = ("License key dialog, short string but cannot be " + "recognized as a valid QuickStart key");                                                                                                                                               
               LmsLogAddEntry(local_string8); // dll: LmsLogSup.dll                                                                                                                                                                                                        
               function_459("The QuickStart key was either not correctly entered or, is not valid for this version of the product.", -65534);                                                                                                                              
               goto label_14c52;                                                                                                                                                                                                                                          
            endif;                                                                                                                                                                                                                                                         
label_147d4:                                                                                                                                                                                                                                                               
            local_number11 = (local_number6 < 0);                                                                                                                                                                                                                          
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               LmsLogAddEntry("License key dialog, error in decoding key"); // dll: LmsLogSup.dll                                                                                                                                                                          
               function_459("The given license key is not a valid IAR Systems\nlicense key. Please make sure that you have entered\nor read the correct license key.", -65534);                                                                                            
               goto label_14c52;                                                                                                                                                                                                                                          
            endif;                                                                                                                                                                                                                                                         
label_148bf:                                                                                                                                                                                                                                                               
            local_number11 = (global_number42 = 0);                                                                                                                                                                                                                        
            local_number11 = (global_number43 = local_number11);                                                                                                                                                                                                           
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               local_string8 = ("License key dialog, entered key has been used " + "earlier for server install, but entered key ");                                                                                                                                       
               local_string8 = (local_string8 + "is not a network key");                                                                                                                                                                                                   
               LmsLogAddEntry(local_string8); // dll: LmsLogSup.dll                                                                                                                                                                                                        
               function_459("The current license number is used by the server.\nYou need a Network license key for this license number.", -65533);                                                                                                                        
               goto label_14c52;                                                                                                                                                                                                                                          
            endif;                                                                                                                                                                                                                                                         
label_149fa:                                                                                                                                                                                                                                                               
            local_number11 = (local_number6 = 1);                                                                                                                                                                                                                          
            local_number12 = (global_number44 = 0);                                                                                                                                                                                                                        
            local_number11 = (local_number11 = local_number12);                                                                                                                                                                                                            
            local_number12 = (global_number45 = 0);                                                                                                                                                                                                                        
            local_number11 = (local_number11 = local_number12);                                                                                                                                                                                                            
            local_number12 = (global_number42 = 0);                                                                                                                                                                                                                        
            local_number11 = (local_number11 = local_number12);                                                                                                                                                                                                            
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               LmsLogAddEntry("License key dialog, key not for this host"); // dll: LmsLogSup.dll                                                                                                                                                                          
               function_459("The given license is not for this host. Please\nspecify a license key that is valid for this host.", -65535);                                                                                                                                 
               goto label_14c52;                                                                                                                                                                                                                                          
            endif;                                                                                                                                                                                                                                                         
label_14b15:                                                                                                                                                                                                                                                               
            local_number11 = (global_number25 = global_number53);                                                                                                                                                                                                         
            if(local_number11) then // ref index: 1                                                                                                                                                                                                                        
               local_string8 = ("License key dialog, key has expired and this " + "product may not be installed with expired key");                                                                                                                                       
               LmsLogAddEntry(local_string8); // dll: LmsLogSup.dll                                                                                                                                                                                                        
               function_459("The license key has expired.\n\nThis product cannot be installed with an expired license key.", -65535);                                                                                                                                      
               goto label_14c52;                                                                                                                                                                                                                                          
            endif;                                                                                                                                                                                                                                                         
label_14c12:                                                                                                                                                                                                                                                               
            LmsLogAddEntry("License key dialog, key is OK"); // dll: LmsLogSup.dll                                                                                                                                                                                         
            local_number4 = 1;                                                                                                                                                                                                                                             
            local_number3 = 1;                                                                                                                                                                                                                                             
label_14c52:                                                                                                                                                                                                                                                               
            goto label_15290;                                                                                                                                                                                                                                             
         endif;                                                                                                                                                                                                                                                            
label_14c5d:                                                                                                                                                                                                                                                               
         local_number11 = (local_number4 = 196);                                                                                                                                                                                                                           
         if(local_number11) then // ref index: 3                                                                                                                                                                                                                           
            local_string8 = ("                                " + "                                ");                                                                                                                                                                     
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string8 = (local_string8 + "                                ");                                                                                                                                                                                          
            local_string4 = (local_string8 + "                               ");                                                                                                                                                                                          
            CtrlGetSubCommand/CmdGetHwndDlg(local_string5);                                                                                                                                                                                                               
            local_number1 = LASTRESULT;                                                                                                                                                                                                                                    
            Hkjd734HJ98_h6t(local_number1, global_string25, local_string3, local_string4); // dll: IsCprot.dll                                                                                                                                                            
            local_number11 = LASTRESULT;                                                                                                                                                                                                                                   
            local_number11 = (local_number11 >= 0);                                                                                                                                                                                                                        
            if(local_number11) then // ref index: 2                                                                                                                                                                                                                        
               CtrlGetCurSel(local_string5, -2147482933, local_string4);                                                                                                                                                                                                   
               function_33(local_string4, global_string25, local_string2);                                                                                                                                                                                                
               local_number11 = LASTRESULT;                                                                                                                                                                                                                                
               local_number11 = (local_number11 < 0);                                                                                                                                                                                                                     
               if(local_number11) then // ref index: 1                                                                                                                                                                                                                     
                  function_459("The specified file does not contain a valid IAR Systems license key.", -65535);                                                                                                                                                            
                  local_string2 = "";                                                                                                                                                                                                                                      
               endif;                                                                                                                                                                                                                                                      
label_15027:                                                                                                                                                                                                                                                               
               global_string27 = local_string2;                                                                                                                                                                                                                           
               ListCreate(0);                                                                                                                                                                                                                                             
               local_number8 = LASTRESULT;                                                                                                                                                                                                                                 
               function_508(local_number8, local_string2, 0);                                                                                                                                                                                                              
               function_299(local_string5, 302, local_number8);                                                                                                                                                                                                            
               ListCount/ListDestroy(local_number8);                                                                                                                                                                                                                       
            endif;                                                                                                                                                                                                                                                         
label_15073:                                                                                                                                                                                                                                                               
            goto label_15290;                                                                                                                                                                                                                                             
         endif;                                                                                                                                                                                                                                                            
label_1507e:                                                                                                                                                                                                                                                               
         local_number11 = (local_number4 = 302);                                                                                                                                                                                                                           
         if(local_number11) then // ref index: 4                                                                                                                                                                                                                           
            CtrlGetSubCommand(local_string5);                                                                                                                                                                                                                              
            local_number6 = LASTRESULT;                                                                                                                                                                                                                                    
            local_number11 = (local_number6 = -1007);                                                                                                                                                                                                                     
            if(local_number11) then // ref index: 3                                                                                                                                                                                                                        
               ListCreate(0);                                                                                                                                                                                                                                             
               local_number8 = LASTRESULT;                                                                                                                                                                                                                                 
               CtrlSetMLEText/CtrlGetMLEText(local_string5, 302, local_number8);                                                                                                                                                                                          
               global_string27 = "";                                                                                                                                                                                                                                       
               function_512(local_number8, local_string6);                                                                                                                                                                                                                 
               local_number5 = LASTRESULT;                                                                                                                                                                                                                                 
label_1510f:                                                                                                                                                                                                                                                               
               // switch/while/???                                                                                                                                                                                                                                         
               local_number11 = (local_number5 = 0);                                                                                                                                                                                                                       
               if(local_number11) then // ref index: 1                                                                                                                                                                                                                     
                  global_string27 = (global_string27 + local_string6);                                                                                                                                                                                                     
                  function_514(local_number8, local_string6);                                                                                                                                                                                                              
                  local_number5 = LASTRESULT;                                                                                                                                                                                                                              
                  goto label_1510f;                                                                                                                                                                                                                                       
               endif;                                                                                                                                                                                                                                                      
label_1515c:                                                                                                                                                                                                                                                               
               ListCount/ListDestroy(local_number8);                                                                                                                                                                                                                       
            endif;                                                                                                                                                                                                                                                         
label_15167:                                                                                                                                                                                                                                                               
            goto label_15290;                                                                                                                                                                                                                                             
         endif;                                                                                                                                                                                                                                                            
label_15172:                                                                                                                                                                                                                                                               
         local_number11 = (local_number4 = 12);                                                                                                                                                                                                                           
         if(local_number11) then // ref index: 1                                                                                                                                                                                                                           
            local_number4 = 12;                                                                                                                                                                                                                                            
            local_number3 = 1;                                                                                                                                                                                                                                             
            goto label_15290;                                                                                                                                                                                                                                             
         endif;                                                                                                                                                                                                                                                            
label_151b0:                                                                                                                                                                                                                                                               
         local_number11 = (local_number4 = -1);                                                                                                                                                                                                                           
         if(local_number11) then // ref index: 1                                                                                                                                                                                                                           
            function_558(-1, "SdComponentDialog2");                                                                                                                                                                                                                        
            local_number4 = -1;                                                                                                                                                                                                                                            
            local_number3 = 1;                                                                                                                                                                                                                                             
            goto label_15290;                                                                                                                                                                                                                                             
         endif;                                                                                                                                                                                                                                                            
label_1520e:                                                                                                                                                                                                                                                               
         local_number11 = (local_number4 = -200);                                                                                                                                                                                                                          
         if(local_number11) then // ref index: 1                                                                                                                                                                                                                           
            function_559(local_number1, local_number4, local_number3);                                                                                                                                                                                                     
            goto label_15290;                                                                                                                                                                                                                                             
         endif;                                                                                                                                                                                                                                                            
label_15243:                                                                                                                                                                                                                                                               
         function_552(local_number4);                                                                                                                                                                                                                                      
         local_number11 = LASTRESULT;                                                                                                                                                                                                                                      
         function_553(local_number4);                                                                                                                                                                                                                                      
         local_number12 = LASTRESULT;                                                                                                                                                                                                                                      
         local_number11 = (local_number11 = local_number12);                                                                                                                                                                                                               
         if(local_number11) then // ref index: 1                                                                                                                                                                                                                           
            local_number3 = 1;                                                                                                                                                                                                                                             
         endif;                                                                                                                                                                                                                                                            
label_15290:                                                                                                                                                                                                                                                               
         goto label_13f69;                                                                                                                                                                                                                                                
      endif;                                                                                                                                                                                                                                                               
label_1529b:                                                                                                                                                                                                                                                               
      ReleaseDialog/EndDialog(local_string5);                                                                                                                                                                                                                              
      WaitOnDialog/ReleaseDialog(local_string5);                                                                                                                                                                                                                           
      function_550();                                                                                                                                                                                                                                                      
      SdMakeName(global_string3, local_string5, "License Key", global_number16);                                                                                                                                                                                          
      SilentReadData/SilentWriteData(global_string3, "LicenseKey", 4, local_string2, local_number5);                                                                                                                                                                       
      SilentReadData/SilentWriteData(global_string3, "Result", 2, "", local_number4);                                                                                                                                                                                      
      // return coming                                                                                                                                                                                                                                                     
      return local_number4;                                                                                                                                                                                                                                                
end; // checksum: 9ddf002e
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-25 16:23
12
0
用你给的这组,function_34返回值小于6了,结果显示:
The given license key is not a valid IAR Systems\nlicense key. Please make sure that you have entered\nor read the correct license key.",
解Key失败,呵呵:
见:label_14329:                                                                                                                                                                                                                                                               
            function_34(local_string2);                                                                                                                                                                                                                                    
            local_number6 = LASTRESULT;                                                                                                                                                                                                                                    
            function_28(local_string2, global_string29, global_string30);
雪    币: 131
活跃值: 活跃值 (448)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lightgun 活跃值 2011-3-25 18:44
13
0
Use this. For Hostid 0x235B3
SN: 4457-273-040-9198
KEY: GWUH8TXMPLCUW4S4RM3UIR1JJQIYX9FALRAWU00INBAEPUZBFOM7IFFEXXBPXZUZQI6GO9MEAFMWAHNG9NFA3TYTKQOG33K3YRUMMBPA4BJFSWJ0RDAAVMRI3TMUWQYIX5VTYKDMF1ZN21VROEHGELPYNAOP1XKV4RPCGHO32DKCYSSGNA53TJG#
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-26 12:10
14
0
您是我的偶像了,哈哈,太感谢您了,能否给讲下加密流程和分析过程?
雪    币: 23
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小P孩儿 活跃值 2011-3-26 13:04
15
0
你在干什么额
雪    币: 961
活跃值: 活跃值 (1316)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
方向感 活跃值 2011-3-27 18:00
16
0
IAR Embedded Workbench for ARM v6.10.5-2331
Version 6.10.5-2331 (2011/02/26) (last version)
CD-EWARM-6105-2331.zip 506MB

Collection of various IAR KeyGen programs:
Various_IAR_Keygens.rar 3.5MB

http://www.sonsivri.com/forum/index.php?topic=36893.0
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-28 08:59
17
0
今天到公司试了下,好使了,哈哈,谢谢lightgun.方向感
  
只有4.42A是因为能跟Proteus互联,只有4.42A支持跟Proteus互联,版本高了不支持,没用.

没有想到能向下兼容.
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-30 16:15
18
0
不好意思,是我对不住楼上的,呵呵,没有想到KeyGen还向下兼容.还是附上文件下,吃水不忘挖井人.
上传的附件:
雪    币: 182
活跃值: 活跃值 (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
少尉 活跃值 2011-3-30 16:22
19
0
同时报告分析进度:目前是分析陷入僵局.不知道在kjeRszsoiumvtos(local_string3, global_string17); // dll: IsCprot.dll  这个库中对第一组数字进行了怎么样的处理.

---------------------------------------------License验证过程-------------------------------------
function NUMBER function_26(local_string1)    //local_string1中为:license格式为:4457-273-040-9198                                          
   NUMBER local_number1, local_number2, local_number3, local_number4, local_number5; //定义5个数值型数据(四字节长度范围是从-2147483648到+2147483647)   
   STRING local_string3, local_string4, local_string5;                                 
                                                                                       
begin                                                                                   
      local_string3 = "";                                                               
      local_number1 = 0;                                                               
      StrLength(local_string1);                                                         
      local_number3 = LASTRESULT;// local_number3存放字符串的长度local_number1=0                                                      
label_a9ab:                                                                             
      local_number4 = (local_number1 <= local_number3);                                 
      if(local_number4) then // ref index: 2 如果长度大于等于0                                            
         StrSub(local_string4, local_string1, local_number1, 1);在local_string4存放local_string1从0开始第一个字符                        
         local_number4 = (local_string4 != " ");                                       
         local_number5 = (local_string4 != "-");                                       
         local_number4 = (local_number4 = local_number5);                              
         if(local_number4) then // ref index: 1                                         
            local_string3 = (local_string3 + local_string4); 如果第一个字符不为空或者-,在local_string3中存放local_string1的第一个字符                           
         endif;                                                                        
label_aa1a:                                                                             
         local_number1 = (local_number1 + 1);                                          
         goto label_a9ab;循环取得第一组串存放到local_string3中                                                               
      endif;                                                                           
label_aa34:                                            //处理第一组字符串                                 
      kjeRszsoiumvtos(local_string3, global_string17); // dll: IsCprot.dll  ????不知道在IsCprot怎么处理的local_string3, global_string17            
      local_number2 = LASTRESULT;    //处理第一组字符串,返回结果,根据结果判断.                                                
      local_number3 = (local_number2 < 0);                                             
      if(local_number3) then // ref index: 1如果返回值小于0,无效序列号.                                            
         local_string5 = ("Illegal license number '" + local_string1);                  
         local_string5 = (local_string5 + "'");                                         
         LmsLogAddEntry(local_string5); // dll: LmsLogSup.dll                           
         // return coming                                                               
         return 0;//返回                                                                     
      endif;                                                                           
label_aab0:                                                                             
      StrSub(local_string4, global_string17, 0, 4);//在local_string4中存入global_string17的前4个字符.                                    
      local_string1 = local_string4;  //local_string1= global_string17的前4字符 :local_string1=ssss                                                
      StrSub(local_string4, global_string17, 4, 3);//在local_string4中存入global_string17的第4至第7个字符. local_string4=sss                                    
      local_string5 = (local_string1 + "-");//local_string5等于前4个字符+"-"号,local_string5=ssss-                                            
      local_string1 = (local_string5 + local_string4);//local_string1= ssss-sss                                 
      StrSub(local_string4, global_string17, 7, 3); //local_string4=sss                                    
      local_string5 = (local_string1 + "-");// local_string5=ssss-sss-                                          
      local_string1 = (local_string5 + local_string4);//local_string1=ssss-sss-sss                                 
      StrSub(local_string4, global_string17, 10, 4);                                    
      local_string5 = (local_string1 + "-"); //local_string5= ssss-sss-sss-                                          
      local_string1 = (local_string5 + local_string4);local_string1=ssss-sss-sss-ssss                                 
      // return coming                                                                  
      return 1;                                                                        
end; // checksum: 85fa79a0
雪    币: 15
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dianqihust 活跃值 2011-8-2 11:15
20
0
哈哈,看来你是嵌入式的高级玩家了
游客
登录 | 注册 方可回帖
返回