任何一款游戏都会存在漏洞,就像人一样,世界上不会有完美无缺的人,也不会存在完美无缺的游戏。
其实无非就是读取本地内存数据,实现透视效果,这个是被加密存放的,里边存放着各种牌的数据,可以通过读取本地加密数据实现,但如果要改变牌大小,这个得逆向渗透,相对麻烦复杂一些。
通过技术手段,在游戏里得到明文发包函数,这个对我们逆向用处不小,可以去进行HOOK,然后就分析封包,HOOK明文包进行分析是必然的,因为直接在OD软件中下断分析会比较男难,动作也会比较频繁,所以HOOK明文函数就相当于直接省去了解密过程。
在此明文法宝CALL上HOOK这几个字节即可,然后将其修改成JMP xxxx 跳转到我们自己DLL的子程序里,执行我们想执行的过程,然后再跳转出去,
需要注意的是,此过程不能对游戏代码产生任何影响,包括寄存器的值和堆栈。
由于隐私问题再这里只放出了一小部分代码
https://pan.baidu.com/s/1YYZyT2D8xRhuBleRiXBoYw
有需要的参考上面自取
下面我们来看看成果如何
先开启游戏,然后打开辅助工具,进行数据拦截,
这样一来接下来什么牌我们都可以提前得知了,
当然这只是个人的一个小测试,只是给大家来讲解分析一下这个事的原理
有这方面需求的可以参考下图找我交流
def recognition_captcha(data):
''' 识别验证码 '''
file_id = str(uuid.uuid1())
filename = 'captcha_'+ file_id +'.gif'
filename_png = 'captcha_'+ file_id +'.png'
if(data is None):
return
data = base64.b64decode(data.encode('utf-8'))
with open( filename ,'wb') as fb:
fb.write( data )
appid = 'appid' # 接入优图服务,注册账号获取
secret_id = 'secret_id'
secret_key = 'secret_key'
userid= 'userid'
end_point = TencentYoutuyun.conf.API_YOUTU_END_POINT
youtu = TencentYoutuyun.YouTu(appid, secret_id, secret_key, userid, end_point) # 初始化
# 拿到的是gif格式,而优图只支持 JPG PNG BMP 其中之一,这时我们需要 pip install Pillow 来转换格式
im = Image.open( filename)
im.save( filename_png ,"png")
im.close()
result = youtu.generalocr( filename_png , data_type = 0 , seq = '') # 0代表本地路径,1代表url
return result
def get_captcha(sessiona,headers):
''' 获取验证码 '''
need_cap = False
while( need_cap is not True):
try:
sessiona.get('https://www.zhihu.com/signin',headers=headers) # 拿cookie:_xsrf
resp2 = sessiona.get('https://www.zhihu.com/api/v3/oauth/captcha?lang=cn',headers=headers) # 拿cookie:capsion_ticket
need_cap = json.loads(resp2.text)["show_captcha"] # {"show_captcha":false} 表示不用验证码
time.sleep( 0.5 + random.randint(1,9)/10 )
except Exception:
continue
try:
resp3 = sessiona.put('https://www.zhihu.com/api/v3/oauth/captcha?lang=cn',headers=headers) # 拿到验证码数据,注意是put
img_data = json.loads(resp3.text)["img_base64"]
except Exception:
return
摸入危险牌,手上牌姿已经形成,咋整?很多人唯恐扰乱了成型的牌势,一心打出奢望侥幸过关,但是打麻将没有侥幸博彩问答,打出基本就败了。不管手上牌势如何,如果已经看出对方要糊大牌就不要出,若不是可以出。
第二,是关于把握牌局的技巧。对整个牌局的把握是至关重要的,只有洞悉整个牌局,才能让自己手里的牌打的更好。比如其他玩家都出某一花色的牌博彩问答,那么您就可以把手中这个花色的牌留下,这样胡牌的机会比较大。如果其他玩家都不出或者很少出某一花色的牌,那么您在出牌的时候也要注意,不要轻易出牌。