Skip to content

Conversation

@RajaeDev6
Copy link

This PR adds a '--deobfuscate' cli flag, allowing users to enable string deobfuscation without a interactive prompt.

  • When output is redirected (e.g. floss test.exe > file.txt), FLOSS does not show the y/N prompt, not making deobfuscation possible.

  • If --deobfuscate flag is set, FLOSS enables decode, tight, and stack strings directly. If its not set and stdout is a TTY, FLOSS falls back to the interactive prompt

Closes #1176

@google-cla
Copy link

google-cla bot commented Dec 7, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @RajaeDev6, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the FLOSS command-line interface by introducing a --deobfuscate flag. This flag provides a non-interactive mechanism to enable string deobfuscation, resolving an issue where deobfuscation was not possible when the tool's output was redirected. The change streamlines automated workflows and improves usability by allowing explicit control over deobfuscation behavior without requiring manual input.

Highlights

  • New CLI Flag: Introduced the --deobfuscate flag to enable string deobfuscation directly from the command line, bypassing interactive prompts.
  • Non-Interactive Deobfuscation: This flag allows deobfuscation to proceed automatically, which is particularly useful when output is redirected (e.g., floss test.exe > file.txt), where interactive prompts are not feasible.
  • Deobfuscation Logic: When --deobfuscate is used, decode, tight, and stack strings are automatically enabled. If the flag is not set, the system falls back to the existing interactive prompt if stdout is a TTY, or defaults to 'n' if stdout is redirected.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a --deobfuscate flag to allow non-interactive enabling of string deobfuscation, which is a great addition for automation. The implementation is sound. My review includes a suggestion to simplify the logic for better readability. Additionally, for completeness, I recommend adding documentation for the new flag in doc/usage.md and a test case to verify its functionality and prevent future regressions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deobfuscation not available when redirecting STDOUT

1 participant