WSL Pwntools通过wt打开gdb

前言

Win10 WSL2 用 pwntools 进行gdb.attach()时默认打开竟然是 cmd,不仅界面丑不说,还有很多字符显示有问题......

我记得用win11的时候一直是用 Windows Terminal 打开的啊.....

然而,网上逛了一圈,好像没找到这个教程?什么!我又看了眼丑陋的 CMD 和显示成方框的箭头......这我能忍?你还我的 wt!

于是,就自己折腾了一下......

步骤

WSL打开wt

执行别名不适用于 WSL 分发。 如果要从 WSL 命令行使用 wt.exe,可以运行 cmd.exe 直接从 CMD 生成它。 /c 选项指示 CMD 在运行后终止。

WSL不能直接打开wt,但可以通过CMD生成,方法如下:

cmd.exe /c "wt.exe"

/c选项指示wt生成完成后关闭cmd

wsl打开wt

wt打开gdb进行attach

pwntools使用gdb.attach时,会生成一个/tmp/xxxx的脚本,里面完成了gdb attach的操作:

#!/usr/bin/python3
import os
os.execve('/usr/bin/gdb', ['/usr/bin/gdb', '-q', './stkof', '10090'], os.environ)

只要用wt打开linux终端,然后执行该脚本即可,我们这里用wt打开bash,执行该脚本,命令如下:

wt bash -c /tmp/xxxxx/tmp/tmp7e7lwm5z

效果如下:

wt打开gdb

Pwntools设置打开终端选项

设置context.terminal选项来修改gdb.attach()使用的终端:

context.terminal = ['cmd.exe', '/c', 'wt.exe', 'bash', '-c']

样式调整

在当前窗口打开

wt命令选项:

-w 0

分隔窗口

水平分隔

wt命令选项:

sp -V

设置窗口名称

wt命令选项:

sp --title ‘gdb‘

最终效果

最终效果

完整命令行命令:

cmd.exe /c wt.exe -w 0 sp -V --title 'gdb' bash -c /tmp/xxxx

在Pwntools中设置context.terminal:

context.terminal = ['cmd.exe', '/c', 'wt.exe', '-w', '0','sp', '-V', '--title', 'gdb', 'bash', '-c']

参考

[1] 使用 Windows 终端的命令行参数, https://docs.microsoft.com/zh-cn/windows/terminal/command-line-arguments

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇