吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2010|回复: 11
上一主题 下一主题
收起左侧

[其他转载] x64dbg中隐藏的热键被我发现了

  [复制链接]
跳转到指定楼层
楼主
冥界3大法王 发表于 2021-11-17 09:00 回帖奖励
[C++] 纯文本查看 复制代码
void HexDump::mousePressEvent(QMouseEvent* event)
{
    if(event->buttons() == Qt::MiddleButton) //copy address to clipboard
    {
        if(!DbgIsDebugging())
            return;
        MessageBeep(MB_OK);
        QString addrText = ToPtrString(rvaToVa(getInitialSelection()));
        Bridge::CopyToClipboard(addrText);
        return;
    }
    //qDebug() << "HexDump::mousePressEvent";

    int x = event->x();
    int y = event->y();

    bool wAccept = false;

    if(((event->buttons() & Qt::LeftButton) != 0) && ((event->buttons() & Qt::RightButton) == 0))
    {
        if(getGuiState() == AbstractTableView::NoState)
        {
            if(y > getHeaderHeight() && y <= this->height())
            {
                int wColIndex = getColumnIndexFromX(x);

                if(mForceColumn != -1)
                {
                    wColIndex = mForceColumn;
                    x = getColumnPosition(mForceColumn) + 1;
                }

                if(wColIndex > 0 && mDescriptor.at(wColIndex - 1).isData == true) // No selection for first column (addresses) and no data columns
                {
                    dsint wStartingAddress = getItemStartingAddress(x, y);
                    dsint dataSize = getSizeOf(mDescriptor.at(wColIndex - 1).data.itemSize) - 1;
                    dsint wEndingAddress = wStartingAddress + dataSize;

                    if(wEndingAddress < (dsint)mMemPage->getSize())
                    {
                        bool bUpdateTo = false;
                        if(!(event->modifiers() & Qt::ShiftModifier))
                            setSingleSelection(wStartingAddress);
                        else if(getInitialSelection() > wEndingAddress)
                        {
                            wEndingAddress -= dataSize;
                            bUpdateTo = true;
                        }
                        expandSelectionUpTo(wEndingAddress);
                        if(bUpdateTo)
                        {
                            mSelection.toIndex += dataSize;
                            emit selectionUpdated();
                        }

                        mGuiState = HexDump::MultiRowsSelectionState;

                        updateViewport();
                    }
                }
                else if(wColIndex == 0)
                {
                    dsint wStartingAddress = getItemStartingAddress(getColumnPosition(1) + 1, y);
                    dsint dataSize = getSizeOf(mDescriptor.at(0).data.itemSize) * mDescriptor.at(0).itemCount - 1;
                    dsint wEndingAddress = wStartingAddress + dataSize;

                    if(wEndingAddress < (dsint)mMemPage->getSize())
                    {
                        bool bUpdateTo = false;
                        if(!(event->modifiers() & Qt::ShiftModifier))
                            setSingleSelection(wStartingAddress);
                        else if(getInitialSelection() > wEndingAddress)
                        {
                            wEndingAddress -= dataSize;
                            bUpdateTo = true;
                        }
                        expandSelectionUpTo(wEndingAddress);
                        if(bUpdateTo)
                        {
                            mSelection.toIndex += dataSize;
                            emit selectionUpdated();
                        }

                        mGuiState = HexDump::MultiRowsSelectionState;

                        updateViewport();
                    }
                }

                wAccept = true;
            }
        }
    }

    if(wAccept == false)
        AbstractTableView::mousePressEvent(event);
}

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
hszt + 1 + 1 按一下鼠标滚轮就复制地址了,很方便,以前要复制一行

查看全部评分

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

推荐
 楼主| 冥界3大法王 发表于 2021-11-17 12:44 |楼主
@苏紫方璇
QT中的响铃是这么写的:MessageBeep(MB_OK);
看到了下面的代码,我果断粘过去了奏乐的代码
可以没事的时候搞个 F7 F8 F9 等调试热键,配上1234567的音乐

[C++] 纯文本查看 复制代码
void Bridge::CopyToClipboard(const QString & text)
{
    if(!text.length())
        return;   
    QClipboard* clipboard = QApplication::clipboard();
    clipboard->setText(text);   
    GuiAddStatusBarMessage(tr("The data has been copied to clipboard.\n").toUtf8().constData());
    QFile file(":/icons/images/egg.wav");
    if(file.open(QIODevice::ReadOnly))
    {
        QByteArray egg = file.readAll();
        PlaySoundA(egg.data(), 0, SND_MEMORY | SND_ASYNC | SND_NODEFAULT);
    }
}

void Bridge::CopyToClipboard(const QString & text, const QString & htmlText)
{
    QMimeData* mimeData = new QMimeData();
    mimeData->setData("text/html", htmlText.toUtf8()); // Set text/html data
    mimeData->setData("text/plain", text.toUtf8());  //Set text/plain data
    //Reason not using setText() or setHtml():Don't support storing multiple data in one QMimeData
    QApplication::clipboard()->setMimeData(mimeData); //Copy the QMimeData with text and html data
    GuiAddStatusBarMessage(tr("The data has been copied to clipboard.\n").toUtf8().constData());
    QFile file(":/icons/images/egg.wav");
    if(file.open(QIODevice::ReadOnly))
    {
        QByteArray egg = file.readAll();
        PlaySoundA(egg.data(), 0, SND_MEMORY | SND_ASYNC | SND_NODEFAULT);
    }
}

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
苏紫方璇 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

头像被屏蔽
沙发
mokson 发表于 2021-11-17 09:02
3#
lijuelun1914 发表于 2021-11-17 09:17
4#
blindcat 发表于 2021-11-17 10:03
不明觉厉
5#
leonas30200 发表于 2021-11-17 10:11
我学了个假python
6#
symphonyNo9 发表于 2021-11-17 10:13
为什么能写这么复杂
7#
 楼主| 冥界3大法王 发表于 2021-11-17 10:28 |楼主
symphonyNo9 发表于 2021-11-17 10:13
为什么能写这么复杂

QT导演就是这么编剧的啊。
8#
lothario 发表于 2021-11-17 10:36
前排学习学习...
9#
DSugar 发表于 2021-11-17 10:45
看到这么多的代码俺头晕!!!
10#
zhuangsheng1945 发表于 2021-11-17 11:43
不明觉厉,希望能用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 09:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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