国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

VB 從零開始編外掛(十)

2024-07-21 02:20:46
字體:
供稿:網(wǎng)友
前天晚上我跟封包玩了一晚上,因才開始(第一次跟封包)說一下我一晚上的發(fā)現(xiàn)吧
我是直接用wpe截取的,因為金山游戲本身都有截取封包的保護措施(就像mm所說),直接用wpe截取我是截取不到的,后來用ollydbg調(diào)試的時候才截取的到。
經(jīng)過前面的準備,封報的明文準備已經(jīng)ok,準備進行加密,加密方式是取一個4字節(jié)的數(shù)字,對封包進行xor運算,運算完畢后就直接發(fā)送出去,我核對過用wpe截取封包的數(shù)據(jù),和我看到的運算結(jié)果完全一致,這說明只要用那個4字節(jié)的數(shù)字對封包進行反xor運算就可以得到明文的封包。
其實說白了那個4字節(jié)的數(shù)字就是每次加密的密匙,也就是服務(wù)器認可的,這個4字節(jié)怎么得出的我就沒跟了,暫時只發(fā)現(xiàn)只要不更換場景,4字節(jié)密匙不會更變。
相同道理,服務(wù)返回的信息也是經(jīng)過4字節(jié)xor運算處理了的,客戶端解密時候取服務(wù)端4字節(jié)密匙對封包進行解密就可以得到明文封包。
大體說下封神封包加密解密流程
send:
1,制造明文封包
2,取4字節(jié)send密匙
3,用4字節(jié)密匙對封包進行xor運算(保留前2位),最后不足4字節(jié)進行單字節(jié)運算。
4,發(fā)送。
revc:
1,收到封包
2,取4字節(jié)revc密匙
3,用4字節(jié)密匙對封包進行xor運算(保留前2位),最后不足4字節(jié)進行單字節(jié)運算。
4,對明文封包進行分析


--------------------------------------------------------------------------------------------------------------------------------------------------------


以上的方法比較累人!下面說說本地制作吧(既是用大家熟悉的fpe等軟件)
制作輔助外掛(自動加血,自動加藍,免負重等等)
hp的地址是不固定的,我使用金山游俠先找出當前的那個地址,
然后使用softice對該地址設(shè)置斷點,softice應(yīng)該會立刻斷住,
你會看見mov dword ptr ds:[eax+ecx*8+eb4],edi,
在客戶端中,位置是0x4b2c74,
你可以修改游戲的進程,
把mov dword ptr ds:[eax+ecx*8+eb4],
edi改成一個e9 xx xx xx xx 90 90,
jmp到進程中.rsrc和.data之間的空余地址,
把(xx xx xx xx) + 0x4b2c74 + 5處的代碼修改成mov y, edi,
下一條做原來的mov dword ptr ds:[eax+ecx*8+eb4],edi,
再來個e9 zz zz zz zz,
設(shè)置好zz zz zz zz使其再跳到原來dword ptr ds:[eax+ecx*8+eb4],
edi的下一句,就是0x4b2c7b處,
這樣hp的地址就固定下來了,只要看y就知道hp了。

--------------------------------------------------------------------------------------------------------------------------------------------------------



下面說說客服端的破解(小試牛刀?。┯信d趣的朋友可以制作一個dll
來實現(xiàn)加血鎖定血量!
.text:004e8ef0 sub_4e8ef0 proc near
.text:004e8ef0
.text:004e8ef0 arg_0 = dword ptr 4
.text:004e8ef0 arg_4 = dword ptr 8
.text:004e8ef0 arg_8 = dword ptr 0ch
.text:004e8ef0
.text:004e8ef0 mov ecx, [esp+arg_0] ; 可能是長度len地址
.text:004e8ef4 push ebx
.text:004e8ef5 mov eax, [esp+4+arg_4] ; 緩存地址
.text:004e8ef9 push esi
.text:004e8efa mov esi, ecx
.text:004e8efc push edi
.text:004e8efd mov edi, [esp+0ch+arg_8] ; 加密key地址
.text:004e8f01 and esi, 3 ;相當于緩存長度除以4的余數(shù)
.text:004e8f04 shr ecx, 2 ;相當于緩存長度除以4的商
.text:004e8f07 mov edx, [edi] ;把加密key值放進edx
.text:004e8f09 mov ebx, ecx ;
.text:004e8f0b dec ecx ;
.text:004e8f0c test ebx, ebx ;
.text:004e8f0e jbe short loc_4e8f1e ;判斷跳轉(zhuǎn)
.text:004e8f10 inc ecx ;
.text:004e8f11
.text:004e8f11 loc_4e8f11:
.text:004e8f11 mov ebx, [eax]
.text:004e8f13 add eax, 4
.text:004e8f16 xor ebx, edx ;異或運算,edx=key的值,核心運算
.text:004e8f18 dec ecx
.text:004e8f19 mov [eax-4], ebx
.text:004e8f1c jnz short loc_4e8f11 ;相當于for循環(huán)運算
.text:004e8f1e
.text:004e8f1e loc_4e8f1e:
.text:004e8f1e mov ecx, esi
.text:004e8f20 dec esi
.text:004e8f21 test ecx, ecx
.text:004e8f23 jbe short loc_4e8f35
.text:004e8f25 lea ecx, [esi+1]
.text:004e8f28
.text:004e8f28 loc_4e8f28:
.text:004e8f28 mov bl, [eax]
.text:004e8f2a xor bl, dl ;異或運算
.text:004e8f2c mov [eax], bl
.text:004e8f2e inc eax
.text:004e8f2f shr edx, 8
.text:004e8f32 dec ecx
.text:004e8f33 jnz short loc_4e8f28;相當于for循環(huán)運算
.text:004e8f35
.text:004e8f35 loc_4e8f35: key付值運算;
.text:004e8f35 mov eax, [edi]
.text:004e8f37 mov edx, eax
.text:004e8f39 shl edx, 5
.text:004e8f3c sub edx, eax
.text:004e8f3e mov eax, 1
.text:004e8f43 add edx, 8088405h
.text:004e8f49 mov [edi], edx key付值
.text:004e8f4b pop edi
.text:004e8f4c pop esi
.text:004e8f4d pop ebx
.text:004e8f4e retn
.text:004e8f4e sub_4e8ef0 endp

--------------------------------------------------------------------------------------------------------------------------------------------------------
國內(nèi)最大的酷站演示中心!
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 蒲江县| 厦门市| 独山县| 纳雍县| 拉萨市| 迁安市| 宾川县| 博客| 封丘县| 万载县| 临洮县| 通榆县| 鹤山市| 新化县| 永城市| 黄梅县| 旬阳县| 图们市| 家居| 师宗县| 安阳县| 兰考县| 河津市| 西林县| 梨树县| 额尔古纳市| 仙桃市| 巴塘县| 襄垣县| 瑞金市| 维西| 鞍山市| 海安县| 黄骅市| 盖州市| 楚雄市| 文登市| 华蓥市| 霍城县| 呼伦贝尔市| 开封市|