冥界3大法王 发表于 2022-7-4 11:04

关于修改x64dbg的状态栏遇到的烦恼!

本帖最后由 冥界3大法王 于 2022-7-4 11:05 编辑

费话不多说,看实现的源码和注释!

void LogStatusLabel::logUpdate(QString message)
{
    //TODO: This subroutine can be optimized
    if(!message.length())
      return;
    labelText += message.replace("\r\n", "\n");
    QStringList lineList = labelText.split('\n');
    labelText = lineList.last(); //if the last character is a newline this will be an empty string
    for(int i = 0; i < lineList.length(); i++)
    {
      const QString & line = lineList;
      if(line.length()) //set the last non-empty string from the split
      {
            finalLabel = line;
            break;
      }
    }
    setText(finalLabel);
//QClipboard* clipboard = QApplication::clipboard();
//clipboard->setText(finalLabel); 这样写没有问题,状态栏的内容也被复制到了剪贴板,但是Ctrl+X复制VA地址就被冲掉内容了!
//所以我们换成输出日志的方法来解决


//    QClipboard *clipboard = QApplication::clipboard();
//    QString text=clipboard->text();
//    DbgCmdExecDirect("log " + text); 成功了,但发现一个新问题,日志窗口日志被不停的刷新!
妈啊,好几屏啊~~{:301_972:}
所以,问题来,能否解决以上问题?
}

冥界3大法王 发表于 2022-7-4 11:13

本帖最后由 冥界3大法王 于 2022-7-4 11:28 编辑

所以上面的问题转换成两种解决思路:
1.判断剪贴板是否有数据?
有则不执行。。。
没有则执行。。。设置剪贴板的操作

2. 输出日志时 能否只让它执行一次,貌似与那块的位置相违背

wsds 发表于 2022-7-4 15:33

或者WIN+V打开剪辑板
页: [1]
查看完整版本: 关于修改x64dbg的状态栏遇到的烦恼!