|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-01-10, 10:34 PM | #1 |
榮譽會員
|
Ati DVD播放器的安裝檢測
軟體:Ati DVD播放器的安裝檢測
版本:7.6 破解者: 火翼[CCG] 組織 : [CCG] (China Cracking Group) 使用軟體: InstallShiled Decompiler v1.00 beta 7,winhex 前幾天從網上下載了一個原廠Ati顯示卡配套的DVD播放器,但安裝時要驗證產品號碼和原配驅動光碟, 我的Ati All In Wonder 的驅動盤又丟了,只好破掉了。 安裝程序使用InstallShiled 6.X製作,用InstallShiled Decompiler反編譯成功, 搜尋ID和ATI CD後發現程序根據ID的不同到驅動光碟裡判斷是否有指定文件,如果有再判斷文件版本 是否正確。 產品ID判斷程式碼如下 // : Call Referenced(1): // : 0000FAB4, function BOOL function_120(s0) STRING s1; NUMBER n0; NUMBER n1; begin /* 0000FD9D: 0022 */ // -- Start Function Code -- // /* 0000FDA6: 0021 */ function_576(s1, s0); /* 0000FDB2: 000D */ n0 = s1 == "180-V01023-620"; /* 0000FDCD: 000D */ n1 = s1 == "181-V01023-620"; /* 0000FDE8: 0018 */ n0 = n0 || n1; /* 0000FDF5: 0004 */ if(! n0) goto label_423; // normal if /* 0000FE01: 0006 */ g_str23 = "dvd.dll"; /* 0000FE12: 0006 */ g_number73 = 0; /* 0000FE1E: 0006 */ g_str25 = "6.2.0.7"; /* 0000FE2F: 0005 */ goto label_483; // : Jump Referenced(1): // : 0000FDF5, label_423: /* 0000FE3A: 000D */ n0 = s1 == "180-V01023-600"; /* 0000FE55: 000D */ n1 = s1 == "181-V01023-600"; /* 0000FE70: 0018 */ n0 = n0 || n1; /* 0000FE7D: 0004 */ if(! n0) goto label_424; // normal if /* 0000FE89: 0006 */ g_str23 = "dvd.dll"; /* 0000FE9A: 0006 */ g_number73 = 0; /* 0000FEA6: 0006 */ g_str25 = "6.1.0.34"; /* 0000FEB8: 0005 */ goto label_483; . . . . 驅動光碟檢測程式碼如下 /* 0000F9AD: 0021 */ function_214("Select Drive where the ATI CD can be found", "D:\\", s0); /* 0000F9E9: 0006 */ n0 = LAST_RESULT; /* 0000F9F3: 000D */ n1 = n0 == 12; /* 0000FA02: 0004 */ if(! n1) goto label_413; // normal if /* 0000FA0E: 0005 */ goto label_412; // : Jump Referenced(1): // : 0000FA02, label_413: //判斷選項的驅動器是不是光碟 /* 0000FA19: 0021 */ function_119(s0); /* 0000FA22: 0006 */ n1 = LAST_RESULT; /* 0000FA2C: 000D */ n1 = n1 == 0; /* 0000FA3B: 0004 */ if(! n1) goto label_414; // normal if /* 0000FA47: 0021 */ function_416("The drive you selected does not appear to be a valid CD Rom Drive,\n Please try again", -65533); /* 0000FAA9: 0005 */ goto label_412; // : Jump Referenced(1): // : 0000FA3B, label_414: //判斷號碼是否合法 /* 0000FAB4: 0021 */ function_120(s1); /* 0000FABD: 0006 */ n1 = LAST_RESULT; /* 0000FAC7: 000D */ n1 = n1 == 0; /* 0000FAD6: 0004 */ if(! n1) goto label_415; // normal if /* 0000FAE2: 0021 */ function_416("The software release number you provided is invalid.\n Please try again", -65534); /* 0000FB36: 0005 */ goto label_411; // : Jump Referenced(1): // : 0000FAD6, label_415: //最重要的判斷 /* 0000FB41: 0021 */ function_121(s0); /* 0000FB4A: 0006 */ n1 = LAST_RESULT; /* 0000FB54: 000D */ n1 = n1 == 1;//如果n1=0則n1=1,否則n=2 /* 0000FB63: 0004 */ if(! n1) goto label_416; // normal if n=0則跳到416,跳到416就完蛋了 /* 0000FB6F: 0005 */ goto label_417; // : Jump Referenced(1): // : 0000FB63, label_416: /* 0000FB7A: 0007 */ s4 = "Your CD cannot be used to validate this installation, Please check the following: \n\n" + "The CD part number has been entered correctly. You must include the dashes. For example, 180-####-### \n"; /* 0000FC43: 0007 */ s4 = s4 + "The CD must contain a previous version of ATI DVD software. Many ATI CDs will indicate ATI DVD PLAYER on the label"; /* 0000FCC2: 0021 */ function_416(s4, -65533); /* 0000FCD0: 0002 */ abort; // : Jump Referenced(1): // : 0000FB6F, label_417: /* 0000FCD6: 0024 */ return; /* 0000FCDA: 0026 */ // -- Create Local Variables -- // end; 分析後可知,只要把00FB54處的n1=n1==1改為n1=n1!=1即可 但在源文件裡改便是不行的,要在setup.inx文件裡修改,分析了很多語句在setup.inx裡的程式碼 得出n1=n1==1的程式碼和n1=n1!=1的程式碼只有第一個字元不同,前者為OD後者為OE,只要把00FB54 處改為OE就可以了。 其實也可以改00FB63處的跳轉,但這樣改後只能在98下安裝,所以還是改判斷更好一些。 整理 產品ID: 180-G01054-6112 180-G01054-6114 180-G01056-6112 180-G01061-6113 180-G01064-61131 180-G01065-6114 180-G01070-100 180-G01070-101 180-G01070-104 180-G01070-105 180-G01070-106 180-G01070-107 還有很多,隨便添一個就行 用十六進位文件編輯工具開啟setup.inx 修改00FD54處的 0D 00 03 00 05 9A FF 05 9A FF 07 01 00 00 00 為 0E 00 03 00 05 9A FF 05 9A FF 07 01 00 00 00 完成。 |
送花文章: 3,
|
主題工具 | |
顯示模式 | |
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
軟體 - 輕鬆卸載掉Windows Vista的辦法 | psac | Windows 10 疑難討論 Q & A 精華區 | 16 | 2006-07-26 01:21 AM |
看看為什麼nv會在dx9下效率如此低下吧 | psac | 系統 & 硬體安裝及故障判斷技術文件 | 1 | 2004-03-06 07:34 PM |
關於ati的色差輸出,卡直接輸出YPbPr信號的攻略 | psac | 系統 & 硬體安裝及故障判斷技術文件 | 0 | 2004-03-04 01:23 AM |