<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    最近做一個項目的時候,需要將數(shù)據(jù)庫從原先的SqlServer遷移到Oracle中。
    需要遷移的不僅是數(shù)據(jù)還需要將表結構、存儲過程、視圖、觸發(fā)器.... 所有東西都遷過去。
    于是在網(wǎng)上搜索了一下,很快找到了www.swissql.com中提供了這樣的工具。
    但是能下載的是30天有效。只能轉換2000行Sql文本的試用版。
    自己動手、豐衣足食。開始破解:
    1. 安裝SwisSql
    2. 把SwisSql的Lib目錄下的SwisSql.jar, TSQL2PLSP.jar, TSQL2PLSPGUI.jar文件都反編譯了.
    我在NetBeans中新建了一個項目(因為看到, AbsoluteLayout.jar中有com.netbeans.的內(nèi)容, 所以去下載安裝了NetBeans,
    不過根據(jù)其后的進程來看, 選用哪種JavaIDE并不重要)
    3. 查看運行程序是 java -Dsun.java2d.noddraw=true
    -Djava.util.logging.config.file=%TSQL2PLSPHome%\conf\internal_conf\logging.properties
    -cp %CLASSPATH% com.vembu.project.gui.PL2JSQLForm
    4. 看了一會PL2JSQLForm, 發(fā)現(xiàn)明顯是經(jīng)過混淆的, 比較復雜, 于是放棄了從頭了解的念頭, 專注于注冊號生成的破解.
    5. 運行SwisSql
    6. 點擊注冊. 出來一個注冊號輸入框.
    7. 選擇對話框中提示字符串"Trial User"在項目中全字符, 大小寫匹配搜索, 很快在中com.vembu.project.gui.a.java中找到. 而且整個項目中只有一個.
    8. 在a.java中搜索一下"OK"字符串, 發(fā)現(xiàn)OK按鈕的事件處理函數(shù)是_mthnew(actionevent); 在IDE中跳轉到_mthnew的定義
    9. 發(fā)現(xiàn)此函數(shù)的核心是
    ??????? if(!c._mthif(s1))
    ??????? {
    ??????????? D.setText("Invalid key !!! Please ensure that the key is applied in the same machine as the one in which the RegInfo file was generated.");
    ??????????? u.setSize(230, 125);
    ??????????? u.setLocation(400, 300);
    ??????????? u.show();
    ??????????? return;
    ??????? }
    再次想跳轉到_mthif的定義, 結果IDE無法正確跳轉.
    10. 沒關系, 使用搜索大法. 在IDE中搜索 boolean _mthif(String? , 搜索結果不多,
    第一眼就看到了com.vembu.license.c.java, 再到a.java包頭上一看果然有import com.vembu.license.c;
    11. OK, 進入com.vembu.license.c.java, 找到_mthif(String)函數(shù)
    12. b b1 = new b();? String[] as = b1._mthif();
    13. 仔細看一下b, 構造函數(shù)很長, 其實實際內(nèi)容不多, 主要是取 MAC地址, 本機機器名, 本機IP地址. 其中_mthif()就返回MAC地址數(shù)組(因為可能有多個網(wǎng)卡, 所有是數(shù)組). b1._mthnew()返回機器名.
    14. 將輸入的注冊號作為參數(shù)用_mthtry算出一個整數(shù).
    15. 將MAC地址, 機器名和 "Registered User for Multi File Select" 拼成一個字符串
    16. 將第15步的字符串和14步算出的整數(shù)作為參數(shù) 用_mthdo算出一個新的字符串,
    如果此字符串與注冊號相同, 則此注冊號是正確的.
    17. _mthtry函數(shù)和_mthdo函數(shù)都是頗復雜的函數(shù).
    18. 想一個辦法, 首先找一個8位的整數(shù)(作為14步生成的結果), 由于MAC地址和機器名是定的.
    所以可以調(diào)用第16步_mthdo函數(shù). 算出一個注冊號, 再用這個注冊號作為參數(shù)調(diào)用_mthtry,
    去算那個整數(shù), 如果這個整數(shù)與初始整數(shù)相等, 則此注冊號有效.
    19. 結果很快出來一堆的注冊號, 在SwisSql中一用. OK了. 注冊成功.

    下面貼出我生成注冊號的源代碼.
    /*
    ?*?LicenseValidate.java
    ?*
    ?*?Created?on?2006年3月30日,?下午1:39
    ?*
    ?*?To?change?this?template,?choose?Tools?|?Template?Manager
    ?*?and?open?the?template?in?the?editor.
    ?
    */


    package?com.asiatom.dbmigrate;

    /**
    ?*
    ?*?
    @author?ngCheng
    ?
    */

    public?class?LicenseValidate?{
    ????
    ????
    private?static?final?char?b[]?=?{
    ????????
    'H',?'Z',?'T',?'R',?'B',?'L',?'Q',?'X'
    ????}
    ;
    ????
    private?static?final?char?_fldbyte[]?=?{'U',?'S',?'C',?'M',?'P',?'V',?'W',?'K',?'N'};
    ????
    public?static?final?char?_flddo[]?=?{
    ????????
    'A',?'B',?'C',?'D',?'E',?'F',?'G',?'H',?'I',?'J',?
    ????????
    'K',?'L',?'M',?'N',?'O',?'P',?'Q',?'R',?'S',?'T',?
    ????????
    'U',?'V',?'W',?'X',?'Y',?'Z',?'a',?'b',?'c',?'d',?
    ????????
    'e',?'f',?'g',?'h',?'i',?'j',?'k',?'l',?'m',?'n',?
    ????????
    'o',?'p',?'q',?'r',?'s',?'t',?'u',?'v',?'w',?'x',?
    ????????
    'y',?'z',?'A',?'B',?'C',?'D',?'E',?'F',?'G',?'H',?
    ????????
    'I',?'J',?'K',?'L'
    ????}
    ;

    ????
    /**?Creates?a?new?instance?of?LicenseValidate?*/
    ????
    public?LicenseValidate()?{
    ????}

    ????
    ????
    public?static?String?LicenseOK(String?s)
    ????
    {
    ????????String?as[];
    ????????
    int?i;
    ????????s?
    =?s.replaceAll("?",?"");
    ????????String?MacAddr?
    =?"00-0A-EB-9B-80-1B";
    ????????String?ClientName?
    =?"arthur";
    ????????i?
    =?0;

    ????????String?s1?
    =?MacAddr?+?ClientName?+?"Registered?User?for?Multi?File?Select";
    ????????
    int?j?=?_mthtry(s.toUpperCase());
    ????????String?s2?
    =?_mthdo(s1,?j).toUpperCase();
    ????????
    //?System.out.println("s2:?["?+?s2?+?"]");
    ????????if(s2.equals(s.toUpperCase()))
    ????????????
    return?"OK";
    ????????
    //System.out.println("not");??
    ????????return?s2;
    ????}

    ????
    ????
    public?static?int?_mthtry(String?s)
    ????
    {
    ????????String?s2?
    =?"";
    ????????String?s3?
    =??"HZTRBLQX";
    ????????String?s4?
    =??"USCMPVWKN";
    ????????String?s1?
    =?s.substring(1,?3)?+?s.substring(6,?8)?+?s.substring(9,?10)?+?s.substring(11,?13)?+?s.substring(14,?15);
    ????????
    for(int?j?=?0;?j?<?s1.length();?j++)
    ????????
    {
    ????????????
    if(s3.indexOf(s1.charAt(j)?+?"")?!=?-1)
    ????????????
    {
    ????????????????s2?
    =?s2?+?'9';
    ????????????????
    continue;
    ????????????}

    ????????????
    for(int?k?=?0;?k?<?_fldbyte.length;?k++)
    ????????????????
    if(s1.charAt(j)?==?_fldbyte[k])
    ????????????????????s2?
    =?s2?+?k;

    ????????}


    ????????
    int?i?=?0x5f5e0ff?-?Integer.parseInt(s2);
    ????????
    return?i;
    ????}


    ????
    private?static?String?_mthdo(String?s,?int?i)
    ????
    {
    ????????
    int?j?=?0;
    ????????s?
    =?s.toUpperCase();
    ????????String?s1?
    =?new?String();
    ????????String?s2?
    =?new?String();
    ????????String?s3?
    =?new?String();
    ????????
    for(int?k?=?0;?k?<?s.length();?k++)
    ????????????
    if(!Character.isWhitespace(s.charAt(k)))
    ????????????????j?
    ^=?s.charAt(k);

    ????????j?
    ^=?j?<<?6;
    ????????
    int?l?=?i?*?3?+?3214;
    ????????
    int?_fldnew?=?_mthif(l);
    ????????s1?
    =?(j?^?_fldnew)?+?"";
    ????????s1?
    =?_mthbyte(s1).toUpperCase();
    ????????s2?
    =?a(i).toUpperCase();
    ????????s3?
    =?s1.substring(0,?1)?+?s2.substring(0,?2)?+?s1.substring(1,?4)?+?s2.substring(2,?4);
    ????????s3?
    =?s3?+?s1.substring(4,?5)?+?s2.substring(4,?5)?+?s1.substring(5,?6)?+?s2.substring(5,?6)?+?s2.substring(6,?7)?+?s1.substring(6,?7)?+?s2.substring(7,?8)?+?s1.substring(7,?8);
    ????????String?s4?
    =?s3;
    ????????
    return?s4;
    ????}


    ????
    public?static?int?_mthif(int?i)
    ????
    {
    ????????
    int?j?=?0xb524b;
    ????????
    boolean?flag?=?false;
    ????????
    int?ai[]?=?{
    ????????????
    19,?29,?23,?59,?53,?23,?31,?37,?41,?47,?
    ????????????
    3,?2,?5,?7,?11,?13
    ????????}
    ;
    ????????String?s?
    =?"";
    ????????j?
    =?i;
    ????????
    for(int?k?=?0;?k?<?16;?k++)
    ????????
    {
    ????????????String?s1?
    =?j?+?"";
    ????????????
    if(s1.length()?==?6)
    ????????????????
    break;
    ????????????
    if(s1.length()?<?6)
    ????????????
    {
    ????????????????j?
    *=?ai[k];
    ????????????????
    continue;
    ????????????}

    ????????????
    if(s1.length()?>?7)
    ????????????
    {
    ????????????????j?
    /=?100;
    ????????????????
    continue;
    ????????????}

    ????????????
    if(s1.length()?>?6)
    ????????????????j?
    /=?10;
    ????????}


    ????????
    return?j;
    ????}


    ????
    public?static?String?_mthbyte(String?s)
    ????
    {
    ????????
    return?a(s.getBytes());
    ????}


    ????
    public?static?String?a(byte?abyte0[])
    ????
    {
    ????????
    char?ac[]?=?new?char[((abyte0.length?-?1)?/?3?+?1)?*?4];
    ????????
    int?k1?=?0;
    ????????
    int?l1;
    ????????
    for(l1?=?0;?l1?+?3?<=?abyte0.length;)
    ????????
    {
    ????????????
    int?i?=?(abyte0[l1++]?&?0xff)?<<?16;
    ????????????i?
    |=?(abyte0[l1++]?&?0xff)?<<?8;
    ????????????i?
    |=?(abyte0[l1++]?&?0xff)?<<?0;
    ????????????
    int?l?=?(i?&?0xfc0000)?>>?18;
    ????????????ac[k1
    ++]?=?_flddo[l];
    ????????????l?
    =?(i?&?0x3f000)?>>?12;
    ????????????ac[k1
    ++]?=?_flddo[l];
    ????????????l?
    =?(i?&?0xfc0)?>>?6;
    ????????????ac[k1
    ++]?=?_flddo[l];
    ????????????l?
    =?i?&?0x3f;
    ????????????ac[k1
    ++]?=?_flddo[l];
    ????????}


    ????????
    if(abyte0.length?-?l1?==?2)
    ????????
    {
    ????????????
    int?j?=?(abyte0[l1]?&?0xff)?<<?16;
    ????????????j?
    |=?(abyte0[l1?+?1]?&?0xff)?<<?8;
    ????????????
    int?i1?=?(j?&?0xfc0000)?>>?18;
    ????????????ac[k1
    ++]?=?_flddo[i1];
    ????????????i1?
    =?(j?&?0x3f000)?>>?12;
    ????????????ac[k1
    ++]?=?_flddo[i1];
    ????????????i1?
    =?(j?&?0xfc0)?>>?6;
    ????????????ac[k1
    ++]?=?_flddo[i1];
    ????????????ac[k1
    ++]?=?'=';
    ????????}
    ?else
    ????????
    if(abyte0.length?-?l1?==?1)
    ????????
    {
    ????????????
    int?k?=?(abyte0[l1]?&?0xff)?<<?16;
    ????????????
    int?j1?=?(k?&?0xfc0000)?>>?18;
    ????????????ac[k1
    ++]?=?_flddo[j1];
    ????????????j1?
    =?(k?&?0x3f000)?>>?12;
    ????????????ac[k1
    ++]?=?_flddo[j1];
    ????????????ac[k1
    ++]?=?'*';
    ????????????ac[k1
    ++]?=?'*';
    ????????}

    ????????
    return?new?String(ac);
    ????}



    ????
    public?static?String?a(int?i)
    ????
    {
    ????????String?s1?
    =?"";
    ????????
    int?j?=?0x5f5e0ff?-?i;
    ????????String?s;
    ????????
    for(s?=?j?+?"";?s.length()?<?8;?s?=?"0"?+?s);
    ????????
    for(int?k2?=?0;?k2?<?s.length();?k2++)
    ????????????
    switch(k2)
    ????????????
    {
    ????????????
    default:
    ????????????????
    break;

    ????????????
    case?0:?//?'\0'
    ????????????????if(s.charAt(k2)?==?'9')
    ????????????????
    {
    ????????????????????s1?
    =?s1?+?b[k2];
    ????????????????}
    ?else
    ????????????????
    {
    ????????????????????
    int?k?=?Integer.parseInt(s.charAt(k2)?+?"");
    ????????????????????s1?
    =?s1?+?_fldbyte[k];
    ????????????????}

    ????????????????
    break;

    ????????????
    case?1:?//?'\001'
    ????????????????if(s.charAt(k2)?==?'9')
    ????????????????
    {
    ????????????????????s1?
    =?s1?+?b[k2];
    ????????????????}
    ?else
    ????????????????
    {
    ????????????????????
    int?l?=?Integer.parseInt(s.charAt(k2)?+?"");
    ????????????????????s1?
    =?s1?+?_fldbyte[l];
    ????????????????}

    ????????????????
    break;

    ????????????
    case?2:?//?'\002'
    ????????????????if(s.charAt(k2)?==?'9')
    ????????????????
    {
    ????????????????????s1?
    =?s1?+?b[k2];
    ????????????????}
    ?else
    ????????????????
    {
    ????????????????????
    int?i1?=?Integer.parseInt(s.charAt(k2)?+?"");
    ????????????????????s1?
    =?s1?+?_fldbyte[i1];
    ????????????????}

    ????????????????
    break;

    ????????????
    case?3:?//?'\003'
    ????????????????if(s.charAt(k2)?==?'9')
    ????????????????
    {
    ????????????????????s1?
    =?s1?+?b[k2];
    ????????????????}
    ?else
    ????????????????
    {
    ????????????????????
    int?j1?=?Integer.parseInt(s.charAt(k2)?+?"");
    ????????????????????s1?
    =?s1?+?_fldbyte[j1];
    ????????????????}

    ????????????????
    break;

    ????????????
    case?4:?//?'\004'
    ????????????????if(s.charAt(k2)?==?'9')
    ????????????????
    {
    ????????????????????s1?
    =?s1?+?b[k2];
    ????????????????}
    ?else
    ????????????????
    {
    ????????????????????
    int?k1?=?Integer.parseInt(s.charAt(k2)?+?"");
    ????????????????????s1?
    =?s1?+?_fldbyte[k1];
    ????????????????}

    ????????????????
    break;

    ????????????
    case?5:?//?'\005'
    ????????????????if(s.charAt(k2)?==?'9')
    ????????????????
    {
    ????????????????????s1?
    =?s1?+?b[k2];
    ????????????????}
    ?else
    ????????????????
    {
    ????????????????????
    int?l1?=?Integer.parseInt(s.charAt(k2)?+?"");
    ????????????????????s1?
    =?s1?+?_fldbyte[l1];
    ????????????????}

    ????????????????
    break;

    ????????????
    case?6:?//?'\006'
    ????????????????if(s.charAt(k2)?==?'9')
    ????????????????
    {
    ????????????????????s1?
    =?s1?+?b[k2];
    ????????????????}
    ?else
    ????????????????
    {
    ????????????????????
    int?i2?=?Integer.parseInt(s.charAt(k2)?+?"");
    ????????????????????s1?
    =?s1?+?_fldbyte[i2];
    ????????????????}

    ????????????????
    break;

    ????????????
    case?7:?//?'\007'
    ????????????????if(s.charAt(k2)?==?'9')
    ????????????????
    {
    ????????????????????s1?
    =?s1?+?b[k2];
    ????????????????}
    ?else
    ????????????????
    {
    ????????????????????
    int?j2?=?Integer.parseInt(s.charAt(k2)?+?"");
    ????????????????????s1?
    =?s1?+?_fldbyte[j2];
    ????????????????}

    ????????????????
    break;
    ????????????}


    ????????
    return?s1;
    ????}

    ????
    ????
    private?static?String?incString(String?s)?{
    ????????String?res?
    =?"";
    ????????s?
    =?s.toUpperCase();
    ????????
    boolean?flag?=?false;
    ????????
    int?i;
    ????????
    for?(i?=?s.length()?-?1;?i?>=?0;?i?--?)?{
    ????????????
    char?ch?=?s.charAt(i);
    ????????????
    if?(?ch?==?'Z')?{?
    ????????????????flag?
    =?true;
    ????????????????res?
    =?"A"?+?res?;
    ????????????}
    ?else?{
    ????????????????res?
    =?(char)(ch?+?1)?+?res;
    ????????????????
    break;
    ????????????}

    ????????}

    ????????res?
    =?s.subSequence(0,?i)?+?res;
    ????????
    return?res;
    ????}

    ????

    ????
    public?static?void?main(String?args[])?{
    ????????
    //38238466
    ????????
    ????????
    //Licen

    ????????String?sMacAddr?
    =?"xx-xx-xx-xx-xx-xx";
    ????????String?sMachineName?
    =?"machinename";
    ????????String?s1?
    =?sMacAddr?+?sMachineName?+?"Registered?User?for?Multi?File?Select";
    ????????
    for?(?int?i?=?38200000;?i?<?38238466;?i?++?)?{
    ????????????String?s2?
    =?_mthdo(s1,?i);
    ????????????
    int?mid?=?_mthtry(s2);
    ????????????
    if?(?mid?==?i?)?{
    ????????????????System.out.println(
    "got:?"?+?s2);
    ????????????}

    ????????}

    ????}

    }





    評論

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-04-01 23:10 by sdlcc
    可以直接修改class文件,讓c._mthif函數(shù)返回true就可以了

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-04-03 09:15 by usherlight
    不是這么簡單的, 因為反編譯出來的程序中出現(xiàn)了無數(shù)的錯誤.
    根本無法編譯通過.
    所以采用了靜態(tài)分析法.

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-04-05 15:54 by CRI
    搞不出來,方便的話給個注冊碼出來試試

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-04-06 16:42 by usherlight
    注冊碼是和安裝SwisSql機器的機器名和Mac地址有關的.
    我無法給出一個通用的注冊碼.

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-07-11 11:01 by estc
    String sMacAddr = "00-0F-EA-06-67-34";
    String sMachineName = "pc174";
    String s1 = sMacAddr + sMachineName + "estc";
    生成很多的類似“MWSTIYKWNSZVMIWY”的碼
    我在 username 中輸入 estc,
    在下面的 key 中 依次輸入 MWST-IYKW-NSZV-MIWY,提示無效的code!怎么回事?多謝指教!
    msn:estc.wu@hotmail.com

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-10-24 10:27 by QXD
    通過提供的java ,產(chǎn)生了一堆key。
    但是通過嘗試,較難獲得驗證通過!
    請版主指教,謝謝!!!
    我的MSN :quexd@hotmail.com

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-10-24 15:15 by usherlight
    你的SwisSql的版本是3.0嗎?

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-10-26 09:35 by QXD
    我用的是3.0
    請在MSN加我,ok?
    我上班白天都在線。
    謝謝!!! 

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-12-14 00:35 by rui
    LZ的方法可以用。

    b[],_fldbyte[]和int l = i * 3 + 3214;中的3和3214以及各方法要相應替換。

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-12-16 20:44 by usherlight
    @rui

    能說得清楚點嗎? 我沒有看明白你的意思.

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-12-22 11:03 by 在下
    樓主大哥

    不知道您給的這段代碼不知道是在那里運行

    方便的話,直接打包做成一個執(zhí)行文件,運行就產(chǎn)生注冊碼

    好像這樣的東西叫做注冊機

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-12-23 02:47 by 云自無心水自閑
    @在下

    先將所有的代碼都復制到一個文件中,LicenseValidate.java,注意路徑。
    然后 javac LicenseValidate.java,生成 LicenseValidate.class
    然后 java LicenseValidate就可以運行了。

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-12-23 02:51 by 云自無心水自閑
    @estc

    String s1 = sMacAddr + sMachineName + "Registered User for Multi File Select";
    這個語句不能改成
    String s1 = sMacAddr + sMachineName + "estc";
    那個字符串是不能動的,否則生成的驗證碼就不正確了。
    不知道Qxd是不是也是同樣的問題。

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2006-12-27 18:42 by xiaoming
    你好請問一下這段話是什么意思

    LZ的方法可以用。

    b[],_fldbyte[]和int l = i * 3 + 3214;中的3和3214以及各方法要相應替換。

    謝謝了

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2007-01-27 16:34 by 龍芯二號
    謝謝版主的文章!

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2007-10-14 15:55 by 達到
    可以用了

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記[未登錄]  回復  更多評論   

    2007-11-20 11:03 by SUNNY
    很好,完全沒問題,我用的3.2 SWISSQL的都能破解

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2008-03-11 11:02 by
    樓主能給發(fā)破解版的嗎

    lbsfans(at)gmail.com

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2009-06-14 15:14 by wsl
    樓主我沒搞定,按你說的:

    先將所有的代碼都復制到一個文件中,LicenseValidate.java,注意路徑。
    然后 javac LicenseValidate.java,生成 LicenseValidate.class
    然后 java LicenseValidate就可以運行了。

    運行時有錯誤,這幾個文件要放在哪執(zhí)行呀?我不懂JAVA。。。
    明白人幫解釋一下吧,謝謝我急用呀!

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2010-05-26 14:04 by sch
    那請問注冊時 username 輸入什么呢?

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記  回復  更多評論   

    2013-05-08 15:41 by 李新
    可以把SwisSql Oracle to Sql Server3.0 軟件給我發(fā)一份嗎? 謝謝!

    QQ:450519363
    mail: 450519363@qq.com

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記[未登錄]  回復  更多評論   

    2016-04-18 12:16 by s
    可以使用

    # re: SwisSql Oracle to Sql Server3.0(一個從Oracle遷移到SqlServer數(shù)據(jù)庫工具)的破解手記[未登錄]  回復  更多評論   

    2016-04-18 12:17 by s
    把MAC地址和機器名換成自己的,運行程序就可以了
    String sMacAddr = "xx-xx-xx-xx-xx-xx";
    String sMachineName = "machinename";
    主站蜘蛛池模板: 国产亚洲精久久久久久无码| 亚洲成AV人片一区二区| 国产亚洲色婷婷久久99精品| 亚洲人成网站18禁止久久影院| 国产成人亚洲毛片| 成人性生交大片免费看中文| 毛片免费全部播放一级| 国产亚洲成人在线播放va| 亚洲福利一区二区| 四虎影视久久久免费| 国产成人精品久久免费动漫| 亚洲精品国产精品乱码不卡| 亚洲国产片在线观看| a毛片成人免费全部播放| 免费三级毛片电影片| 国产亚洲一区二区三区在线不卡| 亚洲中文字幕一二三四区苍井空| 黄桃AV无码免费一区二区三区| 成人网站免费观看| 久久精品国产亚洲香蕉| 免费看黄福利app导航看一下黄色录像| 久久不见久久见免费视频7| 亚洲国产av一区二区三区| 亚洲乱人伦精品图片| 免费观看一区二区三区| 免费一级成人毛片| 亚洲人成片在线观看| 中文字幕久精品免费视频| 免费在线观看中文字幕| 999久久久免费精品国产| 日本亚洲成高清一区二区三区| 精品亚洲成a人在线观看| 嫖丰满老熟妇AAAA片免费看| 亚洲成Av人片乱码色午夜| 偷自拍亚洲视频在线观看99| 在线天堂免费观看.WWW| 亚洲一区二区三区首页| 91成人免费福利网站在线| 亚洲av成人一区二区三区在线观看| 亚洲天堂男人影院| 131美女爱做免费毛片|