冰楓論壇

標題: CMS 138bypassCRC -NO mapping [打印本頁]

作者: 仁二    時間: 2016-12-9 14:12
標題: CMS 138bypassCRC -NO mapping
本帖最後由 仁二 於 2016-12-9 14:14 編輯

http://music.163.com/style/swf/widget.swf?sid=444524615&type=2&auto=1&width=320&height=66
  1. 0268E914 - 02 01                 - add al,[ecx]   <--CRC1=ecx
  2. 0268E916 - 8B 0C 24              - mov ecx,[esp]
複製代碼
  1. 023FB9B3 - 8B 3F                 - mov edi,[edi]   <--CRC2检测CRC1  =edi
  2. 023FB9B5 - 01 3A                 - add [edx],edi
  3. 023FB9B7 - 9C                    - pushfd
複製代碼
  1. 0081B47B - 8B CE                 - mov ecx,esi
  2. 0081B47D - E8 3ECD1A01           - call 019C81C0    <--逆向CRC1的VM查看ESP返回到这里 内部有被vm的JMP
  3. 0081B482 - 8B 5D 1C              - mov ebx,[ebp+1C]
複製代碼
22222222222.png
只要nop即可

CMS138CEM: 138`00400000~02bfe000.7z (14.46 MB, 下載次數: 35)
另外值得一提的是CMS现在的侦测用的是BlackCipher(BlackCipher.aes)+GPK(GT.dll)+SNDC(Sddyn_01.dll)
基本没检测一样了BC我不清楚侦测什么
GPK只hook了LoadLibraryExW
SNDC检测部分WZ修改 以前是这样很久没测试了
作者: 仁二    時間: 2016-12-9 14:18
本帖最後由 仁二 於 2016-12-9 18:20 編輯
  1. //CMS138-passCRC
  2. [ENABLE]
  3. 0081B47D:
  4. db 90 90 90 90 90
  5. [DISABLE]
  6. 0081B47D:
  7. call 019C81C0
複製代碼
CMS137的时候SNDC还扫CRC
CMS138现在改成在线开始扫
另外游戏自身还有很多跨进程扫描侦测需要pass

还是说一下 这个call内部我看了是有发包的 但是现在不发也不侦测了……
另外再说一下这已经不是原创了我回来玩游戏有点晚 我这边的 收费程式 即 外挂 早已经如此操作
也是昨天我无意看到他没hook-CRC可能更早有人就如此操作 我发出来 以后大家更新测试一下PASS-crc更方便
不用再去对检测点扫描 不过这个BUG相信不会持续很久
作者: 仁二    時間: 2016-12-9 18:12
本帖最後由 仁二 於 2016-12-9 18:16 編輯

刚刚跟在线指针 想跟出调试 这里浅析一下过调试路线
前提①先过CRC
  1. 01908D0E - 8B 1D 14A52D02        - mov ebx,[022DA514]   <--这是在线指针判断
  2. 01908D14 - 33 FF                 - xor edi,edi
  3. 01908D16 - 89 5C 24 1C           - mov [esp+1C],ebx
複製代碼
我调试这个指针找了许久定位到这个段落 在ICS走路上面一点
mov ebx,0即整段call做ret禁止走路 可以在游戏做少部分调试
当然 这只是正常的调试 然后我对这里做研究 发现禁止走路实现过调试的检测
然后在返回的地方eax判断0的做jmp即 CS走路=SS定位
  1. //CMS138-SS定位
  2. [ENABLE]
  3. 018EA23C:
  4. db eb 0b
  5. [DISABLE]
  6. 018EA23C:
  7. db 74 0b
複製代碼
于是乎内部我看过这里就轻微介绍一下
  1. 018EA23C - 74 0B                 - je 018EA249   <--SS定位的jmp
  2. 018EA23E - 8B 06                 - mov eax,[esi]
  3. 018EA240 - 8B 50 40              - mov edx,[eax+40]
  4. 018EA243 - 5F                    - pop edi
  5. 018EA244 - 8B CE                 - mov ecx,esi
  6. 018EA246 - 5E                    - pop esi
  7. 018EA247 - FF E2                 - jmp edx   <--edx=01909CD0人物走路发包
複製代碼
  1. 01909E73 - 85 C0                 - test eax,eax
  2. 01909E75 - 0F84 FD030000         - je 0190A278
  3. 01909E7B - E9 C72EEF00           - jmp 027FCD47   <--进入VM
複製代碼
2222222222.png

说一下吧 去找这个的原因是我无意进商场发现可以调试……
然后在线是检测 想要通过这个在线判定去过调试 当然也实现了 只是真相不尽人意并没完全攻破原理
就是因为内部VM 也就是说明VM的地方存在调试检测
我敢这么说当然也是证实了 ①过CRC ②开启SS定位 目前CMS以i就没有用HS不非法 但是这样做只能做少部分的调试 比如攻击这里发包也被VM的所以我攻击的时候 调试终止了游戏 我猜测是里面的死循环让调试进入死循环 虽然知道的有点晚了 以前朋友老说的壳的侦测 的确如此 都说得通了 可能有的大大早已经知道 但是这里献给和我一样思路的朋友 不走冤枉路 或者你看到我的文章也许你一知半解 或者已经知道答案后 这就是真相……额希望不要在浪费时间 VM我试过 cmp后的死循环 调试不出啥
作者: Doem    時間: 2016-12-13 07:04
仁二 發表於 2016-12-9 18:12
刚刚跟在线指针 想跟出调试 这里浅析一下过调试路线
前提①先过CRC我调试这个指针找了许久定位 ...

感謝大大發出久違的偏技術文章, CRC這樣就能過根本BUG阿...



另外...這裡大部分的人都沒有玩CMS(吧?), 大多是玩TWMS
若是能分析TWMS的情況或許會有更多人參與討論!

p.s 小弟目前已沒在玩了, 重新學習根基中!
作者: kiss_sdo    時間: 2016-12-13 17:44
哈哈 希望多出技术贴
作者: hai0141    時間: 2017-1-5 01:05
非常丰富。 帮助我




歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓