程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB從零開始編外掛(九)

VB從零開始編外掛(九)

編輯:VB綜合教程

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

封包的比對!網絡游戲都是通過數據交換實現游戲競技滴,所以分析封包是制作外掛的一個步驟。

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

網絡游戲封包分為2種封包:1。明文封包2。加密封包

多數網絡游戲都是加密封包,其原因是為了信息不被修改。明文封包的也有,呵呵“CS”呀這些

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

好了,進入正題。封包這玩意其實很難。但是如果你入門了就不難了!

明文的好對付,BUT加密的就有點.......但也是有辦法滴

就是“多抓包,多分析,多解密!”呵呵!

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

抓包篇:什麼抓包呢?抓包當然就是用WPE,或者自己編寫軟件拉,上次(呵呵`也就是昨天)已經做過了!

0056DF384E3E545356554A6C776463424D466A6EN>TSVUJlwdcBMFjn
  0056DF48414B623F7178767965477A664C503D5FAKb?qxvyeGzfLP=_
  0056DF584552405A5C616D5D4368676F57443B51ER@Zam]ChgoWD;Q
  0056DF6875585B3C746B70725E606949484F5973uX[<tkpr^`iIHOYs
  0056DF782E331E011322100B282D200D193C3B06.3"(-.<;
  0056DF88111C0C003D1D2F21030205042C313E23..=/!,1>#
  0056DF98322427381F3925120A09181B2A293A0E2$'89..*):
  0056DFA83507260F2B3614373F3430160815171A5& 67?40

這個就是某個網絡游戲的封包!當然是加了密的。

00878BE055414E4E4E4E4E4E4E4E4E424E4E704EUANNNNNNNNNBNNpN
  00878BF04145564E3E413E58794E4B65AEVN>A>XyNKe

00878BE005100000000000000000000B00003600...........6.
  00878BF0102004000110013117001118.1.

0087CC0415000000000000000B000D8042010005.........?B.
  0087CC1400715C0458.qX

什麼意思呢?當然就是要分析拉!

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

分析篇:分析主要就是分析RAM裡面的東西拉。可以到“看雪”去學學簡單的匯編命令

004F3B9C/$53PUSHEBX
  004F3B9D|.83C4F8ADDESP,-8
  004F3BA0|.8BDAMOVEBX,EDX;解密後數據目標地址
  004F3BA2|.8BD4MOVEDX,ESP;數據傳遞目標地址
  004F3BA4|.B904000000MOVECX,4;傳遞個數為4
  004F3BA9|.E812EEF8FFCALLCLIENT.004829C0;把侍解密的4數值傳遞過來進行解密
  004F3BAE|.8A0424MOVAL,BYTEPTRSS:[ESP];第一位
  004F3BB1|.C1E002SHLEAX,2
  004F3BB4|.33D2XOREDX,EDX
  004F3BB6|.8A542401MOVDL,BYTEPTRSS:[ESP 1];第二位
  004F3BBA|.C1EA04SHREDX,4
  004F3BBD|.0AC2ORAL,DL;第一位與每二位0r
  004F3BBF|.8803MOVBYTEPTRDS:[EBX],AL;輸出第1位
  004F3BC1|.43INCEBX;計數器 1指向第二位
  004F3BC2|.8A442401MOVAL,BYTEPTRSS:[ESP 1];第二位
  004F3BC6|.C1E004SHLEAX,4
  004F3BC9|.33D2XOREDX,EDX
  004F3BCB|.8A542402MOVDL,BYTEPTRSS:[ESP 2];第三位
  004F3BCF|.C1EA02SHREDX,2
  004F3BD2|.0AC2ORAL,DL;第二位與第三位or
  004F3BD4|.8803MOVBYTEPTRDS:[EBX],AL;輸出第二位
  004F3BD6|.43INCEBX;計數器 1指向第三位
  004F3BD7|.8A442402MOVAL,BYTEPTRSS:[ESP 2];第三位
  004F3BDB|.C1E006SHLEAX,6
  004F3BDE|.8A542403MOVDL,BYTEPTRSS:[ESP 3];第4個
  004F3BE2|.0AC2ORAL,DL;第三個與第四個or
  004F3BE4|.8803MOVBYTEPTRDS:[EBX],AL;輸出第三位
  004F3BE6|.59POPECX
  004F3BE7|.5APOPEDX
  004F3BE8|.5BPOPEBX
  004F3BE9.C3RETN
  004F3BEA8BC0MOVEAX,EAX
  004F3BEC/$53PUSHEBX
  004F3BED|.56PUSHESI
  004F3BEE|.57PUSHEDI
  004F3BEF|.55PUSHEBP
  004F3BF0|.50PUSHEAX;封包
  004F3BF1|.B802000000MOVEAX,2
  004F3BF6|>81C404F0FFFF/ADDESP,-0FFC
  004F3BFC|.50|PUSHEAX
  004F3BFD|.48|DECEAX
  004F3BFE|.^75F6JNZSHORTCLIENT.004F3BF6
  004F3C00|.8B84240020000>MOVEAX,DWORDPTRSS:[ESP 2000]
  004F3C07|.8BD9MOVEBX,ECX
  004F3C09|.8BFAMOVEDI,EDX
  004F3C0B|.8BD3MOVEDX,EBX
  004F3C0D|.81E203000080ANDEDX,80000003
  004F3C13|.7905JNSSHORTCLIENT.004F3C1A
  004F3C15|.4ADECEDX
  004F3C16|.83CAFCOREDX,FFFFFFFC
  004F3C19|.42INCEDX
  004F3C1A|>85D2TESTEDX,EDX
  004F3C1C|.7405JESHORTCLIENT.004F3C23
  004F3C1E|.83C8FFOREAX,FFFFFFFF
  004F3C21|.EB7BJMPSHORTCLIENT.004F3C9E
  004F3C23|>8BD3MOVEDX,EBX
  004F3C25|.85D2TESTEDX,EDX
  004F3C27|.7903JNSSHORTCLIENT.004F3C2C
  004F3C29|.83C203ADDEDX,3
  004F3C2C|>C1FA02SAREDX,2
  004F3C2F|.891424MOVDWORDPTRSS:[ESP],EDX
  004F3C32|.8D542404LEAEDX,DWORDPTRSS:[ESP 4]
  004F3C36|.8BCBMOVECX,EBX
  004F3C38|.E883EDF8FFCALLCLIENT.004829C0;整理出封包傳遞給解密地址進行解密
  004F3C3D|.C6441C0400MOVBYTEPTRSS:[ESP EBX 4],0
  004F3C42|.8B1C24MOVEBX,DWORDPTRSS:[ESP]
  004F3C45|.C1E302SHLEBX,2
  004F3C48|.4BDECEBX
  004F3C49|.85DBTESTEBX,EBX
  004F3C4B|.7C28JLSHORTCLIENT.004F3C75
  004F3C4D|.43INCEBX
  004F3C4E|.8D442404LEAEAX,DWORDPTRSS:[ESP 4];一個封包
  004F3C52|>8A10/MOVDL,BYTEPTRDS:[EAX];第N位
  004F3C54|.80FA3B|CMPDL,3B
  004F3C57|.7205|JBSHORTCLIENT.004F3C5E
  004F3C59|.80FA7A|CMPDL,7A
  004F3C5C|.7605|JBESHORTCLIENT.004F3C63
  004F3C5E|>83C8FF|OREAX,FFFFFFFF;出錯處理
  004F3C61|.EB3B|JMPSHORTCLIENT.004F3C9E
  004F3C63|>81E2FF000000|ANDEDX,0FF
  004F3C69|.8A923DEF5A00|MOVDL,BYTEPTRDS:[EDX 5AEF3D];54ef3d是一串字符串.
  004F3C6F|.8810|MOVBYTEPTRDS:[EAX],DL;轉換後代碼
  004F3C71|.40|INCEAX;下一個封包字符
  004F3C72|.4B|DECEBX;計數器減1
  004F3C73|.^75DDJNZSHORTCLIENT.004F3C52
  004F3C75|>8B1C24MOVEBX,DWORDPTRSS:[ESP]
  004F3C78|.4BDECEBX
  004F3C79|.85DBTESTEBX,EBX
  004F3C7B|.7C1BJLSHORTCLIENT.004F3C98
  004F3C7D|.43INCEBX
  004F3C7E|.33EDXOREBP,EBP
  004F3C80|.8D742404LEAESI,DWORDPTRSS:[ESP 4];取上面轉化後的數值
  004F3C84|>8D546D00/LEAEDX,DWORDPTRSS:[EBP EBP*2]
  004F3C88|.03D7|ADDEDX,EDI;目標地址每次轉化3
  004F3C8A|.8BC6|MOVEAX,ESI;源地址每次取
  004F3C8C|.E80BFFFFFF|CALLCLIENT.004F3B9C;解密數據(取4個.轉化3個)
  004F3C91|.45|INCEBP
  004F3C92|.83C604|ADDESI,4
  004F3C95|.4B|DECEBX
  004F3C96|.^75ECJNZSHORTCLIENT.004F3C84
  004F3C98|>8B0424MOVEAX,DWORDPTRSS:[ESP]
  004F3C9B|.8D0440LEAEAX,DWORDPTRDS:[EAX EAX*2]
  004F3C9E|>81C404200000ADDESP,2004
  004F3CA4|.5DPOPEBP
  004F3CA5|.5FPOPEDI
  004F3CA6|.5EPOPESI
  004F3CA7|.5BPOPEBX
  004F3CA8.C3RETN

什麼意思?就是要解密後制作外掛拉!

--------------------------------------------------------------------------------------------------------------------------------------------------------
  外掛的制作就不介紹了設計到VB匯編指針的問題了,VB指針的應用下一次給大家講!

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved