詳解LUA開(kāi)發(fā)環(huán)境Decoda
LUA開(kāi)發(fā)環(huán)境Decoda是本文要介紹的內(nèi)容,主要是來(lái)了解并學(xué)習(xí)LUA開(kāi)發(fā)環(huán)境的操作,具體內(nèi)容的實(shí)現(xiàn)來(lái)看本文詳解。DecodaTutorial1:從Decoda啟動(dòng)宿主程序調(diào)試lua,我從Decoda剛發(fā)布就一直關(guān)注著,這個(gè)工具可以注入到宿主程序內(nèi)對(duì)lua腳本進(jìn)行調(diào)試,還可以設(shè)置斷點(diǎn)觀察變量的值,功能非常強(qiáng)大。
下面我介紹一下使用方法。
首先找到一個(gè)使用了lua的程序,我這里用wireshark舉例,這是個(gè)很好很強(qiáng)大的網(wǎng)絡(luò)截包工具,wireshark內(nèi)部使用了lua。沒(méi)有wireshark的請(qǐng)下去google一下并下載安裝,此為開(kāi)源軟件。
調(diào)試使用lua的宿主程序有兩種啟動(dòng)方式,一種是從Decoda啟動(dòng)宿主程序,另一種是先啟動(dòng)宿主程序然后用decoda注入。
本篇文章將介紹如何從Decoda啟動(dòng)宿主程序
啟動(dòng)Decoda并點(diǎn)擊Debug目錄下的StartDebuging,彈出一個(gè)工程設(shè)置對(duì)話框,點(diǎn)擊對(duì)話框里的第一行的Command右邊的按鈕,然后找到你的wireshark.exe可執(zhí)行文件,點(diǎn)擊OK。
此時(shí)wireshark程序開(kāi)始執(zhí)行,稍等一會(huì)在左邊的窗口中會(huì)出現(xiàn)一個(gè)init.lua文件,這就是這個(gè)wireshark使用的lua文件。(decoda可以檢測(cè)程序使用的所有l(wèi)ua文件并將他們顯示在左邊的窗口中)
現(xiàn)在你可以在這個(gè)init.lua里面設(shè)置斷點(diǎn)了,在disable_lua=true;doreturnend;這一句下斷點(diǎn),聰明人都看得出來(lái),只能在這里下斷點(diǎn),因?yàn)橄旅娴恼Z(yǔ)句都是不會(huì)執(zhí)行的,除非將這一句注釋。選擇Debug菜單中的StopDebugging退出調(diào)試,然后再選擇StartDebugging重新啟動(dòng)調(diào)試,此時(shí)程序就會(huì)斷點(diǎn)到你設(shè)置斷點(diǎn)的這一行。
整個(gè)流程就是這樣,你可以在Watch里面輸入要監(jiān)視的變量,這些操作都和visualstudio中一樣。
DecodaTutorial1:從Decoda啟動(dòng)宿主程序調(diào)試lua
我從Decoda剛發(fā)布就一直關(guān)注著,這個(gè)工具可以注入到宿主程序內(nèi)對(duì)lua腳本進(jìn)行調(diào)試,還可以設(shè)置斷點(diǎn)觀察變量的值,功能非常強(qiáng)大。
下面我介紹一下使用方法。
首先找到一個(gè)使用了lua的程序,我這里用wireshark舉例,這是個(gè)很好很強(qiáng)大的網(wǎng)絡(luò)截包工具,wireshark內(nèi)部使用了lua。沒(méi)有wireshark的請(qǐng)下去google一下并下載安裝,此為開(kāi)源軟件。
調(diào)試使用lua的宿主程序有兩種啟動(dòng)方式,一種是從Decoda啟動(dòng)宿主程序,另一種是先啟動(dòng)宿主程序然后用decoda注入。
本篇文章將介紹如何從Decoda啟動(dòng)宿主程序
啟動(dòng)Decoda并點(diǎn)擊Debug目錄下的StartDebuging,彈出一個(gè)工程設(shè)置對(duì)話框,點(diǎn)擊對(duì)話框里的第一行的Command右邊的按鈕,然后找到你的wireshark.exe可執(zhí)行文件,點(diǎn)擊OK。
此時(shí)wireshark程序開(kāi)始執(zhí)行,稍等一會(huì)在左邊的窗口中會(huì)出現(xiàn)一個(gè)init.lua文件,這就是這個(gè)wireshark使用的lua文件。(decoda可以檢測(cè)程序使用的所有l(wèi)ua文件并將他們顯示在左邊的窗口中)
現(xiàn)在你可以在這個(gè)init.lua里面設(shè)置斷點(diǎn)了,在disable_lua=true;doreturnend;這一句下斷點(diǎn),聰明人都看得出來(lái),只能在這里下斷點(diǎn),因?yàn)橄旅娴恼Z(yǔ)句都是不會(huì)執(zhí)行的,除非將這一句注釋。選擇Debug菜單中的StopDebugging退出調(diào)試,然后再選擇StartDebugging重新啟動(dòng)調(diào)試,此時(shí)程序就會(huì)斷點(diǎn)到你設(shè)置斷點(diǎn)的這一行。
整個(gè)流程就是這樣,你可以在Watch里面輸入要監(jiān)視的變量,這些操作都和visualstudio中一樣。
小結(jié):詳解LUA開(kāi)發(fā)環(huán)境Decoda的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!