冥界3大法王 发表于 2021-11-11 12:25

第一章:编译第一个属于你的x64dbg序章

本帖最后由 冥界3大法王 于 2021-11-13 20:28 编辑

话说自从楼主用上x64dbg以后就对其爱不释手,又爱又恨,常常把玩修改。
后来甚至用Delphi为其开发了Ollydbg/x36dbg贴心伴侣相关软件
再后来发现楼主已经对直接修改这些没啥兴趣了。
而且对其功能上的不足与bug,实在是发现了太多的太多,也曾经到老外的地方用英文提建议
但是隔一段时间新版本又发布了,更新的速度实在是太快了,激动变成了“鸡冻”。{:301_976:}
结果还是令人失望,我要的功能,希望改进的问题与bug仍然依旧未能解决。
所以我们要从敌人内部入手,从核心上来修改。

https://static.52pojie.cn/static/image/hrline/2.gif
序章:
网上搜索了下:最新的在一个csdn博客上
发现有个先人已经成功躺坑儿了(实际上在天国能找到的足迹只有两个;另一个先祖来自于看雪论坛5年前的贴子(只有两这篇文章详载了编译的一些细节)
题主说要开发插件的,就编了一个x64dbg编译过程的贴子。等着盼着等了五年。。结果也没有发布出来。。就石沉大海了。。
所以说求人难,求人难,求人实在是太难了,等着等着花儿都谢了,人也老了)
所以俺们照此博客做了几回,最终已失败告终!另外看雪的那个贴子写得也是有问题的。
更多的走过的弯路就不说了,因为鼓捣了4天,先后试过win10x64,win7x64,VS2013,VS2015。
以及文章提到的Qt_msvc2013-5.6.3、QT4.3.1、QT5.9
这些文章仔细分析都是有问题的。官方的链接在这里:里边提到了很多苛刻的条件和要求,如果实际情况和这些有区别,那么哪怕最后编译输出x32gui.dll和x64gui.dll时
也是编译通不过的。
https://static.52pojie.cn/static/image/hrline/2.gif
上面无形中,我又说了不少的费话:
说重点:
1.第一个先决条件:微软C++运行库和.NET得全!

1.确保你的系统安装过以上这些运行库、.NET4.8以上
微软常用运行库合集 v2021.08.02(32&64位)http://www.pc6.com/softview/SoftView_104246.html
.NET离线运行库合集:https://www.ghxi.com/nethj.html
你最好是严格按人家所说的这些去做!
比如我看了上面的博客,试着用VS2015+QT5.9到了后面编译x64gui.dll死活编译报错通不过。
@dbgcode 道友告诉他用VS2013能通过,但我就是不通过;原来他用的是VS2013 update3
换成了那个版本还是报错。后来发现即使把上面所说的.net和C++微软运行库全安装上了
也编译输出了,还是有1部分错误。也就是说细微的差距很影响最终的结果!切忌!不想费时间就按我下面走过的正确方法来做吧!

https://static.52pojie.cn/static/image/hrline/2.gif
2.第2个条件:(来吧,跟我照做就好!)
A.先装vs2013 update 5
链接:ed2k://|file|cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso|5567336448|641555AD6472A98923B29CC5E371461E|/
煮册妈:BWG7X-J98B3-W34RT-33B3R-JVYW9 {:301_997:}

上边的这个勾勾就是所说的那个VFC支持,其他选项可不选!
接下来安装VS2013 QT 5.6.3 x86 和 VS2013 QT 5.6.3 x64

盗图一张(懒得再截图了)
同理x86也是如此!
各自安装在
C:\Qt\qt-5.6.3-x86-msvc2013 (我们俩)       (a)<--左边有暗链下载
C:\Qt\qt-5.6.3-x64-msvc2013 (是支持用的)(b)<--左边有暗链下载
还有一个Qt Creator 4.3.1安装在C:\Qt\qtcreator-4.3.1 (这个主要是编译x32gui.dll和x64gui.dll用的) (c)<--左边有暗链下载
这个安装时没啥选择,肯定错不了,都选就行了,就不截图了!


另外老外还提供了一个:
Qt5.6.3-msvc2013-installed.7z :https://osdn.net/projects/x64dbg ... vc2013-installed.7z
它们是上面所说的(a)+(b)+ (c)的组合包 【你要是下载了这个就不用下载上面的那三个了;但是进Qt Creator你得配置一通;这就是二者的区别】
使用时直接解包到C:\Qt就行了。目录结构上面三次安装的一样!
设置方法在后面!


3.最后你还需下载一个github网页上的克隆存储库或网友直接打包好的文件:
吾爱dbgcode道友传的完美x64dbg-development00.7z https://wwi.lanzoui.com/ijHU9wdsckf
好友(Troy_daniel)git下回来的x64dbg:https://wwi.lanzoui.com/ijHU9wdsckf
【任下一个就行!这样就不用番番了】
(为啥呢?这就相当于我们小时候玩的红白机的卡带,游戏本体)里边包括了开发者最新编译的源码,注释很全!

在安装初始化阶段你还需要一个git的东西,它会在批处理之中去调用。没有它下面的命令也无法正常运行。
git这个东西比较坑爹,表现在几个方面:
git这个东西你得去下载安装(天朝下载不动);我下载的是 Git-2.33.1-64-bit.exe(47.8MB)
安装时狂按50下 NEXT按钮 就行了{:301_1008:}
git环境全局设置
    Win+R,cmd,set PATH=%PATH%;X:\x64dbg_compile\Git\bin\git.exe (请参考这个设置)
x64dbg源码(这个相当于我们小时候玩的红白机游戏带子;游戏的本体)

    git clone --recurse-submodules -b development https://github.com/x64dbg/x64dbg.git(下面我会上传一个完整的打包;不过最好是知道这东西是如何来的?)
    这个东西你得有番翻乐,不然命令行状态下会提示你SSL隧道。。失败等坑爹内容
最后法王在论坛上求爷爷告奶奶(包括喊爹)到求助区下载到的那个git镜像打包还不能用
最后最后通过QQ好友(Troy_daniel)git下回来的x64dbg.zip完整打包有90.3MB

这些都下载好之后,就可以解包了:

第四个坑儿,预安装阶段的坑爹之处:
install.bat 和setupdeps.bat (运行这两个批处理里边的git命令再调用git的时候,恭喜你又踩中雷了!)
   解决方法:
   cmd进入后,先cd X:\x64dbg_compile(转到自己的x64dbg编译目录)
当前实际是:X:\x64dbg-development
   再去运行xx.bat;这样就不报错了!





接下来运行 x64dbg.sln 来调用VS2013编译

如果你安装的不是vs2013 update 5这提示就不会出来了!

然后就可以点击编译了(得分别编译32和64位版本两次)

就会得到 x32dbg.exe 和 x32bridge.dll

同样:

没有x32dbg.dll 和 x64dbg.dll 就按图所示编译一下(Ctrl+B)就有了。不然最后运行x32dbg.exe or x64dbg.exe时就不行了。
其他文件没有,就运行上面提到的那两个 .bat
然后该有文件就都有了,现在万事俱备,只欠x32gui.dll和x64gui.dll(这两东风了@-@)
https://static.52pojie.cn/static/image/hrline/2.gif
最后的战斗:用QtCreator编译生成x32gui.dll和x64gui.dll

B1:还记得上面说的那个(a1)(a2)(a3)吗?按顺序来的就直接双击打开
B2:用7z解包的就使用打开的方式来调用它


进来之后这样子的。





位于屏幕左下角:

就会出现这样的字样和相关菜单选项,如果上面勾勾勾多了的话,就会出现更多个。
点击下面绿色的按钮就能编译了!
编译过程中会出现下面的文件夹:(C:\x64dbg_compile\src)
build-x64dbg-Desktop_Qt_5_9_0_MSVC2013_64bit-Release
build-x64dbg-Desktop_Qt_5_9_0_MSVC2013_32bit-Release
然而这两个文件都是临时的,生成的文件会从这里自动移走。

要是你用的是7z解包的那个,还得用下图配置下:

不然的话编译菜单里,它可不给你显示出来{:301_1006:}
你若是在绿色版选择qmake.exe的时候提示你已注册
我查了下老外的网页是这样说的:默认情况下,Qt Creator 只为每个安装的 Qt 模块注册最新可用版本的文档。
要注册所有已安装 Qt 版本的文档集,请从注册文档列表中选择全部。(你对照截图中的圈678就好了,这也是我自己鳖出来的){:301_1008:}
如果大家完全按照标准流程来做的话,就一个报错信息也没有了,我折腾了四天;各种情况,各种版本组合,参考别人的贴子和博客,各种报错信息,我都遇到过了。
最后成功的组合:Wind7x64+VS2013 update 5+ MSVC2013 的 Qt 5.6.3 (x86)+ Qt 5.6.3 (x64)+Qt Creator 4.3.1+微软运行库+.net4.8
切忌,不然你欲哭无泪!{:301_973:}

最后成功的话就会分别输出x32gui.dll 和 x64gui.dll

最后就编译输出了两个界面的文件

休息一下,一会上传需要的东东。

先随便来几张占楼

第二章:x64dbg编译后内部修改初探和文件夹结构的奥秘大曝光
第三章:用Qt编译生成一个CrackME
语音视频: https://www.52pojie.cn/thread-1543637-1-1.html


dbgcode 发表于 2021-11-11 12:59

盗用我看雪贴子一张图,没有注明出处。。。{:1_918:}

oranges 发表于 2021-11-11 12:28

支持支持!

冥界3大法王 发表于 2021-11-11 12:52

Hmily 发表于 2021-11-11 12:35
最近用了几次x64dbg调试64位的dll甚是不便,可以看看解决一下,dllload加载完dll后别退出,继续重新调用一 ...

抛砖引玉,这里还有一个编得更好的:https://bbs.pediy.com/thread-270185.htm
不服牛人有罪啊@-@
关于VS和Qt的开发还是菜鸟,写个心得供大家参考共鸣。
希望大家投入更多插件和bug的修复和DIY之中去。
等以后水平提高,肯定想办法去解决诸多问题。

z-one 发表于 2021-11-11 12:34

感谢楼主,正想学习怎么编译!

Hmily 发表于 2021-11-11 12:35

最近用了几次x64dbg调试64位的dll甚是不便,可以看看解决一下,dllload加载完dll后别退出,继续重新调用一下入口函数,像od那样,方便调试。

llvlijun 发表于 2021-11-11 12:42

谢谢,学习了,,,,

qmm 发表于 2021-11-11 13:00

大佬大佬

L__ 发表于 2021-11-11 13:13

谢谢楼主,正想学习如何编译!

冥界3大法王 发表于 2021-11-11 13:26

本帖最后由 冥界3大法王 于 2021-11-11 13:38 编辑

L__ 发表于 2021-11-11 13:13
谢谢楼主,正想学习如何编译!感觉对初学者来说还是太复杂了,回来虚拟机里再重录制个语音视频补充一下吧。
上面再配个思维导图一切就变得简单了。{:301_986:}
页: [1] 2 3 4 5
查看完整版本: 第一章:编译第一个属于你的x64dbg序章