最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python利用LyScript插件實現(xiàn)批量打開關(guān)閉進(jìn)程

 更新時間:2022年07月22日 14:23:04   作者:lyshark  
LyScript是一款x64dbg主動化操控插件,經(jīng)過Python操控X64dbg,完成了遠(yuǎn)程動態(tài)調(diào)試,解決了逆向工作者剖析漏洞,尋覓指令片段,原生腳本不行強(qiáng)壯的問題。本文將利用LyScript插件實現(xiàn)批量打開關(guān)閉進(jìn)程,感興趣的可以了解一下

LyScript是一款x64dbg主動化操控插件,經(jīng)過Python操控X64dbg,完成了遠(yuǎn)程動態(tài)調(diào)試,解決了逆向工作者剖析漏洞,尋覓指令片段,原生腳本不行強(qiáng)壯的問題,經(jīng)過與Python相結(jié)合使用Python語法的靈活性以及豐富的第三方庫,進(jìn)步剖析功率,完成主動化剖析代碼。

python包請裝置與插件一致的版別,在cmd命令行下履行pip命令即可裝置。

裝置Python包:pipinstallLyScript32或者pipinstallLyScript64

其次你需求手動下載對應(yīng)x64dbg版別的驅(qū)動文件,并放入指定目錄下。

插件下載好以后,請將該插件復(fù)制到x64dbg目錄下的plugins目錄下,程序運(yùn)轉(zhuǎn)后會主動加載插件文件。

當(dāng)插件加載成功后,會在日志方位看到具體的綁定信息以及輸出調(diào)試,該插件并不會在插件欄顯示。

假如需求遠(yuǎn)程調(diào)試,則只需求在初始化MyDebug()類是傳入對端IP地址即可,假如不填寫參數(shù)則默認(rèn)使用127.0.0.1地址,請保證對端放行了6589端口,不然無法銜接。

運(yùn)轉(zhuǎn)x64dbg程序并手動載入需求剖析的可履行文件,然后我們能夠經(jīng)過connect()方法銜接到調(diào)試器,銜接后會創(chuàng)建一個持久會話直到python腳本完畢則銜接會被強(qiáng)制斷開,在此期間可調(diào)用is_connect()查看該鏈接是否還存在,具體代碼如下所示。

fromLyScript32importMyDebugif__name__==”__main__”:#初始化dbg=MyDebug()#銜接到調(diào)試器
connect_flag=dbg.connect()print(“銜接狀況:{}”.format(connect_flag))#檢測套接字是否還在
???????ref=dbg.is_connect()print(“是否在銜接:”,ref)dbg.close()

LyScript插件默認(rèn)沒有批量載入功能,導(dǎo)致用戶只能手動將被調(diào)試進(jìn)程拖入到x64dbg中才可以調(diào)試,使用python模擬快捷鍵即可解決這個問題,具體使用代碼如下。

import win32api
import win32gui, win32con
import win32clipboard
import re
import time
from LyScript32 import MyDebug

class cWindow:
    def __init__(self):
        self._hwnd = None

    def SetAsForegroundWindow(self):
        win32gui.SetForegroundWindow(self._hwnd)

    def Maximize(self):
        # 最大化
        win32gui.ShowWindow(self._hwnd, win32con.SW_MAXIMIZE)

    def _window_enum_callback(self, hwnd, regex):
        if self._hwnd is None and re.match(regex, str(win32gui.GetWindowText(hwnd))) is not None:
            self._hwnd = hwnd

    def find_window_regex(self, regex):
        self._hwnd = None
        win32gui.EnumWindows(self._window_enum_callback, regex)

    def hide_always_on_top_windows(self):
        win32gui.EnumWindows(self._window_enum_callback_hide, None)

    def _window_enum_callback_hide(self, hwnd, unused):
        if hwnd != self._hwnd:
            if win32gui.IsWindowVisible(hwnd) and win32gui.GetWindowLong(hwnd, win32con.GWL_EXSTYLE) & win32con.WS_EX_TOPMOST:
                className = win32gui.GetClassName(hwnd)
                if not (className == 'Button' or className == 'Shell_TrayWnd'):
                    win32gui.ShowWindow(hwnd, win32con.SW_FORCEMINIMIZE)

    def OpenFile(self,path):
        # 按下F3
        win32api.keybd_event(0x72, 0, 0, 0)
        win32api.keybd_event(0x72, 0, win32con.KEYEVENTF_KEYUP, 0)

        # 打開剪貼板
        win32clipboard.OpenClipboard()
        # 清空剪貼板
        win32clipboard.EmptyClipboard()
        # 設(shè)置剪貼板內(nèi)容
        win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT, path)
        # 獲取剪貼板內(nèi)容
        date = win32clipboard.GetClipboardData()
        print("[*] OpenFile = {}".format(date))
        # 關(guān)閉剪貼板
        win32clipboard.CloseClipboard()
        time.sleep(0.2)

        # 按下ctrl+v
        win32api.keybd_event(0x11, 0, 0, 0)
        win32api.keybd_event(0x56, 0, 0, 0)
        win32api.keybd_event(0x56, 0, win32con.KEYEVENTF_KEYUP, 0)
        win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)

        # 按下回車
        win32api.keybd_event(0x0D, 0, 0, 0)
        win32api.keybd_event(0x0D, 0, win32con.KEYEVENTF_KEYUP, 0)

    def deatch(self):
        # 按下Ctrl+Alt+F2
        win32api.keybd_event(0x11, 0, 0, 0)
        win32api.keybd_event(0x12, 0, 0, 0)
        win32api.keybd_event(0x71, 0, 0, 0)
        win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)
        win32api.keybd_event(0x12, 0, win32con.KEYEVENTF_KEYUP, 0)
        win32api.keybd_event(0x71, 0, win32con.KEYEVENTF_KEYUP, 0)

# 打開調(diào)試程序
def OpenFile(path):
    regex = ".*x32dbg.*"
    cWindows = cWindow()
    cWindows.find_window_regex(regex)
    cWindows.SetAsForegroundWindow()
    cWindows.SetAsForegroundWindow()
    cWindows.OpenFile(path)

# 關(guān)閉調(diào)試程序
def DeatchFile():
    regex = ".*x32dbg.*"
    cWindows = cWindow()
    cWindows.find_window_regex(regex)
    cWindows.SetAsForegroundWindow()
    cWindows.SetAsForegroundWindow()
    cWindows.deatch()

# 得到腳本返回值
def GetScriptValue(dbg,script):
    try:
        ref = dbg.run_command_exec("push eax")
        if ref != True:
            return None
        ref = dbg.run_command_exec(f"eax={script}")
        if ref != True:
            return None
        reg = dbg.get_register("eax")
        ref = dbg.run_command_exec("pop eax")
        if ref != True:
            return None
        return reg
    except Exception:
        return None
    return None

if __name__ == "__main__":
    dbg = MyDebug()
    dbg.connect()

    # 批量打開一個列表
    for item in ["D:\Win32Project.exe","D:\Windows Tools\C32ASM\c32asm.exe"]:
        OpenFile(item)
        time.sleep(3)

        for i in range(1,100):
            dbg.set_debug("StepIn")
            time.sleep(0.2)

        eip = dbg.get_register("eip")
        print("eip = > {}".format(hex(eip)))

        time.sleep(3)
        DeatchFile()

到此這篇關(guān)于Python利用LyScript插件實現(xiàn)批量打開關(guān)閉進(jìn)程的文章就介紹到這了,更多相關(guān)Python批量打開關(guān)閉進(jìn)程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 基礎(chǔ)教程之str和repr的詳解

    Python 基礎(chǔ)教程之str和repr的詳解

    這篇文章主要介紹了Python 基礎(chǔ)教程之str和repr的詳解的相關(guān)資料,主要說明他們之家的區(qū)別,通過此文希望能幫助到大家,幫助大家理解這部分內(nèi)容,需要的可以參考下
    2017-08-08
  • python ansible服務(wù)及劇本編寫

    python ansible服務(wù)及劇本編寫

    python語言是運(yùn)維人員必會的語言,而ansible是一個基于Python開發(fā)的自動化運(yùn)維工具 (saltstack)。其功能實現(xiàn)基于SSH遠(yuǎn)程連接服務(wù);ansible可以實現(xiàn)批量系統(tǒng)配置、批量軟件部署、批量文件拷貝、批量運(yùn)行命令等功能
    2017-12-12
  • 在jupyter notebook 添加 conda 環(huán)境的操作詳解

    在jupyter notebook 添加 conda 環(huán)境的操作詳解

    這篇文章主要介紹了在jupyter notebook 添加 conda 環(huán)境的操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • pytorch中如何設(shè)置隨機(jī)種子

    pytorch中如何設(shè)置隨機(jī)種子

    這篇文章主要介紹了pytorch中如何設(shè)置隨機(jī)種子,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python如何通過openpyxl讀寫Excel文件

    python如何通過openpyxl讀寫Excel文件

    python操作excel的庫有很多,有的庫只能讀取xsl格式,比如xlrd庫,有的庫只能寫xsl格式,比如xlwt庫,有的只能讀寫xslx格式,比如openpyxl庫,綜合各庫及 xslx 格式比較常見,所以本文主要講解openpyxl庫對xslx格式的excel操作,需要的朋友可以參考下
    2023-10-10
  • Python使用asyncio處理異步編程的代碼示例

    Python使用asyncio處理異步編程的代碼示例

    在 Python 中,異步編程可以使用 asyncio 庫,該庫提供了一些工具和功能來編寫異步代碼,本文介紹了處理異步編程的幾個關(guān)鍵概念和示例,需要的朋友可以參考下
    2024-07-07
  • 淺談Python的元編程

    淺談Python的元編程

    提到元這個字,你也許會想到元數(shù)據(jù),元數(shù)據(jù)就是描述數(shù)據(jù)本身的數(shù)據(jù),元類就是類的類,本文的主要目的是向大家介紹這些元編程技術(shù),并且給出實例來演示它們是怎樣定制化源代碼的行為。剛興趣的朋友可以參考一下
    2021-09-09
  • django使用xadmin的全局配置詳解

    django使用xadmin的全局配置詳解

    今天小編就為大家分享一篇django使用xadmin的全局配置詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Flask框架運(yùn)用Ajax實現(xiàn)輪詢動態(tài)繪圖

    Flask框架運(yùn)用Ajax實現(xiàn)輪詢動態(tài)繪圖

    Ajax是異步JavaScript和XML可用于前后端交互,本文將通過Ajax輪詢獲取后端的數(shù)據(jù),前臺使用echart繪圖庫進(jìn)行圖形的生成與展示,最后實現(xiàn)動態(tài)監(jiān)控內(nèi)存利用率的這個功能,需要的可以參考一下
    2022-11-11
  • Python實現(xiàn)免費(fèi)音樂下載器

    Python實現(xiàn)免費(fèi)音樂下載器

    本文主要為大家介紹了通過Python實現(xiàn)的免費(fèi)音樂下載器,文中的示例代碼講解詳細(xì),對我們的學(xué)習(xí)或工作有一定的幫助,需要的小伙伴可以學(xué)習(xí)一下
    2021-12-12

最新評論

射洪县| 喀什市| 湾仔区| 雷波县| 岢岚县| 海南省| 射洪县| 任丘市| 美姑县| 阿勒泰市| 禹州市| 南召县| 西平县| 靖州| 灵宝市| 唐河县| 尉氏县| 汤阴县| 金川县| 项城市| 泽州县| 永济市| 清河县| 苏尼特右旗| 阳朔县| 惠来县| 怀远县| 岑巩县| 新建县| 日土县| 辉县市| 洪雅县| 昂仁县| 泰顺县| 陆川县| 凯里市| 杭锦后旗| 大连市| 秭归县| 开阳县| 琼海市|