冥界3大法王 发表于 2020-2-27 20:56

x32dbg/x64dbg答疑100问

本帖最后由 冥界3大法王 于 2020-2-29 12:28 编辑

1.修改配置不能保存的问题
包括修改热键、定义显示隐藏列、定义收藏夹工具、修改选项项目。
开始以为可能真像网友所说是插件问题,后来意外得知切换成英文就正常了
也有极个别的老版本使用正常


2.修改x32dbg.ini【未知小节】导致程序崩溃的问题
以楼主自身经验为例
有可能是因为修改了x32dbg.ini中的
AbstractTableView=Source Code Pro Medium,8,-1,5,50,0,0,0,0,0
字体如果不存在,或字体名对不上也会崩溃,坑爹啊 ~~
所以溅血推荐重要文件必须备份!必须备份!必须备份!不然全部没了,到时你也会傻眼!


3.如何隐藏列?固定列宽?在汇编窗口中只显示1字节?
双击列修改,若不保存手动修改ini文件
效果欣赏

固定列宽与隐藏列效果欣赏

重启后,效果依旧。{:301_997:}



ModuleColumnHidden0=0
ModuleColumnHidden1=0
ModuleColumnHidden2=1      ;为1就是隐藏
ModuleColumnHidden3=0
ModuleColumnHidden4=1

ModuleColumnOrder0=1       显然这个该是排列顺序
ModuleColumnOrder1=2
ModuleColumnOrder2=3
ModuleColumnOrder3=4
ModuleColumnOrder4=5
SymbolColumnHidden0=0
SymbolColumnHidden1=0
SymbolColumnHidden2=1
SymbolColumnHidden3=0
SymbolColumnHidden4=1

SymbolColumnWidth0=30
SymbolColumnWidth1=26;具体多少自己调整
SymbolColumnWidth2=2B
SymbolColumnWidth3=203
SymbolColumnWidth4=7D0



4.下条件断点的问题
Shift+F4窗口,这个需要一些技巧,有时间慢慢谈谈。
需要几个地方共同配合才行,感觉这方面不如OD方便。




5.使用脚本的问题
先载入后并非像OD一样立刻开拔了,而是需要用run命令,继而你的那些bp 断点指令才会触发




6.字体配色使用style.css导致Ctrl+B复选框不能点下的问题
狗食损透了,官方页面上面有几种,记住千万别用。
想配色,直接修改x32dbg.ini/x64dbg.ini小节


7.堆栈窗口增强插件EasyLabelView.dp64/EasyLabelView.dp32的DIY修改

用WinHEX打开该文件

来到文件尾部,写上修改后的内容,记得中文会乱码哟~~{:301_973:}
论坛有个贴子是修改QT文件,汉化解决乱码的,要修改Qt5Core.dll (Qt5Gui.dll这两文件名搞混了),具体哪个笨笨也不知道了。

修改方法:用X64dbg load 另一个x64dbg
F9之后,Alt+E,过滤搜索,双击跟过去
00007FF9 | 48:8D | lea rdx,qword ptr ds:       | 00007FF94E32A0F8:"Bookmarks" 这里
00007FF9 | 48:8D | lea rcx,qword ptr ss:             |
00007FF9 | E8 32 | call easylabelview.7FF94E3227D0         |
00007FF9 | 90    | nop                                       |
00007FF9 | 4C:8B | mov r8,rax                              |
00007FF9 | 48:8B | mov rdx,qword ptr ds:             |
00007FF9 | 48:8B | mov rcx,qword ptr ds:             |
00007FF9 | FF15| call qword ptr ds:[<&?addTab@QTabWidget@@ |
00007FF9 | 90    | nop                                       |
00007FF9 | 48:8D | lea rcx,qword ptr ss:             |
00007FF9 | FF15| call qword ptr ds:[<&??1QString@@QEAA@XZ> |
00007FF9 | 48:8D | lea rdx,qword ptr ss:             |
00007FF9 | 48:8B | mov rcx,qword ptr ds:             |
00007FF9 | FF15| call qword ptr ds:[<&?windowIcon@QWidget@ |
00007FF9 | 90    | nop                                       |
00007FF9 | 4C:8B | mov r8,rax                              |
00007FF9 | BA 01 | mov edx,1                                 |
00007FF9 | 48:8B | mov rcx,qword ptr ds:             |
00007FF9 | FF15| call qword ptr ds:[<&?setTabIcon@QTabWidg |
00007FF9 | 90    | nop                                       |
00007FF9 | 48:8D | lea rcx,qword ptr ss:             |
00007FF9 | FF15| call qword ptr ds:[<&??1QIcon@@QEAA@XZ>]|
00007FF9 | 41:83 | or r9d,FFFFFFFF                           |
00007FF9 | 45:33 | xor r8d,r8d                               |
00007FF9 | 48:8D | lea rdx,qword ptr ds:       | 00007FF94E32A104:"Labels"==L"慌敢獬"这里
00007FF9 | 48:8D | lea rcx,qword ptr ss:             |
00007FF9 | E8 D2 | call easylabelview.7FF94E3227D0         |
00007FF9 | 90    | nop                                       |
00007FF9 | 4C:8B | mov r8,rax                              |
00007FF9 | 48:8B | mov rdx,qword ptr ds:             |
00007FF9 | 48:8B | mov rcx,qword ptr ds:             |
00007FF9 | FF15| call qword ptr ds:[<&?addTab@QTabWidget@@ |
00007FF9 | 90    | nop                                       |
00007FF9 | 48:8D | lea rcx,qword ptr ss:             |
00007FF9 | FF15| call qword ptr ds:[<&??1QString@@QEAA@XZ> |
00007FF9 | 48:8D | lea rdx,qword ptr ss:             |
00007FF9 | 48:8B | mov rcx,qword ptr ds:             |
00007FF9 | FF15| call qword ptr ds:[<&?windowIcon@QWidget@ |
00007FF9 | 90    | nop                                       |
00007FF9 | 4C:8B | mov r8,rax                              |
00007FF9 | BA 02 | mov edx,2                                 |
00007FF9 | 48:8B | mov rcx,qword ptr ds:             |
00007FF9 | FF15| call qword ptr ds:[<&?setTabIcon@QTabWidg |
00007FF9 | 90    | nop                                       |
00007FF9 | 48:8D | lea rcx,qword ptr ss:             |
00007FF9 | FF15| call qword ptr ds:[<&??1QIcon@@QEAA@XZ>]|
00007FF9 | 41:83 | or r9d,FFFFFFFF                           |
00007FF9 | 45:33 | xor r8d,r8d                               |
00007FF9 | 48:8D | lea rdx,qword ptr ds:       | 00007FF94E32A110:"Comments"这里
把这几句修改成我们的字符串所在的位置就OK了。
记得修改前要解决重定向问题,不然保存不了哟~~
修改前的:48 8D 15 63 7C 00 00
修改后的:48 8D 15 1B 50 01 00


修改前的:48 8D 15 0F 7C 00 00
修改后的:   48 8D 15 CE 4F 01 00


修改前的:48 8D 15 BB 7B 00 00
修改后的:   48 8D 15 7D 4F 01 00修改的跟上面截图一样了,是不是很爽呢? 热键随时伴随着我。{:301_975:}
而且视图菜单中的三个热键完全没有必要记了。{:301_988:}


8.能否编程实现对x64dbg窗口发送热键,完全可以。
Delphi等就行,楼主做到了。QT程序好坑爹,爹恨汝。


9.如何启动后就停在用户领空?
SystemBreakpoint=0


10.附加时不显示16进制
PidInHex=0


11.退出不确认
ShowExitConfirmation=0


12.某标签隐藏掉,省得太多碍眼!

如果=1,则该标签页被隐藏!


13.命令行参数如何运行?
init c:\52pojie.exe, 参数2, 当前文件路径


14.如何让最近文件显示多个?
;这里是你调试过的文件列表
01
02
03
...
30


15.标签的奥秘
系统默认为15个,顺序为0-E,你增长了某些插件才能自动增多,比如雪人,比如字符串增强插件。
不信看x32gui.dll的截图


16.如何设断并起名?
bp 地址或API名称,参数2是断点的名称(要有空格用引号括起来), 参数3是断点类型 ss/ud2/long/short(有些可组合使用)


17.如何显示内存数据?
dump rax
d eax
等等,有时间再补充

18.如何设标签?
Ctrl+D
另外:    ; 也最好常用用

19.右面的调用参数不显示,咋办?
尝试引入符号,从函数中分析(Alt+E,右击,网上下载符号库文件)
这方面感觉不如OD,这个跟OD中的Ctrl+A是有区别的。

20.为什么有的热键按起来不起作用?
比如Ctrl+Shift+E
你只能在符号窗口中按
这也是热键列表中很多是重的原因之一。
貌似不是全局性的。

21.默认热键很多,很垃圾!
比如【在内存布局中转到】、帮助中的很多项也在热键列表中。。。
这个感觉为了满足个人需求有必要自己重新整理一份,方便好记常用的出来

22.如何转换成C++等编程语言?
右击,
雪人标签页中,F5
老版本集成了,新的需要自己移植dll


23.窗口句柄 使用基本要点
目标窗口出现
中二窗口 F5
右键=》消息断点

24.好用的过滤搜索功能
因为支持正则,所以很多窗口中可以使用

25.如何下1万个断点?
脚本窗口利用bp命令+编程实现
提前总得有1万个可疑的va地址吧?

26.收藏夹配置工具的奥秘
主要由三个字段组成的
软件名
软件的完整路径
快捷键

先生成一组,然后下面照抄就行。
记着跟编程一样,都是从0开始的


更为神奇的是,你能定义自己喜欢的工具的名称、路径(含参数)、热键
脚本也是同样。。。
比如bphc,定义热键Ctrl+Shift+Q,干得漂亮,一键清空硬件断点就这样完成了,so easy吧。

27.IDA如何和X64dbg同步调试?
使用同步插件即可

28.两个X32dbg或两个X64dbg如何玩转同步双窗调试?
上AHK脚本

29.如何让程序自动化的跳过异常?
选项-》杂项,最后一行,开启后有惊喜发生。
注:至少为2020-2-11的版本才有该选项,很神奇。
其他手动在【异常选项卡】添加
或热键半自动跳过

30.重新启动后,汇编修补注释没有了。
该功能尚未实现,但是您可以使用此插件来获取它:https : //github.com/x64dbg/AutoExportPatches


.明天心情好再编
。。。待续。。。


100.如何让程序显示彩蛋?
帮助中有记载,修改配置文件,之后。。。就不知道了。
NoSeasons=0
Set to 1 to disable easter eggs and Christmas icons.


多多提问,多多解答,才能共同进步。
楼下,你不知道,你不知道,你不知道,为啥呢?因为你仅仅配回复一个“好,谢谢分享,没有参与进来。
”今年的十大候选人,肯定没有你的份。
一起交流,别做哑巴,好吧。


csjwaman 发表于 2020-2-28 09:22

感谢楼主有心!另外,请问一下:
00402BB4 | A3 34644000            | MOV DWORD PTR DS:,EAX            |
00402BB9 | E8 17010000            | CALL <sub_402CD5>                        |
00402BBE | 391D 40634000          | CMP DWORD PTR DS:,EBX            | ebx:PEB.InheritedAddressSpace
00402BC4 | 75 0C                  | JNE 0x402BD2                               |
00402BC6 | 68 D22C4000            | PUSH <sub_402CD2>                        |
00402BCB | FF15 40424000          | CALL DWORD PTR DS:[<&__setusermatherr>]    |
00402BD1 | 59                     | POP ECX                                    |
00402BD2 | E8 E9000000            | CALL <sub_402CC0>                        |
00402BD7 | 68 18604000            | PUSH checktool.406018                      |   //这里的模块名怎么替换成0x
00402BDC | 68 14604000            | PUSH checktool.406014                      |   //这里的模块名怎么替换成0x
00402BE1 | E8 D4000000            | CALL <JMP.&_initterm>                      |
00402BE6 | A1 24644000            | MOV EAX,DWORD PTR DS:            |
00402BEB | 8945 94                | MOV DWORD PTR SS:,EAX            |
00402BEE | 8D45 94                | LEA EAX,DWORD PTR SS:            |
00402BF1 | 50                     | PUSH EAX                                 |
00402BF2 | FF35 20644000          | PUSH DWORD PTR DS:               |

冥界3大法王 发表于 2020-6-21 06:47

wtujoxk 发表于 2020-3-6 10:29
你好,将两个snowman.dp32andsnowman.dp64文件拷贝到plugins目录,按F5没有反应,是还需要什么设置, ...

@wtujoxk

E:\x64dbg_2020.06.04\x32\snowman.ini

styleSheetFile=
windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x3\0\0\0\0\0\0\0\x41\0\0\x1Q\xfc\x2\0\0\0\x1\xfb\0\0\0 \0I\0n\0s\0t\0r\0u\0\x63\0t\0i\0o\0n\0s\0V\0i\0\x65\0w\x1\0\0\0\x12\0\0\x1Q\0\0\0J\0\xff\xff\xff\0\0\0\x1\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x3\xfb\0\0\0\x18\0S\0\x65\0\x63\0t\0i\0o\0n\0s\0V\0i\0\x65\0w\0\0\0\0\0\xff\xff\xff\xff\0\0\0J\0\xff\xff\xff\xfb\0\0\0\x16\0S\0y\0m\0\x62\0o\0l\0s\0V\0i\0\x65\0w\0\0\0\0\0\xff\xff\xff\xff\0\0\0J\0\xff\xff\xff\xfb\0\0\0\x1a\0I\0n\0s\0p\0\x65\0\x63\0t\0o\0r\0V\0i\0\x65\0w\0\0\0\0\0\xff\xff\xff\xff\0\0\0J\0\xff\xff\xff\0\0\0\x3\0\0\0\0\0\0\0\0\xfc\x1\0\0\0\x1\xfb\0\0\0\xe\0L\0o\0g\0V\0i\0\x65\0w\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x41\0\xff\xff\xff\0\0\x3|\0\0\x1Q\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
decompileAutomatically=true
InstructionsView.font=@Variant(\0\0\0@\0\0\0\x10\0\x43\0o\0n\0s\0o\0l\0\x61\0s@ \0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
CxxView.font=@Variant(\0\0\0@\0\0\0\x10\0\x43\0o\0n\0s\0o\0l\0\x61\0s@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
SectionsView.font=@Variant(\0\0\0@\0\0\0\x10\0\x43\0o\0n\0s\0o\0l\0\x61\0s@ \0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
SymbolsView.font=@Variant(\0\0\0@\0\0\0\x10\0\x43\0o\0n\0s\0o\0l\0\x61\0s@ \0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
LogView.font=@Variant(\0\0\0@\0\0\0\x10\0\x43\0o\0n\0s\0o\0l\0\x61\0s@ \0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)


x32dbg.ini 热键小节多了几个热键,没别的了啊。

hackgsl 发表于 2020-2-27 21:12

楼主就是活帮助:lol

ttrtty5 发表于 2020-2-27 21:44

我试着改了下风格,瞬间感觉不会用了,就删了用回原来风格,虽然白色实在看着眼花,楼主有什么风格推荐吗

chenjingyes 发表于 2020-2-27 21:51

总结的很好谢谢楼主分享

ye370724 发表于 2020-2-27 21:56

谢谢楼主

那年听风 发表于 2020-2-27 21:58

netspirit 发表于 2020-2-27 22:03

我还以为真有100问啊。。。。。

涛之雨 发表于 2020-2-27 22:04

我再来问一个:为什么法王能把x32dbg/x64dbg玩的这么6
(高亮突出主题)

无闻无问 发表于 2020-2-27 22:24

有一样比OD强,跟踪直到满足条件…爆破vmp很有用…

冥界3大法王 发表于 2020-2-27 22:27

ttrtty5 发表于 2020-2-27 21:44
我试着改了下风格,瞬间感觉不会用了,就删了用回原来风格,虽然白色实在看着眼花,楼主有什么风格推荐吗


@ttrtty5 改好了,可惜全没了。{:301_972:}
页: [1] 2 3 4 5
查看完整版本: x32dbg/x64dbg答疑100问