Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Filtering in Pattern Data Not Working #1944

Open
1 task
orbixio opened this issue Oct 26, 2024 · 0 comments
Open
1 task

[Bug] Filtering in Pattern Data Not Working #1944

orbixio opened this issue Oct 26, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@orbixio
Copy link

orbixio commented Oct 26, 2024

Operating System

Windows

What's the issue you encountered?

The filtering functionality in the Pattern Data view is experiencing several issues:

  1. Case Sensitivity: There is no option for case-insensitive filtering. Searches are case-sensitive by default, limiting results when using different letter cases.

  2. Value-Based Search Not Returning Results: When searching for specific values (e.g., DOS), no results are returned, even when the value exists in nested properties (e.g., peHeader.dosStub.message).

    Example:

    • Searching for DOS yields an empty result, despite it being present in peHeader.dosStub.message.
    • Screenshot: DOS Search
  3. Partial Header Search Limitation: Filtering by a header name doesn’t return matching results if the header name is only partially entered.

    Example:

    • Searching for pagesize returns empty results, even though ExtraPageSize is present.
    • Screenshot: PageSize Search

Expected Behavior:

  1. Case-Insensitive Search: An option to toggle case sensitivity in the filtering settings.
  2. Nested Value-Based Search: Filter should return results based on values within nested properties.
  3. Partial Match Capability: Searching by partial header names should still match any headers containing the search string.

How can the issue be reproduced?

  1. Create a Sample C Program: Create a simple hello_world.c file with the following content:

    #include <stdio.h>
    
    int main() {
        printf("Hello, World!\n");
        return 0;
    }
  2. Compile the Program: Compile hello_world.c to ensure the binary is generated (use gcc or your preferred compiler).

  3. Open the Compiled Binary: Open the generated binary in imhex.

  4. Apply the Pattern: Load and apply the pattern file pe.hexpat.

  5. Test the Filtering Functionality:

    • Search for the string DOS. The results should come back empty.
    • Search for a partial header name such as pagesize. The results should also be empty.
    • Try searching for different cases of sizeOfHeapCommit, such as SizeofheapCoMMit. Check if results are returned.

ImHex Version

1.35.4

ImHex Build Type

  • Nightly or built from sources

Installation type

Portable

Additional context?

image

@orbixio orbixio added the bug Something isn't working label Oct 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant