Skip to content

libdebug.snapshots.thread.thread_snapshot_diff

ThreadSnapshotDiff

Bases: Diff

This object represents a diff between thread snapshots.

Source code in libdebug/snapshots/thread/thread_snapshot_diff.py
class ThreadSnapshotDiff(Diff):
    """This object represents a diff between thread snapshots."""

    def __init__(self: ThreadSnapshotDiff, snapshot1: ThreadSnapshot, snapshot2: ThreadSnapshot) -> ThreadSnapshotDiff:
        """Returns a diff between given snapshots of the same thread.

        Args:
            snapshot1 (ThreadSnapshot): A thread snapshot.
            snapshot2 (ThreadSnapshot): A thread snapshot.
        """
        super().__init__(snapshot1, snapshot2)

        # Register diffs
        self._save_reg_diffs()

        # Memory map diffs
        self._resolve_maps_diff()

        if (self.snapshot1._process_name == self.snapshot2._process_name) and (
            self.snapshot1.aslr_enabled or self.snapshot2.aslr_enabled
        ):
            liblog.warning("ASLR is enabled in either or both snapshots. Diff may be messy.")

__init__(snapshot1, snapshot2)

Returns a diff between given snapshots of the same thread.

Parameters:

Name Type Description Default
snapshot1 ThreadSnapshot

A thread snapshot.

required
snapshot2 ThreadSnapshot

A thread snapshot.

required
Source code in libdebug/snapshots/thread/thread_snapshot_diff.py
def __init__(self: ThreadSnapshotDiff, snapshot1: ThreadSnapshot, snapshot2: ThreadSnapshot) -> ThreadSnapshotDiff:
    """Returns a diff between given snapshots of the same thread.

    Args:
        snapshot1 (ThreadSnapshot): A thread snapshot.
        snapshot2 (ThreadSnapshot): A thread snapshot.
    """
    super().__init__(snapshot1, snapshot2)

    # Register diffs
    self._save_reg_diffs()

    # Memory map diffs
    self._resolve_maps_diff()

    if (self.snapshot1._process_name == self.snapshot2._process_name) and (
        self.snapshot1.aslr_enabled or self.snapshot2.aslr_enabled
    ):
        liblog.warning("ASLR is enabled in either or both snapshots. Diff may be messy.")