|
[求助]請問殼
這個遊戲 檢測 OD 應該是 XTrap.xt 而已吧 之前外掛 好像也是Hook XTrap.xt 的 現在外掛倒了 沒得分析.... 我現在用脫殼的 XTrap.xt 運行 出現下面的錯誤訊息 (登入器我有改過防 XTrap 的補丁了) 然後我測試修改 msvcr100.dll 遊戲目錄下的 對遊戲主程式 Patch 補丁內容 78B514E0 803D D014B578 01 cmp byte ptr ds:[0x78B514D0],0x1 ; 補丁紀錄 78B514E7 ^ 0F84 0F0CF6FF je 78AB20FC 78B514ED 803D D6BA4700 75 cmp byte ptr ds:[0x47BAD6],0x75 78B514F4 ^ 0F85 020CF6FF jnz 78AB20FC 78B514FA C605 D6BA4700 74 mov byte ptr ds:[0x47BAD6],0x74 ; 補丁 78B51501 C605 D014B578 01 mov byte ptr ds:[0x78B514D0],0x1 ; 紀錄(有補丁過 紀錄1) 78B51508 ^ E9 EF0BF6FF jmp 78AB20FC ; 跳回原始OEP 運行就出現下面訊息 那可能就是說 XTrap.xt 對遊戲主程式做寫入保護 如果訪問 0040xxxxx - 0xxxxxxx 區段 他就跳到錯誤訊息 我想要摘除的 應該是對 OD 檢測 跟遊戲區段的保護之類的 我是想改成可以雙開.... 因為試過沙盤跟VirtualBox 無解 才想到要脫殼修改的 =_= 我順便把 脫殼的 XTrap.xt 傳上來 |
|
[求助]請問殼
又遇到瓶頸..... 最新的天翼 XTrap IAT 都沒加密 XTrap.xt 已經成功完美脫殼 修復 FF15 Call 但是 themida 加密的 dll 沒辦法用 Dll LoadEx 載入修復重定位 ˇ ˇ .... 遊戲主程式 EXE 不脫殼沒關係 但是會加載 XTrapVa.dll 我是打算靠 XTrapVa.dll 對 遊戲主程式打補丁 XTrap.xt 運行 我一開OD 就掛點了 你有在搞 那可以給點提示 如何避開 OD 檢測... |
|
[求助]請問殼
新天翼之鍊 InphaseNXD.EXE 加的是 TMD 2.1.2.0 版 XTrap 加的 入口點跟 TMD 2.1.2.0 好像不太一樣 不知道是哪個版的 IAT 下斷 在設內存斷點 可以找到 OEP FF15 Call 我會修復了 但是 IAT 加密搞不定 有扒過文章 都不適用 |
|
|
|
[求助]可以幫看一下殼嗎
太久沒玩了 工具都舊的 入口點代碼 01015FB3 > 60 pushad 01015FB4 60 pushad 01015FB5 8D6424 40 lea esp,dword ptr ss:[esp+40] 01015FB9 ^ 0F8C CD6CF3FF jl Launcher.00F4CC8C 01015FBF 68 A24074C2 push C27440A2 01015FC4 9C pushfd 01015FC5 56 push esi 01015FC6 9C pushfd 01015FC7 C74424 08 2379A>mov dword ptr ss:[esp+8],0EA57923 01015FCF 60 pushad 01015FD0 50 push eax 01015FD1 8D6424 2C lea esp,dword ptr ss:[esp+2C] 01015FD5 E9 85310000 jmp Launcher.0101915F 01015FDA - FF25 782FF400 jmp dword ptr ds:[<&kernel32.LoadLibraryA>] ; kernel32.LoadLibraryA 01015FE0 9C pushfd 01015FE1 0FB70C4F movzx ecx,word ptr ds:[edi+ecx*2] 01015FE5 9C pushfd 01015FE6 C1CF 02 ror edi,2 01015FE9 31FF xor edi,edi 01015FEB 8B7A 1C mov edi,dword ptr ds:[edx+1C] 01015FEE E8 CE68F2FF call Launcher.00F3C8C1 01015FF3 882C24 mov byte ptr ss:[esp],ch 01015FF6 9C pushfd 01015FF7 ^ E9 D456F3FF jmp Launcher.00F4B6D0 01015FFC 9C pushfd 01015FFD 8D6424 08 lea esp,dword ptr ss:[esp+8] 01016001 ^ 0F85 741DF3FF jnz Launcher.00F47D7B 01016007 60 pushad 01016008 E8 19A9F2FF call Launcher.00F40926 0101600D E5 A8 in eax,0A8 0101600F B1 2A mov cl,2A 01016011 3B1B cmp ebx,dword ptr ds:[ebx] 01016013 3A13 cmp dl,byte ptr ds:[ebx] 01016015 92 xchg eax,edx 01016016 9B wait |
|
[求助]有懂C語言的人幫我看看源碼嗎
是阿 原帖在這裡 http://www.insanelymac.com/forum/topic/77071-nforce-sata-controller/ 我現在是裝 Win + OS X 雙系統 OS X 是實體安裝 不是虛擬機的 我的晶片是 nForce 630a 處理器是 AMD HD 是正常 IDE/SATA 都可用 但是 DVD-R 只能用 IDE 原帖 裡面的 AppleNForceATA.kext.TEST.zip 這個可以支援 SATA DVD-R 可惜作者沒放出源碼 但是這個驅動已經是好幾年前的 只有 32-bit 現在的 Mac 都是 64-bit 的 我放的源碼 是另一個作者改的 支援32/64-bit 算是目前 Mac nForce 晶片用戶最後的版本 http://www.insanelymac.com/forum/topic/211866-applenforceata-104-optimized-for-sl-3264bit/ 我一直想找到修正 SATA DVD-R 的方法 我知道 AMD(ATI) 晶片的用戶 好像也有同樣的問題 如果知道怎麼改 那AMD晶片的問題 我也可以修復了 因為 A/N 晶片 32/64Bit 都是同作者改的 http://www.insanelymac.com/forum/topic/211867-appleatiata-7-optimized-for-sl-3264bit/?hl=AppleATIATA nVidia 主板晶片 5年前已經停產了 往後在 AMD 平台下會持續存活的只有AMD晶片了 |
|
[原创]分享以前的資料 絲路原動力內外掛破解
封包分析 ======================================================================== send <發送封包> +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0000 3B 92 47 00 00 00 00 00 2E 00 08 01 00 00 00 00 ;.G............. 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0020 00 00 00 00 00 00 02 00 00 00 70 76 64 32 30 30 ..........pvd200 0030 37 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BA 7............... 0040 2C 12 3E BC 52 40 C4 ,.>k.Z. ------------------------------------------------------------------------ +00 位置 3B 92 發送認證封包的 KEY +02 位置 47 為封包長度 +08 位置 2E 為封包發送次數 +0A 位置 08 01 為 Case 代碼 +26 位置 為外掛種類識別 01=內掛 02=脫機 +2A 位置 為遊戲帳號字串 +3F 位置 為動力註冊認證 KEY1 +43 位置 為動力註冊認證 KEY2 ------------------------------------------------------------------------ Patch 目標 +00 封包頭 KEY +26 掛機種類 +2A 動力註冊帳號 +3F 註冊認證 KEY1 +43 註冊認證 KEY2 ======================================================================== ======================================================================== Recv <接收封包> +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0000 83 FB 2D 00 00 00 00 00 00 00 02 01 00 75 26 02 ..-..........u&. 0010 00 66 5C 03 00 BC 52 40 C4 61 30 39 33 34 31 37 .f\...R@.a093417 0020 38 32 31 35 00 00 00 00 00 00 00 00 00 8215......... ------------------------------------------------------------------------ +00 位置 83 FB 接收認證封包的 KEY +02 位置 2D 為封包長度 +0A 位置 02 01 為 Case 代碼 +0C 位置為帳號註冊狀態 02 為帳號到期 01 為資料錯誤 00 為註冊可用帳號 +0D 位置 75 26 02 00 動力註冊序號 (每個註冊用戶都有一個序號) +11 位置 66 5C 03 00 為剩餘時間(以分鐘計算) +15 位置 BC 52 40 C4 為動力註冊認證 KEY2 +19 位置 61 30 39 33 34 31 37 38 32 31 35 動力註冊帳號(遊戲帳號) ------------------------------------------------------------------------ Patch 目標 (非必要) +00 封包頭 KEY +0C 認證帳號註冊狀態 +0D 動力註冊序號 +11 剩餘時間 <必須有時間才會運作> +15 動力註冊認證 KEY2 +19 動力註冊帳號(遊戲帳號) ======================================================================== 其實說真的 有些DEBUG專業名詞 我也搞不懂 這一切都是誤打誤撞 長期觀察 加點幻想 搞出這些東西出來的 像上面什麼Key....都是自己暫定名稱 反正你看得懂就好 原理解說: 其實這個破解方式就是拿別人有註冊的帳號 然後修改外掛 讓外掛發送給動力伺服器有註冊的會員帳號 然後外掛就會收到伺服器正常註冊的封包 讓外掛正常運作 因為卡在絲路官網有圖片驗證 而外掛自動圖片驗證 又是在動力伺服器上面 怕外掛斷線 重登時 人不在旁邊沒辦法打驗證圖片文字 所以乾脆就用這個方法 以前的版本沒有圖片驗證 可以解Game.dat 現在做免驗證的麻煩 至於有註冊動力的帳號怎麼取得 自己動腦想吧 外掛本身就可以測試哪個帳號有沒有註冊勝多少時間了 |
|
[原创]分享以前的資料 絲路原動力內外掛破解
====================== sro.dll 無法用OD載入脫殼時 ====================== 1. DLL 無法載入原因 輸出表還原實際大小即可 2. SRO.DLL OEP 入口點代碼 hex 8B EC 53 8B 5D 08 56 8B 75 0C 57 8B 7D 10 85 F6 |
|
[原创]分享以前的資料 絲路原動力內外掛破解
SRO 脫機主程式無法解密的時候就得打記憶體補丁 下載附件然後修改 ========================================= SRO-Trainer Patch For SRO.EXE v1.69d ========================================= packet 102 Code Patch 0040153A $ 6A 00 push 0 ; /# 102 case Patch 0040153C . 6A 01 push 1 ; |BytesToWrite = 1 0040153E . 68 00504000 push 00405000 ; |Buffer = SRO-Trai.00405000 00401543 . 68 33E74000 push 0040E733 ; |Address = 40E733 00401548 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 0040154E . E8 9AFFFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 00401553 . 6A 00 push 0 ; /pBytesWritten = NULL 00401555 . 6A 01 push 1 ; |BytesToWrite = 1 00401557 . 68 00504000 push 00405000 ; |Buffer = SRO-Trai.00405000 0040155C . 68 47E74000 push 0040E747 ; |Address = 40E747 00401561 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 00401567 . E8 81FFFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 0040156C . 6A 00 push 0 ; /pBytesWritten = NULL 0040156E . 6A 01 push 1 ; |BytesToWrite = 1 00401570 . 68 00504000 push 00405000 ; |Buffer = SRO-Trai.00405000 00401575 . 68 53E74000 push 0040E753 ; |Address = 40E753 0040157A . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 00401580 . E8 68FFFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 00401585 . 6A 00 push 0 ; /pBytesWritten = NULL 00401587 . 6A 06 push 6 ; |BytesToWrite = 6 00401589 . 68 10504000 push 00405010 ; |Buffer = SRO-Trai.00405010 0040158E . 68 71E74000 push 0040E771 ; |Address = 40E771 00401593 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 00401599 . E8 4FFFFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 0040159E . 6A 00 push 0 ; /pBytesWritten = NULL 004015A0 . 6A 06 push 6 ; |BytesToWrite = 6 004015A2 . 68 10504000 push 00405010 ; |Buffer = SRO-Trai.00405010 004015A7 . 68 96E84000 push 0040E896 ; |Address = 40E896 004015AC . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 004015B2 . E8 36FFFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory packet 108 Code Patch 004015B7 . 6A 00 push 0 ; /# 108 case Patch 004015B9 . 6A 01 push 1 ; |BytesToWrite = 1 004015BB . 68 00504000 push 00405000 ; |Buffer = SRO-Trai.00405000 004015C0 . 68 D7E84000 push 0040E8D7 ; |Address = 40E8D7 004015C5 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 004015CB . E8 1DFFFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 004015D0 . 6A 00 push 0 ; /pBytesWritten = NULL 004015D2 . 6A 01 push 1 ; |BytesToWrite = 1 004015D4 . 68 00504000 push 00405000 ; |Buffer = SRO-Trai.00405000 004015D9 . 68 EDE84000 push 0040E8ED ; |Address = 40E8ED 004015DE . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 004015E4 . E8 04FFFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 004015E9 . 6A 00 push 0 ; /pBytesWritten = NULL 004015EB . 6A 06 push 6 ; |BytesToWrite = 6 004015ED . 68 10504000 push 00405010 ; |Buffer = SRO-Trai.00405010 004015F2 . 68 17E94000 push 0040E917 ; |Address = 40E917 004015F7 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 004015FD . E8 EBFEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 00401602 . 6A 00 push 0 ; /pBytesWritten = NULL 00401604 . 6A 06 push 6 ; |BytesToWrite = 6 00401606 . 68 10504000 push 00405010 ; |Buffer = SRO-Trai.00405010 0040160B . 68 22E94000 push 0040E922 ; |Address = 40E922 00401610 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 00401616 . E8 D2FEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 0040161B . 6A 00 push 0 ; /pBytesWritten = NULL 0040161D . 6A 04 push 4 ; |BytesToWrite = 4 0040161F . 68 18504000 push 00405018 ; |Buffer = SRO-Trai.00405018 00401624 . 68 21EA4000 push 0040EA21 ; |Address = 40EA21 00401629 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 0040162F . E8 B9FEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory check time relogin Code Patch 00401634 . 6A 00 push 0 ; /# check time relogin Patch 00401636 . 6A 14 push 14 ; |BytesToWrite = 14 (20.) 00401638 . 68 20504000 push 00405020 ; |Buffer = SRO-Trai.00405020 0040163D . 68 8EF44000 push 0040F48E ; |Address = 40F48E 00401642 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 00401648 . E8 A0FEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory dl send data Patch 0040164D . 6A 00 push 0 ; /# dl send data Patch 0040164F . 6A 65 push 65 ; |BytesToWrite = 65 (101.) 00401651 . 68 40504000 push 00405040 ; |Buffer = Trainer-.00405040 00401656 . 68 A45D4300 push 435DA4 ; |Address = 435DA4 0040165B . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 00401661 . E8 87FEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 00401666 . 6A 00 push 0 ; /pBytesWritten = NULL 00401668 . 6A 07 push 7 ; |BytesToWrite = 7 0040166A . 68 B0504000 push 004050B0 ; |Buffer = Trainer-.004050B0 0040166F . 68 C0034100 push 004103C0 ; |Address = 4103C0 00401674 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 0040167A . E8 6EFEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 0040167F . 6A 00 push 0 ; /pBytesWritten = NULL 00401681 . 6A 06 push 6 ; |BytesToWrite = 6 00401683 . 68 B8504000 push 004050B8 ; |Buffer = Trainer-.004050B8 00401688 . 68 5E064100 push 0041065E ; |Address = 41065E 0040168D . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 00401693 . E8 55FEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 102 & 108 Packet Patch 00401698 . 6A 00 push 0 ; /# 102 & 108 Packet Patch 0040169A . 6A 34 push 34 ; |BytesToWrite = 34 (52.) 0040169C . 68 C0504000 push 004050C0 ; |Buffer = Trainer-.004050C0 004016A1 . 68 205E4300 push 435E20 ; |Address = 435E20 004016A6 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 004016AC . E8 3CFEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 004016B1 . 6A 00 push 0 ; /pBytesWritten = NULL 004016B3 . 6A 00 push 0 ; |BytesToWrite = 0 004016B5 . 68 00514000 push 00405100 ; |Buffer = Trainer-.00405100 004016BA . 68 24E74000 push 0040E724 ; |Address = 40E724 004016BF . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 004016C5 . E8 23FEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory 004016CA . 6A 00 push 0 ; /pBytesWritten = NULL 004016CC . 6A 00 push 0 ; |BytesToWrite = 0 004016CE . 68 08514000 push 00405108 ; |Buffer = Trainer-.00405108 004016D3 . 68 C6E84000 push 0040E8C6 ; |Address = 40E8C6 004016D8 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 004016DE . E8 0AFEFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory send packet 004016E3 . 6A 00 push 0 ; /# send packet 004016E5 . 6A 47 push 47 ; |BytesToWrite = 47 (71.) 004016E7 . 68 10514000 push 00405110 ; |Buffer = Trainer-.00405110 004016EC 68 00606800 push 686000 004016F1 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 004016F7 . E8 F1FDFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory recv packet 004016FC . 6A 00 push 0 ; /# recv packet 004016FE . 6A 2D push 2D ; |BytesToWrite = 2D (45.) 00401700 . 68 60514000 push 00405160 ; |Buffer = Trainer-.00405160 00401705 68 50606800 push 686050 0040170A . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 00401710 . E8 D8FDFFFF call <jmp.&kernel32.WriteProcessMemor>; \WriteProcessMemory jmp 00401066 <ExitCode = 0> Patch Code <5000h> EB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 90 90 90 90 90 00 00 C7 45 48 01 00 00 00 00 C7 46 48 01 00 00 00 C7 46 4C 00 00 00 00 E9 36 01 00 00 90 00 00 00 00 00 00 00 00 00 00 00 00 83 EC 64 8B 44 24 68 50 51 52 53 E8 27 00 00 00 5B 5A 59 58 E9 0A A6 FD FF 00 00 8D 96 B0 4E 00 00 50 51 52 53 8B C2 E8 0B 00 00 00 5B 5A 59 58 E9 8B A8 FD FF 00 00 66 81 78 0A 01 01 74 08 66 81 78 0A 07 01 75 1D B9 00 60 68 00 33 D2 33 DB 83 FB 47 74 0F 8A 11 88 10 83 C0 01 83 C1 01 83 C3 01 EB EC C3 00 00 00 00 00 00 00 00 00 00 00 E9 DF 59 02 00 90 90 00 E9 5C 57 02 00 90 00 00 50 51 52 56 33 D2 33 C0 B9 50 60 68 00 83 FA 08 74 0E 83 FA 0A 74 09 83 FA 2D 74 0F 8A 01 88 06 83 C2 01 83 C1 01 83 C6 01 EB E2 5E 5A 59 58 E9 6C 9C FD FF 00 00 00 00 00 00 00 00 00 00 00 00 E8 F7 76 02 00 00 00 00 E8 55 75 02 00 00 00 00 CD 56 47 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 73 61 66 69 6E 61 63 6F 6F 6C 00 00 00 00 00 00 00 00 00 00 00 3F A3 6E 6E 39 C4 E4 AD 00 00 00 00 00 00 00 00 00 C4 A7 2D 00 00 00 00 00 C7 03 02 01 00 28 C0 03 00 BE 34 04 00 39 C4 E4 AD 73 61 66 69 6E 61 63 6F 6F 6C 00 00 00 00 00 00 00 00 00 00 00 00 00 ========================= SRO-Trainer 處理代碼解析 ========================= 0040113C > \6A 70 push 70 ; /Key = VK_F1 0040113E . E8 EC030000 call <jmp.&user32.GetAsyncKeyState> ; \GetAsyncKeyState 00401143 . 83F8 00 cmp eax, 0 00401146 . 74 05 je short 0040114D 00401148 . E8 ED030000 call 0040153A ; 進入Patch代碼 kernel32.WriteProcessMemor 函數分析 0040153A $ 6A 00 push 0 ; /pBytesWritten = NULL 0040153C . 6A 59 push 59 ; |BytesToWrite = 要寫入的 Patch 位元組長度 0040153E . 68 30504000 push 00405030 ; |Buffer = SRO-Trai.00405030 已寫好的 Patch 的指標 00401543 . 68 A25D4300 push 435DA2 ; |Address = SRO.EXE 要 Patch 的位址 00401548 . FF35 22234000 push dword ptr [402322] ; |hProcess = NULL 0040154E . E8 9AFFFFFF call <jmp.&kernel32.WriteProcessMemor> ; \WriteProcessMemory |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值