亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

裝置Python包:pipinstallLyScript32或者pipinstallLyScript64

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

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

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

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

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

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

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

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)

        # 打開(kāi)剪貼板
        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)

# 打開(kāi)調(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()

    # 批量打開(kāi)一個(gè)列表
    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插件實(shí)現(xiàn)批量打開(kāi)關(guān)閉進(jìn)程的文章就介紹到這了,更多相關(guān)Python批量打開(kāi)關(guān)閉進(jìn)程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python?moviepy?的用法入門(mén)篇

    python?moviepy?的用法入門(mén)篇

    MoviePy(全套文件)是一個(gè)用于視頻編輯Python庫(kù):切割、拼接、標(biāo)題插入,視頻合成(即非線性編輯),視頻處理和自定義效果的創(chuàng)造,本文給大家介紹python?moviepy?的用法詳解,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • 關(guān)于命令行執(zhí)行Python腳本的傳參方式

    關(guān)于命令行執(zhí)行Python腳本的傳參方式

    這篇文章主要介紹了關(guān)于命令行執(zhí)行Python腳本的傳參方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 實(shí)例講解Python中sys.argv[]的用法

    實(shí)例講解Python中sys.argv[]的用法

    在閱讀facenet網(wǎng)絡(luò)的代碼的時(shí)候,遇到了sys.argv[]這個(gè)函數(shù),所以下面這篇文章主要給大家介紹了關(guān)于Python中sys.argv[]用法的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python 使用類寫(xiě)裝飾器的小技巧

    Python 使用類寫(xiě)裝飾器的小技巧

    裝飾器是一個(gè)返回函數(shù)的函數(shù)。寫(xiě)一個(gè)裝飾器,除了最常見(jiàn)的在函數(shù)中定義函數(shù)以外,Python還允許使用類來(lái)定義一個(gè)裝飾器。這篇文章給大家分享Python 使用類寫(xiě)裝飾器的小技巧,一起看看吧
    2018-09-09
  • Python 數(shù)據(jù)結(jié)構(gòu)之十大經(jīng)典排序算法一文通關(guān)

    Python 數(shù)據(jù)結(jié)構(gòu)之十大經(jīng)典排序算法一文通關(guān)

    排序算法可以分為內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部的排序記錄,在排序過(guò)程中需要訪問(wèn)外存
    2021-10-10
  • Python連接HDFS實(shí)現(xiàn)文件上傳下載及Pandas轉(zhuǎn)換文本文件到CSV操作

    Python連接HDFS實(shí)現(xiàn)文件上傳下載及Pandas轉(zhuǎn)換文本文件到CSV操作

    這篇文章主要介紹了Python連接HDFS實(shí)現(xiàn)文件上傳下載及Pandas轉(zhuǎn)換文本文件到CSV操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python 自動(dòng)化處理Excel和Word實(shí)現(xiàn)自動(dòng)辦公

    Python 自動(dòng)化處理Excel和Word實(shí)現(xiàn)自動(dòng)辦公

    毫無(wú)疑問(wèn),Microsoft Excel 和 Word 是我們?nèi)粘^k公中使用最廣泛的辦公軟件。將反復(fù)、復(fù)雜的工作自動(dòng)化處理,是我們需要思考的問(wèn)題,本篇文章幫你解決這個(gè)問(wèn)題
    2021-11-11
  • Python讀取txt內(nèi)容寫(xiě)入xls格式excel中的方法

    Python讀取txt內(nèi)容寫(xiě)入xls格式excel中的方法

    今天小編就為大家分享一篇Python讀取txt內(nèi)容寫(xiě)入xls格式excel中的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python編程中的for循環(huán)語(yǔ)句學(xué)習(xí)教程

    Python編程中的for循環(huán)語(yǔ)句學(xué)習(xí)教程

    這篇文章主要介紹了Python編程中的for循環(huán)語(yǔ)句學(xué)習(xí)教程,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10
  • 淺談Python函數(shù)式編程的返回函數(shù)與匿名函數(shù)

    淺談Python函數(shù)式編程的返回函數(shù)與匿名函數(shù)

    這篇文章主要介紹了淺談Python函數(shù)式編程的返回函數(shù)與匿名函數(shù),如果一個(gè)變量指向了一個(gè)函數(shù),那么,可以通過(guò)該變量來(lái)調(diào)用這個(gè)函數(shù),需要的朋友可以參考下
    2023-04-04

最新評(píng)論