Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F139430266
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
12 KB
Referenced Files
None
Subscribers
None
View Options
Index: head/x11/radare-cutter/Makefile
===================================================================
--- head/x11/radare-cutter/Makefile (revision 486092)
+++ head/x11/radare-cutter/Makefile (revision 486093)
@@ -1,37 +1,36 @@
# $FreeBSD$
PORTNAME= radare-cutter
-PORTVERSION= 1.7.1
+PORTVERSION= 1.7.2
DISTVERSIONPREFIX= v
-PORTREVISION= 1
CATEGORIES= x11
MAINTAINER= swills@FreeBSD.org
COMMENT= GUI for radare2 reverse engineering framework
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/../COPYING
LIB_DEPENDS= libr_bin.so:devel/radare2
USES= gl pkgconfig python:3.4+ qmake:outsource qt:5
USE_GITHUB= yes
GH_ACCOUNT= radareorg
GH_PROJECT= cutter
USE_QT= buildtools_build core declarative gui location network printsupport \
svg webchannel webengine widgets
USE_GL= gl
WRKSRC_SUBDIR= src
PLIST_FILES= bin/Cutter \
share/appdata/Cutter.appdata.xml \
share/applications/Cutter.desktop \
share/pixmaps/cutter.svg
post-patch:
@${REINPLACE_CMD} 's/python3/python-${PYTHON_VER}/' ${WRKSRC}/Cutter.pro
.include <bsd.port.mk>
Index: head/x11/radare-cutter/distinfo
===================================================================
--- head/x11/radare-cutter/distinfo (revision 486092)
+++ head/x11/radare-cutter/distinfo (revision 486093)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1537225612
-SHA256 (radareorg-cutter-v1.7.1_GH0.tar.gz) = e9b737d75a6d5b6f27c1406ee6b09f4e570db226c3a52f2f6c5f3b8bdd4050f8
-SIZE (radareorg-cutter-v1.7.1_GH0.tar.gz) = 1100528
+TIMESTAMP = 1543350663
+SHA256 (radareorg-cutter-v1.7.2_GH0.tar.gz) = 48ecdb0fdfc9791014bc08b116d6186a63e0145953564ca9c92a7333206e3da1
+SIZE (radareorg-cutter-v1.7.2_GH0.tar.gz) = 1126217
Index: head/x11/radare-cutter/files/patch-Cutter.cpp
===================================================================
--- head/x11/radare-cutter/files/patch-Cutter.cpp (nonexistent)
+++ head/x11/radare-cutter/files/patch-Cutter.cpp (revision 486093)
@@ -0,0 +1,132 @@
+--- Cutter.cpp.orig 2018-11-27 21:55:04 UTC
++++ Cutter.cpp
+@@ -111,7 +111,7 @@ QList<QString> CutterCore::sdbListKeys(QString path)
+ SdbList *l = sdb_foreach_list(root, false);
+ ls_foreach(l, iter, vsi) {
+ SdbKv *nsi = (SdbKv *)vsi;
+- list << nsi->key;
++ list << reinterpret_cast<char *>(nsi->base.key);
+ }
+ }
+ return list;
+@@ -323,26 +323,6 @@ void CutterCore::openFile(QString path, RVA mapaddr)
+ }
+ }
+
+-void CutterCore::analyze(int level, QList<QString> advanced)
+-{
+- CORE_LOCK();
+- /*
+- * Levels
+- * Level 1: aaa
+- * Level 2: aaaa
+- */
+-
+- if (level == 1) {
+- r_core_cmd0(core_, "aaa");
+- } else if (level == 2) {
+- r_core_cmd0(core_, "aaaa");
+- } else if (level == 3) {
+- for (QString option : advanced) {
+- r_core_cmd0(core_, option.toStdString().c_str());
+- }
+- }
+-}
+-
+ void CutterCore::renameFunction(const QString &oldName, const QString &newName)
+ {
+ cmdRaw("afn " + newName + " " + oldName);
+@@ -549,11 +529,6 @@ ut64 CutterCore::math(const QString &expr)
+ return r_num_math(this->core_ ? this->core_->num : NULL, expr.toUtf8().constData());
+ }
+
+-QString CutterCore::itoa(ut64 num, int rdx)
+-{
+- return QString::number(num, rdx);
+-}
+-
+ void CutterCore::setConfig(const QString &k, const QString &v)
+ {
+ CORE_LOCK();
+@@ -716,51 +691,6 @@ QString CutterCore::createFunctionAt(RVA addr, QString
+ return ret;
+ }
+
+-void CutterCore::markString(RVA addr)
+-{
+- cmd("Cs @" + RAddressString(addr));
+-}
+-
+-int CutterCore::get_size()
+-{
+- CORE_LOCK();
+- RBinObject *obj = r_bin_get_object(core_->bin);
+- //return obj->size;
+- return obj != nullptr ? obj->obj_size : 0;
+-}
+-
+-ulong CutterCore::get_baddr()
+-{
+- CORE_LOCK();
+- ulong baddr = r_bin_get_baddr(core_->bin);
+- return baddr;
+-}
+-
+-QList<QList<QString>> CutterCore::get_exec_sections()
+-{
+- QList<QList<QString>> ret;
+-
+- QString text = cmd("S*~^S");
+- for (QString line : text.split("\n")) {
+- QStringList fields = line.split(" ");
+- if (fields.length() == 7) {
+- if (fields[6].contains("x")) {
+- QList<QString> tmp = QList<QString>();
+- tmp << fields[2];
+- tmp << fields[3];
+- tmp << fields[5];
+- ret << tmp;
+- }
+- }
+- }
+- return ret;
+-}
+-
+-QString CutterCore::getOffsetInfo(QString addr)
+-{
+- return cmd("ao @ " + addr);
+-}
+-
+ QJsonDocument CutterCore::getRegistersInfo()
+ {
+ return cmdj("aeafj");
+@@ -1219,29 +1149,6 @@ QStringList CutterCore::getStats()
+ stats << cmd("f~?").trimmed();
+
+ return stats;
+-}
+-
+-QString CutterCore::getSimpleGraph(QString function)
+-{
+- // New styles
+- QString graph = "graph [bgcolor=invis, splines=polyline];";
+- QString node =
+- "node [style=\"filled\" fillcolor=\"#4183D7\" shape=box fontname=\"Courier\" fontsize=\"8\" color=\"#4183D7\" fontcolor=\"white\"];";
+- QString arrow = "edge [arrowhead=\"normal\";]";
+-
+- // Old styles
+- QString old_graph = "graph [bgcolor=white fontsize=8 fontname=\"Courier\"];";
+- //QString old_node = "node [color=lightgray, style=filled shape=box];";
+- QString old_node = "node [fillcolor=gray style=filled shape=box];";
+- QString old_arrow = "edge [arrowhead=\"vee\"];";
+-
+- QString dot = cmd("aga @ " + function).trimmed();
+- dot.replace(old_graph, graph);
+- dot.replace(old_node, node);
+- dot.replace(old_arrow, arrow);
+- dot.replace("fillcolor=blue", "fillcolor=\"#EC644B\", color=\"#EC644B\"");
+-
+- return dot;
+ }
+
+ void CutterCore::setGraphEmpty(bool empty)
Property changes on: head/x11/radare-cutter/files/patch-Cutter.cpp
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: head/x11/radare-cutter/files/patch-Cutter.h
===================================================================
--- head/x11/radare-cutter/files/patch-Cutter.h (nonexistent)
+++ head/x11/radare-cutter/files/patch-Cutter.h (revision 486093)
@@ -0,0 +1,99 @@
+--- Cutter.h.orig 2018-10-08 07:20:46 UTC
++++ Cutter.h
+@@ -17,14 +17,9 @@
+ #include <QJsonDocument>
+ #include <QErrorMessage>
+
+-#define HAVE_LATEST_LIBR2 false
+-
+ #define CutterRListForeach(list, it, type, x) \
+ if (list) for (it = list->head; it && ((x=(type*)it->data)); it = it->n)
+
+-#define __alert(x) QMessageBox::question (this, "Alert", QString(x), QMessageBox::Ok)
+-#define __question(x) (QMessageBox::Yes==QMessageBox::question (this, "Alert", QString(x), QMessageBox::Yes| QMessageBox::No))
+-
+ #define APPNAME "Cutter"
+
+ #define Core() (CutterCore::getInstance())
+@@ -60,8 +55,6 @@ class RCoreLocked (public)
+ ~RCoreLocked();
+ operator RCore *() const;
+ RCore *operator->() const;
+- RVA seek(RVA offset);
+- RVA getSeek();
+ };
+
+ inline QString RAddressString(RVA addr)
+@@ -398,7 +391,6 @@ class CutterCore: public QObject (public)
+ QString cmdFunctionAt(QString addr);
+ QString cmdFunctionAt(RVA addr);
+ QString createFunctionAt(RVA addr, QString name);
+- void markString(RVA addr);
+
+ /* Flags */
+ void delFlag(RVA addr);
+@@ -434,9 +426,6 @@ class CutterCore: public QObject (public)
+ void loadScript(const QString &scriptname);
+ QJsonArray getOpenedFiles();
+
+- /* Analysis functions */
+- void analyze(int level, QList<QString> advanced);
+-
+ /* Seek functions */
+ void seek(QString thing);
+ void seek(ut64 offset);
+@@ -464,7 +453,6 @@ class CutterCore: public QObject (public)
+
+ /* Math functions */
+ ut64 math(const QString &expr);
+- QString itoa(ut64 num, int rdx = 16);
+
+ /* Config functions */
+ void setConfig(const QString &k, const QString &v);
+@@ -491,12 +479,8 @@ class CutterCore: public QObject (public)
+ QList<QString> sdbListKeys(QString path);
+ QString sdbGet(QString path, QString key);
+ bool sdbSet(QString path, QString key, QString val);
+- int get_size();
+- ulong get_baddr();
+- QList<QList<QString>> get_exec_sections();
+- QString getOffsetInfo(QString addr);
+
+- // Debug
++ /* Debug */
+ QJsonDocument getRegistersInfo();
+ QJsonDocument getRegisterValues();
+ QString getRegisterName(QString registerRole);
+@@ -531,6 +515,7 @@ class CutterCore: public QObject (public)
+ int currentlyAttachedToPID = -1;
+ QString currentlyOpenFile;
+
++ /* Pseudocode */
+ QString getDecompiledCodePDC(RVA addr);
+ bool getR2DecAvailable();
+ QString getDecompiledCodeR2Dec(RVA addr);
+@@ -540,7 +525,6 @@ class CutterCore: public QObject (public)
+ QJsonDocument getSignatureInfo();
+ QJsonDocument getFileVersionInfo();
+ QStringList getStats();
+- QString getSimpleGraph(QString function);
+ void setGraphEmpty(bool empty);
+ bool isGraphEmpty();
+
+@@ -629,7 +613,6 @@ signals:
+ void refreshCodeViews();
+ void stackChanged();
+
+- void notesChanged(const QString ¬es);
+ void projectSaved(const QString &name);
+
+ /*!
+@@ -654,8 +637,6 @@ signals:
+
+ void newMessage(const QString &msg);
+ void newDebugMessage(const QString &msg);
+-
+-public slots:
+
+ private:
+ MemoryWidgetType memoryWidgetPriority;
Property changes on: head/x11/radare-cutter/files/patch-Cutter.h
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: head/x11/radare-cutter/files/patch-widgets_Dashboard.cpp
===================================================================
--- head/x11/radare-cutter/files/patch-widgets_Dashboard.cpp (nonexistent)
+++ head/x11/radare-cutter/files/patch-widgets_Dashboard.cpp (revision 486093)
@@ -0,0 +1,11 @@
+--- widgets/Dashboard.cpp.orig 2018-10-08 07:20:46 UTC
++++ widgets/Dashboard.cpp
+@@ -62,7 +62,7 @@ void Dashboard::updateContents()
+ this->ui->relroEdit->setText(relro);
+ }
+
+- this->ui->baddrEdit->setText("0x" + QString::number(Core()->get_baddr(), 16));
++ this->ui->baddrEdit->setText(RAddressString(item2["baddr"].toVariant().toULongLong()));
+
+ if (item2["va"].toBool() == true) {
+ this->ui->vaEdit->setText("True");
Property changes on: head/x11/radare-cutter/files/patch-widgets_Dashboard.cpp
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: head/x11/radare-cutter/files/patch-widgets_SidebarWidget.cpp
===================================================================
--- head/x11/radare-cutter/files/patch-widgets_SidebarWidget.cpp (nonexistent)
+++ head/x11/radare-cutter/files/patch-widgets_SidebarWidget.cpp (revision 486093)
@@ -0,0 +1,17 @@
+--- widgets/SidebarWidget.cpp.orig 2018-10-08 07:20:46 UTC
++++ widgets/SidebarWidget.cpp
+@@ -188,10 +188,13 @@ void SidebarWidget::fillOffsetInfo(QString off)
+ .set("scr.color", COLOR_MODE_DISABLED);
+
+ ui->offsetTreeWidget->clear();
+- QString raw = Core()->getOffsetInfo(off);
++ QString raw = Core()->cmd(QString("ao@") + off).trimmed();
+ QList<QString> lines = raw.split("\n", QString::SkipEmptyParts);
+ for (QString line : lines) {
+ QList<QString> eles = line.split(":", QString::SkipEmptyParts);
++ if (eles.length() < 2) {
++ continue;
++ }
+ QTreeWidgetItem *tempItem = new QTreeWidgetItem();
+ tempItem->setText(0, eles.at(0).toUpper());
+ tempItem->setText(1, eles.at(1));
Property changes on: head/x11/radare-cutter/files/patch-widgets_SidebarWidget.cpp
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sun, Dec 14, 12:19 AM (4 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26916355
Default Alt Text
(12 KB)
Attached To
Mode
rP FreeBSD ports repository
Attached
Detach File
Event Timeline
Log In to Comment