Created
May 4, 2023 13:19
-
-
Save M0nteCarl0/e4ec3fc4e63a7b7249fb268a0d3f83db to your computer and use it in GitHub Desktop.
TraceView via IDA Pro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
import time | |
import numpy as np | |
from matplotlib.backends.qt_compat import QtWidgets | |
from matplotlib.backends.backend_qtagg import ( | |
FigureCanvas, NavigationToolbar2QT as NavigationToolbar) | |
from matplotlib.figure import Figure | |
import trsfile as trs | |
from trsfile import trs_open, Trace, SampleCoding, TracePadding, Header | |
from trsfile.parametermap import TraceParameterMap, TraceParameterDefinitionMap | |
from trsfile.traceparameter import ByteArrayParameter, ParameterType, TraceParameterDefinition | |
class ApplicationWindow(QtWidgets.QMainWindow): | |
def __init__(self): | |
super().__init__() | |
self._main = QtWidgets.QWidget() | |
self.setCentralWidget(self._main) | |
layout = QtWidgets.QVBoxLayout(self._main) | |
static_canvas = FigureCanvas(Figure(figsize=(5, 3))) | |
layout.addWidget(NavigationToolbar(static_canvas, self)) | |
layout.addWidget(static_canvas) | |
#dynamic_canvas = FigureCanvas(Figure(figsize=(5, 3))) | |
#layout.addWidget(dynamic_canvas) | |
#layout.addWidget(NavigationToolbar(dynamic_canvas, self)) | |
self._static_ax = static_canvas.figure.subplots() | |
t = np.linspace(0, 10, 501) | |
#self._dynamic_ax = dynamic_canvas.figure.subplots() | |
#t = np.linspace(0, 10, 101) | |
# Set up a Line2D. | |
#self._line, = self._dynamic_ax.plot(t, np.sin(t + time.time())) | |
#self._timer = dynamic_canvas.new_timer(50) | |
#self._timer.add_callback(self._update_canvas) | |
#self._timer.start() | |
def _update_canvas(self): | |
t = np.linspace(0, 10, 101) | |
# Shift the sinusoid as a function of time. | |
self._line.set_data(t, np.sin(t + time.time())) | |
self._line.figure.canvas.draw() | |
def show_trace_trs(self, trs_filename): | |
with trs.open(trs_filename, 'r') as traces: | |
self._static_ax.plot(traces[0]) | |
if __name__ == "__main__": | |
qapp = QtWidgets.QApplication.instance() | |
if not qapp: | |
qapp = QtWidgets.QApplication(sys.argv) | |
app = ApplicationWindow() | |
app.show() | |
app.show_trace_trs("D:\Python staff\TraceAnalyzer\ECC DPA.trs") | |
app.activateWindow() | |
app.raise_() | |
qapp.exec() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment