技術(shù)大牛們英雄聯(lián)盟腳本怎么制作的,需要哪些技術(shù)?
時(shí)間:2024-01-26 16:40:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2024-01-26 16:40:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
技術(shù)大牛們英雄聯(lián)盟腳本怎么制作的,需要哪些技術(shù)?:1、熟練的C語(yǔ)言知識(shí)
目前的外掛大部分都是用BC或者是vc寫的,擁有熟練的C語(yǔ)言知識(shí)是寫外掛的基本條件
2、具有很強(qiáng)的匯編基礎(chǔ) 一般游戲都不可能有原代碼的,必須*反匯編或者跟蹤的辦
法來(lái)探索其中的機(jī)理 ,所以有強(qiáng)的匯編基礎(chǔ)也是必不可少的條件
3、熟練掌握跟蹤和調(diào)試的工具
有了上面2個(gè)條件后,掌握一些工具也是很有必要的
跟蹤的工具,softice當(dāng)然是不二之選,至于反匯編的工具,我推薦用IDA PRO
這個(gè)工具反匯編出來(lái)的代碼結(jié)構(gòu)清晰,非常好讀
如果你不具有上面的條件,還是先把基礎(chǔ)打好,再來(lái)寫外掛吧,一分耕耘,一分收獲,天下沒(méi)有白掉的餡餅的
二、寫外掛面臨的基本技術(shù)問(wèn)題
1、修改進(jìn)程的執(zhí)行代碼 要修改進(jìn)程的執(zhí)行代碼,要先取得進(jìn)程的ID,如果是由外掛程序啟動(dòng),返回值里就有進(jìn)程ID,
如果不是的話,
需要用findwindow找到窗口句柄,再用GetWindowProcessID取得進(jìn)程ID,取得進(jìn)程ID以后,就可以用
writeprocessmemory來(lái)修改進(jìn)程的執(zhí)行代碼了,使程序按照我們的意愿來(lái)執(zhí)行,石器外掛里的不遇敵、寸步遇敵
就是用這樣的方法來(lái)實(shí)現(xiàn)的
2、截獲外掛發(fā)送和接收的封包
除了通過(guò)修改代碼來(lái)實(shí)現(xiàn)的功能以外,很多的功能都是通過(guò)修改封包來(lái)實(shí)現(xiàn)的,要修改封包,首先要能截獲它。
第一步是要跟蹤出發(fā)和收的位置,至于怎么跟蹤,我以后會(huì)提到,找到位置以后,有2個(gè)辦法,一是在那個(gè)位置加一
個(gè)jmp語(yǔ)句,跳到你的處理函數(shù)位置,處理完后,再跳回來(lái),這種方法要求比較高,需要處理好很多事情,另一種辦法
是往那個(gè)位置寫條能造成例外的指令,比如int 3,然后用DebugActiveProcess調(diào)試游戲進(jìn)程,這樣每當(dāng)游戲執(zhí)行到那個(gè)
位置的時(shí)候,就會(huì)停下來(lái),到外掛程序里面去,等外掛程序處理完以后,用ContinueDebugEvent 繼續(xù)運(yùn)行程序。
可能這些東西看起來(lái)會(huì)很枯燥,但是你要是入門了,就會(huì)輕松起來(lái),可以去找一個(gè)水平高的老師帶著你,這樣能夠很好的提高自己的水平
如果對(duì)計(jì)算機(jī)逆向這塊技術(shù)感興趣的可以找我交流
def recognition_captcha(data):
''' 識(shí)別驗(yàn)證碼 '''
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' # 接入優(yōu)圖服務(wù),注冊(cè)賬號(hào)獲取
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格式,而優(yōu)圖只支持 JPG PNG BMP 其中之一,這時(shí)我們需要 pip install Pillow 來(lái)轉(zhuǎn)換格式
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):
''' 獲取驗(yàn)證碼 '''
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} 表示不用驗(yàn)證碼
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) # 拿到驗(yàn)證碼數(shù)據(jù),注意是put
img_data = json.loads(resp3.text)["img_base64"]
except Exception:
return
關(guān)鍵詞:技術(shù),英雄,腳本,聯(lián)盟