VB从零开始编外挂(十)

2016-02-19 20:17 7 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的VB从零开始编外挂(十)教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

前天晚上我跟封包玩了一晚上,因才开始(第一次跟封包)说一下我一晚上的发现吧
  我是直接用WPE截取的,因为金山游戏本身都有截取封包的保护措施(就像MM所说),直接用WPE截取我是截取不到的,后来用Ollydbg调试的时候才截取的到。
  经过前面的准备,封报的明文准备已经OK,准备进行加密,加密方式是取一个4字节的数字,对封包进行Xor运算,运算完毕后就直接发送出去,我核对过用WPE截取封包的数据,和我看到的运算结果完全一致,这说明只要用那个4字节的数字对封包进行反Xor运算就可以得到明文的封包。
  其实说白了那个4字节的数字就是每次加密的密匙,也就是服务器认可的,这个4字节怎么得出的我就没跟了,暂时只发现只要不更换场景,4字节密匙不会更变。
  相同道理,服务返回的信息也是经过4字节Xor运算处理了的,客户端解密时候取服务端4字节密匙对封包进行解密就可以得到明文封包。
  大体说下封神封包加密解密流程
  Send:
  1,制造明文封包
  2,取4字节Send密匙
  3,用4字节密匙对封包进行Xor运算(保留前2位),最后不足4字节进行单字节运算。
  4,发送。
  Revc:
  1,收到封包
  2,取4字节Revc密匙
  3,用4字节密匙对封包进行Xor运算(保留前2位),最后不足4字节进行单字节运算。
  4,对明文封包进行分析
  
  

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
  以上的方法比较累人!下面说说本地制作吧(既是用大家熟悉的FPE等软件)
  制作辅助外挂(自动加血,自动加蓝,免负重等等)
  HP的地址是不固定的,我使用金山游侠先找出当前的那个地址,
  然后使用softice对该地址设置断点,softice应该会立刻断住,
  你会看见MOVDWORDPTRDS:[EAX ECX*8 EB4],EDI,
  在客户端中,位置是0x4B2C74,
  你可以修改游戏的进程,
  把MOVDWORDPTRDS:[EAX ECX*8 EB4],
  EDI改成一个E9XXXXXXXX9090,
  JMP到进程中.rsrc和.data之间的空余地址,
  把(XXXXXXXX) 0x4B2C74 5处的代码修改成MOVY,EDI,
  下一条做原来的MOVDWORDPTRDS:[EAX ECX*8 EB4],EDI,
  再来个E9ZZZZZZZZ,
  设置好ZZZZZZZZ使其再跳到原来DWORDPTRDS:[EAX ECX*8 EB4],
  EDI的下一句,就是0x4B2C7B处,
  这样HP的地址就固定下来了,只要看Y就知道HP了。
  

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
  
  下面说说客服端的破解(小试牛刀!)有兴趣的朋友可以制作一个DLL
  来实现加血锁定血量!
  .text:004E8EF0sub_4E8EF0procnear
  .text:004E8EF0
  .text:004E8EF0arg_0=dwordptr4
  .text:004E8EF0arg_4=dwordptr8
  .text:004E8EF0arg_8=dwordptr0Ch
  .text:004E8EF0
  .text:004E8EF0movecx,[esp arg_0];可能是长度LEN地址
  .text:004E8EF4pushebx
  .text:004E8EF5moveax,[esp 4 arg_4];缓存地址
  .text:004E8EF9pushesi
  .text:004E8EFAmovesi,ecx
  .text:004E8EFCpushedi
  .text:004E8EFDmovedi,[esp 0Ch arg_8];加密KEY地址
  .text:004E8F01andesi,3;相当于缓存长度除以4的余数
  .text:004E8F04shrecx,2;相当于缓存长度除以4的商
  .text:004E8F07movedx,[edi];把加密KEY值放进edx
  .text:004E8F09movebx,ecx;
  .text:004E8F0Bdececx;
  .text:004E8F0Ctestebx,ebx;
  .text:004E8F0Ejbeshortloc_4E8F1E;判断跳转
  .text:004E8F10incecx;
  .text:004E8F11
  .text:004E8F11loc_4E8F11:
  .text:004E8F11movebx,[eax]
  .text:004E8F13addeax,4
  .text:004E8F16xorebx,edx;异或运算,EDX=KEY的值,核心运算
  .text:004E8F18dececx
  .text:004E8F19mov[eax-4],ebx
  .text:004E8F1Cjnzshortloc_4E8F11;相当于FOR循环运算
  .text:004E8F1E
  .text:004E8F1Eloc_4E8F1E:
  .text:004E8F1Emovecx,esi
  .text:004E8F20decesi
  .text:004E8F21testecx,ecx
  .text:004E8F23jbeshortloc_4E8F35
  .text:004E8F25leaecx,[esi 1]
  .text:004E8F28
  .text:004E8F28loc_4E8F28:
  .text:004E8F28movbl,[eax]
  .text:004E8F2Axorbl,dl;异或运算
  .text:004E8F2Cmov[eax],bl
  .text:004E8F2Einceax
  .text:004E8F2Fshredx,8
  .text:004E8F32dececx
  .text:004E8F33jnzshortloc_4E8F28;相当于FOR循环运算
  .text:004E8F35
  .text:004E8F35loc_4E8F35:KEY付值运算;
  .text:004E8F35moveax,[edi]
  .text:004E8F37movedx,eax
  .text:004E8F39shledx,5
  .text:004E8F3Csubedx,eax
  .text:004E8F3Emoveax,1
  .text:004E8F43addedx,8088405h
  .text:004E8F49mov[edi],edxKEY付值
  .text:004E8F4Bpopedi
  .text:004E8F4Cpopesi
  .text:004E8F4Dpopebx
  .text:004E8F4Eretn
  .text:004E8F4Esub_4E8EF0endp
  

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

今天就到这里

->

来源:http://www.tulaoshi.com/n/20160219/1623251.html

延伸阅读
躲避了NP的扫描现在就可以模拟了! -------------------------------------------------------------------------------------------------------------------------------------------------------- 需要VBAPI函数: keybd_event←函数模拟了键盘行动 ----------------------------------------------------------------------...
-------------------------------------------------------------------------------------------------------------------------------------------------------- VB实现指针访问!DLL的访问 ------------------------------------------------------------------------------------------------------------------------------------------...
-------------------------------------------------------------------------------------------------------------------------------------------------------- 需要VB API函数: FindWindow ←寻找窗口列表中第一个符合指定条件的顶级窗口 GetWindowThreadProcessId ←获取与指定窗口关联在一起的一个进程和线程标识符 ------------------...
标签: Web开发
随着Internet的普及,很多人已经不满足于仅仅上网冲浪,而希望深入地参与其中。现在,拥有自己的Web网站已经成为一种潮流。虽然制作一个简单的网页并不困难,但是制作出超凡脱俗的网站就不那么容易了,因此我们特意为大家准备了最新网站设计软件Dreamweaver MX 2004的系列教程,希望对大家有所帮助。 通常在一个网站中会有几十甚至几...
标签: PS教程
童靴们又有进步了没,不要放弃,成功就在前方,更多ps教程尽在图老师网 http://www.tulaoshi.com/diannao/

经验教程

850

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部