91精品视频免费观看,久久中文字幕免费视频,久久国产资源,青草福利在线,250pp久久新,日韩亚洲欧美日本精品va,草草视频在线观看最新

美女人體藝術(shù)圖片亞洲av人體自拍 前天晚上我跟

    ?前天晚上我跟封包玩了一晚上,因才開始(第一次跟封包)說一下我一晚上的發(fā)現(xiàn)吧

    我是直接用pe截取的,因?yàn)榻鹕接螒虮旧矶加薪厝》獍谋Wo(hù)措施(就像mm所說),直接用pe截取我是截取不到的,后來用ollydbg調(diào)試的時(shí)候才截取的到。

    經(jīng)過前面的準(zhǔn)備,封報(bào)的明文準(zhǔn)備已經(jīng)ok,準(zhǔn)備進(jìn)行加密,加密方式是取一個(gè)4字節(jié)的數(shù)字,對封包進(jìn)行xor運(yùn)算,運(yùn)算完畢后就直接發(fā)送出去,我核對過用pe截取封包的數(shù)據(jù),和我看到的運(yùn)算結(jié)果完全一致,這說明只要用那個(gè)4字節(jié)的數(shù)字對封包進(jìn)行反xor運(yùn)算就可以得到明文的封包。

    其實(shí)說白了那個(gè)4字節(jié)的數(shù)字就是每次加密的密匙,也就是服務(wù)器認(rèn)可的,這個(gè)4字節(jié)怎么得出的我就沒跟了,暫時(shí)只發(fā)現(xiàn)只要不更換場景,4字節(jié)密匙不會(huì)更變。

    相同道理,服務(wù)返回的信息也是經(jīng)過4字節(jié)xor運(yùn)算處理了的,客戶端解密時(shí)候取服務(wù)端4字節(jié)密匙對封包進(jìn)行解密就可以得到明文封包。

    大體說下封神封包加密解密流程

    send:

    1,制造明文封包

    2,取4字節(jié)send密匙

    3,用4字節(jié)密匙對封包進(jìn)行xor運(yùn)算(保留前2位),最后不足4字節(jié)進(jìn)行單字節(jié)運(yùn)算。

    4,發(fā)送。

    revc:

    1,收到封包

    2,取4字節(jié)revc密匙

    3,用4字節(jié)密匙對封包進(jìn)行xor運(yùn)算(保留前2位),最后不足4字節(jié)進(jìn)行單字節(jié)運(yùn)算。

    4,對明文封包進(jìn)行分析

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

    以上的方法比較累人!下面說說本地制作吧(既是用大家熟悉的fpe等軟件)

    制作輔助外掛(自動(dòng)加血,自動(dòng)加藍(lán),免負(fù)重等等)

    hp的地址是不固定的,我使用金山游俠先找出當(dāng)前的那個(gè)地址,

    然后使用softice對該地址設(shè)置斷點(diǎn),softice應(yīng)該會(huì)立刻斷住,

    你會(huì)看見movdordptrds:[eax+ecx*8+eb4],edi,

    在客戶端中,位置是0x4b2c74,

    你可以修改游戲的進(jìn)程,

    把movdordptrds:[eax+ecx*8+eb4],

    edi改成一個(gè)e9xxxx90,

    和.data之間的空余地址,

    把(xxxxxx)+0x4b2c74+5處的代碼修改成movy,edi,

    下一條做原來的movdordptrds:[eax+ecx*8+eb4],edi,

    再來個(gè)e9zzzz,

    設(shè)置好zzzzzz使其再跳到原來dordptrds:[eax+ecx*8+eb4],

    edi的下一句,就是0x4b2c7b處,

    這樣hp的地址就固定下來了,只要看y就知道hp了。

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

    下面說說客服端的破解(小試牛刀?。┯信d趣的朋友可以制作一個(gè)dll

    來實(shí)現(xiàn)加血鎖定血量!

    .text:004e8ef0sub_4e8ef0pro::004e8ef_0=dordptr4

    .text:004e8ef_4=dordptr8

    .text:004e8ef_8=dordpt::004e8ef0movecx,[esp+arg_0];可能是長度len地址

    .text:004e8ef4pus:004e8ef5moveax,[esp+4+arg_4];緩存地址

    .text:004e8ef9pus:004e8efamovesi,ecx

    .text:004e8efcpus:004e8efdmovedi,[esp+0ch+arg_8];加密key地址

    .text:004e8f01andesi,3;相當(dāng)于緩存長度除以4的余數(shù)

    .text:004e8f04shrecx,2;相當(dāng)于緩存長度除以4的商

    .text:004e8f07movedx,[edi];把加密key值放進(jìn)edx

    .text:004e8f09movebx,ecx;

    .text:004e8f0bdececx;

    .text:004e8f0ctestebx,ebx;

    .text:004e8f0ejbeshortloc_4e8f1e;判斷跳轉(zhuǎn)

    .text:004e8f10incecx;

    .text::004e8f11loc_4e8f11:

    .text:004e8f11movebx,[eax]

    .text:004e8f13addeax,4

    .text:004e8f16xorebx,edx;異或運(yùn)算,edx=key的值,核心運(yùn)算

    .text:004e8f18de:004e8f19mov[eax-4],ebx

    .text:004e8f1zshortloc_4e8f11;相當(dāng)于for循環(huán)運(yùn)算

    .text::004e8f1eloc_4e8f1e:

    .text:004e8f1emovecx,esi

    .text:004e8f20de:004e8f21testecx,ecx

    .text:004e8f23jbeshortloc_:004e8f25leaecx,[esi+1]

    .text::004e8f28loc_4e8f28:

    .text:004e8f28movbl,[eax]

    .text:004e8f2axorbl,;異或運(yùn)算

    .text:004e8f2cmov[eax],

    .text:004e8f2ein:004e8f2fshredx,8

    .text:004e8f32de:004e8f33jnzshortloc_4e8f28;相當(dāng)于for循環(huán)運(yùn)算

    .text::004e8f35loc_4e8f35:key付值運(yùn)算;

    .text:004e8f35moveax,[edi]

    .text:004e8f37movedx,eax

    .text:004e8f39shledx,5

    .text:004e8f3csubedx,eax

    .text:004e8f3emoveax,1

    .text:004e8f43addedx,:004e8f49mov[edi],edxkey付值

    .text:004e8f4bpo:004e8f4cpo:004e8f4dpo:004e8f4:004e8f4esub_4e8ef0endp

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