What changed

Hugging Face's blog post details experiments where local and open AI models were used to reverse engineer software. The team used a combination of models, including DeepSeek-V4.1-Flash-1017 as the lead agent and Qwen/Qwen3.5-9B as worker agents, to re-implement compiled software into Python. The experiments involved reconstructing an animated Hugging Face logo and a space shooter game.

What this means in practice

The team designed two toy problems for reverse engineering. In the first, they reconstructed an animated video of the Hugging Face logo, which required rewriting 38 functions. In the second, they reverse-engineered a space shooter game with 56 functions. The lead agent, DeepSeek-V4.1-Flash-1017, managed tasks and escalated 15 functions to the lead in the first experiment, while 20 functions were escalated in the second. The workers used a testing oracle, diff_test, to ensure their Python implementations matched the original binary's behavior. The lead agent also modified the workers' harnesses to improve performance.

Limitations and availability

The experiments highlight the challenges of using small models for complex tasks. In the space shooter game experiment, workers struggled with the draw_particles function due to a misinterpretation of ARM instructions. The lead agent corrected this by adjusting the workers' prompts. The results show that while the pipeline is slower and more expensive than solo runs, it can be effective for larger tasks. The team used an extended version of a harness based on IPython, and all agents had access to tools for reading binaries, tracing execution, and testing rewrites. The supplied announcement does not specify the exact availability of the models or tools used in the experiments.

Source facts for Hugging Face Demonstrates Reverse Engineering with Local AI Models: Today, if you plug powerful models into this application, you can easily reverse engineer almost any modern software, and the results are impressive. The lead disassembles the binary, finds and names the functions, guesses their signatures, and recovers the memory layout and data tables. Then it posts tasks with hints on a shared board, and idle workers pick up tasks themselves.
Original AINewsTrend explainer based on the cited source. This graphic summarizes source statements; it is not an independent benchmark.

Sources and further reading

  1. huggingface: Reverse Engineering Anything using small open models