吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4041|回复: 33
收起左侧

[原创] 第二章:x64dbg编译后内部初探和文件夹结构的奥秘大曝光和简单的修改

[复制链接]
冥界3大法王 发表于 2021-11-13 12:14
本帖最后由 冥界3大法王 于 2021-11-13 17:30 编辑

再回首:第一章:编译第一个属于你的x64dbg

大家还记得上一集我们说的那个(1)(2)(3)安装QT的步奏吗?
image.png
就是这三个家伙,经过楼主的实测可以用TotalUninstall记录安装,导出注册表;并打包成7zip。下次再用时直接解包,导入注册表即可。
(打包后的大小是860M,老外的那个7ZIP不靠谱;因为里边缺了东西)
image.png
由于上面这些我们已经基本上用过了,简单的回顾下就行了。
.github目录: 提交问题发布代码相关的东西
bin目录:    最终我们生成的产品在这目录里边(★)
deps目录: 执行批处理setupdeps.bat时从这个目录里复制过去的原始x32dbg/x64dbg相关目录和文件
help目录: 有一个md文件里边是下面的内容:
网络帮助:http://help.x64dbg.com
                    Github: https://github.com/x64dbg/docs
                    阅读文档: https://readthedocs.org/projects/x64dbg
hook目录:你执行install.bat时执行的初化始HOOK的相关文件

scr目录  真正的源码都在这里头!              (★)
   build-x64dbg-x64-Release(编译过程中用到的临时目录)
   build-x64dbg-x86-Release(编译过程中用到的临时目录)
image.png
我们执行x64dbg.sln(编译出x32dbg.exe、x32dbg.dll、x32bridge.dll)
具体看法王同学给绘的地图吧@-@
image.png
image.png

这些最重要的东西简单的交待完之后,大家是不是跃跃欲试打算搞点事情呢?
就像你小学写作文时一样:时间、地点、人物、事件、主谓宾定状补。
这里我们最关心的是:它是谁? 在哪里? 怎么改?
工具准备篇:
了日后编辑修改访问方便
我在桌面上创建了快捷方式:C:\Qt\qtcreator-4.3.1\bin\qtcreator.exe C:\x64dbg_Compile_1\src\gui\x64dbg.pro
image.png
这样以后我只要双击就能马上编译出x32gui和x64gui.dll界面文件了。
文件夹也是同时,按着Ctrl+Shift+文件夹拖一个桌面上吧。
这些电脑基础操作就不用费话了吧?
接下来我准备了用于快速搜索文件名的软件Everything并设置了热键
用于搜索文件内容的软件TotalCommander、FileLocatorPro(前者支持多标签、后者支持下次打开时接茬看上次打开的,并能在右边预览)
用于写心得和记录的笔记软件My Notes Keeper这样万一以后想不起来了还能再回顾下想当年我是怎么改的

要点说完,开始实战吧。
image.png
比如我们想把这个大蜘蛛图片改掉,那就先找到该图片,也就是上面截图的那个文件夹。但大小最好给人家的一样256*256 PNG的
不然可就走形了,或不好看了。
每次都需要用Qt Creator编译下
image.png
这样改其实也没啥意思,就是随便玩玩吧。
image.png
工具栏上的这些小图标,您是否看着满意?
不满意我们可以替换成别的,或让上面直接显示出文字来。
像下面这样:
image.png
image.png
先找到MainWindows.ui,双击进入
image.png
依图点击 ,就只有文字了。 其他几个呢?  我们可以替换图标 或 干脆只要文字
因为图标的大小只有16*16,就算你费心PS修改,也是表现力不强的;不如改成字反而是一目了然。
image.png
接下来,我们修改Ctrl+G看到的信息
image.png
image.png
image.png
鼠标一点链接,直接输入地址,超级方便,而这功能只有新版本才出现,楼下你不知道吧?
image.png

直接搜索找到,双击,加代码去修改吧。
[C++] 纯文本查看 复制代码
void GotoDialog::expressionChanged(bool validExpression, bool validPointer, dsint value)
{
    QString expression = ui->editExpression->text();
    if(!expression.length())
    {
        QString tips[] = {"RVA", tr("File offset"), "PEB", "TEB"};
        const char* expressions[] = {":$%", ":#%", "peb()", "teb()"};
        QString labelText(tr("Shortcuts: "));
        for(size_t i = 0; i < 4; i++)


修改后的代码:
[Asm] 纯文本查看 复制代码
void GotoDialog::expressionChanged(bool validExpression, bool validPointer, dsint value)
{
    QString expression = ui->editExpression->text();
    if(!expression.length())
    {
        QString tips[] = {"此处粘入相对虚拟地址(RVA)" , tr("此处粘入文件偏移地址(FOA)"), "peb()" , "teb()"};
        const char* expressions[] = {":$%", ":#%", "peb()获取进程环境块地址", "teb()获取线程环境块地址"};
        QString labelText(tr("快捷输入:"));

楼下,就这么简单的代码你看懂了不?
@不苦小和尚  按下Ctrl+G,显示的地址上面,直接显示出VA、RVA、FOA地址;
这一功能我还没有研究明白如何改? 您来给我表演下;不要光动嘴。


接下来,我们尝试添加一些比较实用的快捷键在程序内部实现(以往我都是直接在x64dbg.ini中来修改的)
image.png
就改三A地址复制的热键吧,这是我最不喜欢的之一
默认OD的复制VA地址热键是Ctrl+X
。。。。。。RVA。。。。。Ctrl+Shift+X
。。。。。。FOA。。。。。Shift+X
又简单,又好记!什么?法王的修改非主流? 法王的盲按速度秒你三条街。
image.png
故技重施,话不重复。我们把那三个照猫画虎修改吧
另外再把 转到下一帧、转到上一帧 给修改成Ctrl+Shift+Down和 Ctrl+Shift+Up 这样在堆栈窗口操作时就方便了。
热键设置硬件断点这种我还没研究透如何编?默认是没有的,并不代表不能有!
接下来还能修改控件的默认属性,
譬如 image.png
image.png
动动脑子吧,既然如此,那就证明是通过代码实现的!
image.png
我们就把它改成False吧。这次我们又成功了。通过简单的练习,我们得到了很多的启示。
同时也有很多新的挑战,例如上面提到的很多;还有下面的很多设想,还不知如何去改。。
下一节,从头开始学QT的开发,编写一个CrackMe程序起步热身吧。







先晚饭前存盘,你们都不要偷看哟~~

免费评分

参与人数 10吾爱币 +9 热心值 +8 收起 理由
xyz349925756 + 1 + 1 我很赞同!
b1gpanda + 1 谢谢@Thanks!
笙若 + 1 + 1 谢谢@Thanks!
caleb110 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zxcvbn99 + 1 + 1 谢谢@Thanks!
御花猫 + 1 点赞收藏,慢慢学!
易水寒汐 + 1 我很赞同!
aa530416 + 1 + 1 热心回复!
xiahhhr + 1 + 1 谢谢@Thanks!
董督秀 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

nirse 发表于 2021-11-14 13:28
NOP是让你要修改的那行代码无效,不执行任何操作,软件读到这一行代码的时候就直接忽略,继续执行下一行。而跳转的问题跳不下去的问题,有可能是这个跳转上面还有个大跳转跳过这段代码。如果是执行到你要修改的那个跳转代码你跳不过的时候,你就把原来的代码(JE、JNE等)修改为JMP,JMP是无条件跳转,不管你上面判断的什么值,我都无条件跳转,而修改跳转就是在反汇编窗口看到的JE、JNE等用鼠标双击它,把JE、JNE等修改为JMP就可以了。
 楼主| 冥界3大法王 发表于 2021-11-13 13:30
不苦小和尚 发表于 2021-11-13 13:20
没啥意义吧,修改增强一些功能才好

万丈高楼平地起,简单的还没有整明白呢。。。
不得一步步来。。。
鄙视光动嘴不动手的
ygmz 发表于 2021-11-13 12:44
xiahhhr 发表于 2021-11-13 12:49
不明所以 已明惊人 好帖秒贴,向大佬看齐
xiaobaixuepj 发表于 2021-11-13 13:08
大佬牛,学习,谢谢分享
a3284595 发表于 2021-11-13 13:14
虽然没看明白  但是支持分享
不苦小和尚 发表于 2021-11-13 13:20
没啥意义吧,修改增强一些功能才好
Love0912 发表于 2021-11-13 13:42
感谢无私分享,学习中~
xingjing 发表于 2021-11-13 13:46
虽然有源码,但是要搞清楚,肯定要折腾不少时间
podehui 发表于 2021-11-13 14:37
学习了 很棒得内容
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 09:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表