Logo
blank Skip to main content

How Much Does Software Reverse Engineering Cost? Main Price-forming Factors

Key takeaways:

  • Reverse engineering is a research-driven process, so cost primarily depends on project duration, technical complexity, and code protections.
  • Hidden constraints like obfuscation and undocumented behaviors can extend timelines, making transparent reporting and iterative work essential.
  • To reduce the cost of reverse engineering, start with providing your team with all possible information about your software.
  • With experienced engineers and the right methodology, even complex reverse engineering tasks become predictable, legally compliant, and business-focused.

When you discover that your software is a black box, you have a problem on your hands. Maybe your vendor disappeared, the hardware is no longer supported, or you need to repurpose a system and ensure everything still works together. No matter the reason, you’re left with a piece of software you can’t fully access but still need. And now you’re wondering: How much does reverse engineering cost?

Reverse engineering (RE) is notoriously hard to estimate because you never know what’s actually in the code, how well it’s protected, and how complex the system really is. However, the research nature of RE isn’t the only cost factor. 

We’ve ethically reversed hundreds of pieces of software for our clients, so we know the ins and outs. In this article, you’ll learn what it takes to estimate a reversing project and what factors influence the final cost. This guide is written for software development leaders working on maintaining, modernizing, or extending critical software systems within their organizations.

Why does project duration dictate reversing costs?

Because of the unpredictability of reverse engineering, it’s difficult to estimate such projects up front. For this reason, most reversing projects start with a time and materials (T&M) model.

Usually, your outsourcing partner will allocate a developer (and, for longer engagements, a project manager) to investigate the software, explore its structure, and work through any unknowns as they arise. Under this model, you pay for the actual time spent on reversing your software — so the longer the project runs, the higher the final cost. 

A trustworthy partner will keep you in the loop, openly discuss any new complexities, and work with you to make sure the time spent truly delivers the value you expect instead of needless digging.

While some reverse engineering tasks can be completed in a couple of weeks, complex and deeply protected systems may require a longer time to dissect. 

Table 1. How long reversing takes depending on project complexity

ComplexityDurationExample
Small2+ weeksExtracting data from binary code or identifying specific functions within a DLL
Medium1–2 monthsReversing a small file with a low amount of code (~1MB)
Large6+ monthsReversing old, obfuscated, or encrypted code with no available documentation

Here are some examples of complex projects we’ve had at Apriorit that took over a year to complete: 

  1. Building an anti-reverse obfuscator for automotive. For this project, we implemented various anti-detectors, such as root detectors, anti-debug detectors, and jailbreak detectors. It was challenging, as each detector requires deep knowledge of the target platform, adaptation to new operating system versions, and protections against sophisticated bypass techniques.
  2. Reverse engineering of inter-module and microcontroller communication protocols. Their dissection allowed us to restore medical equipment that was no longer supported by the manufacturer and ensure its continued operation.

In long-term cases like these, we suggest transitioning to a dedicated team model, as the scope and workload become clearer over time. A dedicated team makes sense for projects lasting over six months, as you get predictable monthly costs and engineers who stay with the project for as long as you need while accumulating expertise and context  

Reverse engineering costs scale directly with how long it takes to uncover, understand, and reconstruct the system, which makes duration one of the biggest cost factors. 

But what affects the duration? In the next section, we look at the main factors that influence your project’s timeline.

Wondering how much it will cost to reverse your software?

Reach out to our reverse engineering team for an honest assessment and get a full picture of your reverse engineering project’s timeline and cost.

What factors affect reverse engineering cost and duration?

Reverse engineering timelines vary widely, and even small differences in complexity can extend a project significantly. Below are the main factors that determine how long it will take to reverse a piece of software.

What affects RE cost and duration?

Level of protection

If code is obfuscated or heavily protected, it’s harder to reverse it while staying within legal boundaries. However, full-scale obfuscation isn’t very common. Light or moderate protection adds some overhead, while serious, high-grade protection can extend timelines substantially. In extreme cases, it may even be more practical to rebuild certain components from scratch rather than fully reverse them. 

Encryption is often simpler to deal with than obfuscation, but it can still introduce additional time depending on the implementation.

Size of the codebase

This is one of the most significant factors. The larger the codebase, the longer it takes to reverse it. Even well-structured large projects require significantly more time to explore, analyze, and reconstruct than smaller projects.

Roughly speaking, a 1 MB firmware or binary file often translates into a 1–3 month reverse engineering project. But this is only one parameter influencing the cost. Repeated data may speed up the process, while protections or complex structures can extend it. Every case is highly individual.

Michael Teslia, Program Manager at Apriorit

Access to documentation and devices

Documentation, device specifications, and tooling all help shorten the reversing process. Sometimes this information is public, but not always — especially for custom or legacy devices.

Ideally, your reverse engineering team should have physical access to the device in the office. If that isn’t possible, we usually request remote access from our clients. Emulation is another option our team often uses, but it isn’t always feasible. Emulators rarely replicate the full behavior of custom hardware, protected components, or low-level processes, which can be critical in reverse engineering.

When the required device or documentation is missing, complexity increases, and the reverse engineering timeline grows accordingly.

Skillset and expertise of your reverse engineering team

Reverse engineering timelines often depend on the team’s technical expertise and how familiar they are with the technologies involved. When engineers encounter unfamiliar architectures, protection mechanisms, or proprietary components, they may need to pause for additional research or testing. This can temporarily slow progress and increase costs.

Another challenge is that reverse engineering requires multiple niche skill sets. A specialist who is strong in Windows internals may not be equally experienced with macOS, embedded systems, digital forensics, or cryptography. If your project spans several technical domains, the team may need to involve additional experts, which adds coordination time.

And because reverse engineering is inherently exploratory, one discovery may lead to new questions or require another iteration of analysis. These extra steps are normal but can make timelines unpredictable when dealing with complex or poorly documented software.

Availability of project information

If you’re bound by NDAs or don’t fully own the software or device, you may be unable to share all technical details. Limited information means more discovery work on our side, which naturally extends the duration. 

Final deliverables

The expected deliverables directly influence the project timeline.

Let’s consider some examples to show how expected results can affect the duration and costs of reversing:

  • You can get a report or raw reconstructed code relatively fast, with minimum or zero unanticipated expenses.
  • If your goal is production-ready, working code, expect the timeline to increase, as a developer must clean, refine, and restore the code so it compiles and functions correctly.
  • If you need to extract specific values or data from binary files, engineers may need to develop a custom tool, which adds additional time to the project.

As you can see, many factors influence the price for a reverse engineering project — some obvious from the start, others only revealed once the work begins. Let’s now look at how Apriorit approaches the non-trivial task of estimating a reverse engineering project when a client comes to us with their software.

Read also

How to Reverse Engineer Windows Software the Right Way

Discover how ethical reverse engineering practices can drive innovation of Windows software, enhance product development, and uncover competitive advantages for your business.

Learn more
windows software reverse engineering

Apriorit’s approach to estimating reverse engineering

Reverse engineering always involves a degree of uncertainty, so our estimation process is structured to give clients clarity while staying realistic about the unknowns. We typically provide two types of estimates: a rough pre-sale estimate and a more detailed estimate after conducting initial research.

1. Rough estimate

When a client requests a high-level estimate early in the process, we base it on:

  • Whether the code is obfuscated and what type of obfuscation is used
  • Approximate codebase size, based on the number of lines of code or binary size

These two inputs allow us to provide a ballpark figure before analyzing your software deeper. 

2. Detailed estimate

A detailed estimate can be prepared either right after the pre-sale stage or during it, depending on the project and client. To create a more accurate projection, we:

  1. Invest a few hours in hands-on investigation of our client’s software.
  2. Use the findings to estimate how long the reverse engineering effort may take.
  3. Explain the methodology and expected workflow to the client, including possible scenarios and outcomes.
  4. Proceed iteratively for medium and large projects, with transparent reporting at each stage.

As our team uncovers new information about the system, we may adjust the estimate to reflect the actual complexity of the project.

Because reverse engineering is inherently research-driven, we include relevant risks in the estimate. These aren’t development-style risks, but uncertainties tied to discovery work — especially on long-term projects.

Michael Teslia, Program Manager at Apriorit

Let’s look at risks that may arise during the reverse engineering process and potentially extend the project duration — or, in the most extreme cases, make reverse engineering infeasible (or even impossible).

What can complicate your RE project?

At the start of this article, we discussed common factors that influence the duration of a reverse engineering project. However, your team may stumble upon more significant constraints and hidden challenges. 

In this section, we explore what’s important to understand about reverse engineering to avoid surprises along the way and have realistic expectations.

Legal considerations

Not all software can be legally reversed. Depending on who owns the software as well as applicable laws and regulations, certain components may be off-limits. Before we start a project, we always assess what can be examined safely and what requires additional approvals, licensing, or alternative approaches.

Technical feasibility

Some systems simply can’t be reversed. This might be the case if critical parts of the software are missing, encrypted with proprietary keys, or rely on hardware-based protections that can’t be bypassed without violating the law or damaging the device. In such cases, we usually suggest partial reverse engineering or rewriting specific components from scratch.

Ambiguity in undocumented systems

When a system has no documentation, no specifications, and no predictable structure, uncovering how it works is like putting together a puzzle with missing pieces. This ambiguity often means more time spent investigating edge cases, testing assumptions, and validating hypotheses. What looks simple at the start may reveal unexpected complexity as the team digs deeper.

In the next section, we guide you through ways to reduce the costs of reverse engineering despite its unpredictable nature.

Related project

Developing and Supporting a CRM System for a Medical Transportation Company

Explore how Apriorit enhanced our client’s customer interactions, streamlined workflows, and drove business excellence through building a custom CRM solution and support system.

Project details
Developing and Supporting a CRM System for a Medical Transportation Company

How can you decrease the cost of reverse engineering?

Reverse engineering isn’t easy or cheap, but there are ways to keep the timeline, and therefore the cost, under control.

blog-article-How-much-does-software-RE-cost-Price-forming-factors-for-pcb-reverse-engineering-cost-figure-2

1. Work with developers who get it right the first time

While reverse engineering is based on discovery and research, it’s not really about guessing. Your team should be experienced enough to understand where to look, what to test, and how to validate their findings fast. In contrast, a junior reversing team often needs multiple iterations to understand what’s going on in the code, and each experiment adds hours to your bill.

2. Use AI tools

While AI can’t replace expert developers, it can accelerate their work by gathering initial information about your project. For example, AI can perform routine tasks like scanning code dumps, identifying patterns, or providing a high-level overview of your system. 

Everything beyond that involves manual reverse engineering, where the experience and skills of your specialists are decisive . 

Additionally, AI-generated reports are often raw, so a human is still needed to clean them, verify them, and make them actionable. 

3. Give your team as much information as possible

The more information you provide up front, the less time engineers spend digging for context. Even small details help, such as:

  • System behavior you’ve observed
  • Previous research by you (or another vendor)
  • Logs, screenshots, and environment details
  • Any attempts you have already made and what results they produced
  • Photos or videos of the printed circuit board (PCB), components, processors, or the full device
  • Schematics or layout diagrams
  • Usage scenarios

Good input accelerates analysis, reduces rework, and significantly improves the accuracy of the final output.

In short, the team you choose to carry out reverse engineering is the biggest factor in your project’s overall cost. If they know what to look for, use the right tools, and bring diverse expertise to the table, your team can minimize the time needed to reverse even the most complex system.

Now, let’s look at why Apriorit may be the exact team you need — a team that gives you clarity, steady progress, and the peace of mind that your project won’t spiral into unexpected costs or delays.

How Apriorit can help you with your reverse engineering task

When you choose Apriorit for your reverse engineering project, you gain a partner who ensures you get actionable and reliable results. 

blog-article-How-much-does-software-RE-cost-Price-forming-factors-for-pcb-reverse-engineering-cost-figure-3

Here’s what you can expect:

  • Expert guidance. With over 20 years of experience in niche and complex reverse engineering projects, our team knows how to tackle even the most unusual challenges.
  • Access to specialized expertise. Whether your project involves iOS or Android, cryptography, obfuscation, electronics, firmware, or hardware components, we assign experts with the precise skills needed.
  • Legal and compliant approach. We work strictly within legal frameworks, giving you confidence that all reverse engineering activities are safe and legal.
  • Clear results. At the end of the project, you’ll receive a detailed report along with expected deliverables, which may include recovered source code, binary analysis, firmware details, API reconstruction, database information, or the results of PCB reverse engineering.
  • Proven methodologies. Our experience spans a wide range of projects, including binary analysis and disassembly, database structure analysis, source code recovery and reconstruction, protocol and data format reverse engineering, and hardware and firmware analysis. We adapt our approach to your specific needs.

We regularly help clients solve complex technical problems and reach their business goals using reverse engineering.

For example, a global automotive software provider asked us to assess the security of their advanced vehicle communication system and create a software bill of materials (SBOM). We ran vulnerability scans, reverse engineered critical components, performed pentesting, reviewed code, and checked their system for compliance issues. In the end, our client received a detailed, prioritized risk report with concrete fixes, plus a complete SBOM that strengthened their security posture and helped prevent future vulnerabilities.

Another client, a heavy machinery software developer, wanted to understand how well their intellectual property (IP) was protected. Through reverse engineering, we showed how easily attackers could recover their source code. As a result, the client discovered weaknesses in their IP protection mechanisms and learned how to reliably obfuscate their code so that no third party could steal or replicate their technology.

At Apriorit, we take pride in hiring and training engineers with the rarest technical skills on the market. With us, you can be sure you’ll get clear and direct answers from code that used to be a mystery so you can make informed decisions about your software and systems.

Stuck with an unclear piece of code?

Let our reverse engineers uncover all its secrets and help you turn a black box into a working solution that helps your business instead of stalling it.

FAQ

How can I start working with Apriorit for software reverse engineering?

<p>To begin working with Apriorit, simply fill out our contact form or reach out directly to schedule an intro call. If needed, we can sign an NDA at this stage.</p>

<p>During the call or early communication, we encourage you to provide as much information as possible about your software, goals, and existing research. This will help us evaluate the task faster and more accurately.</p>

What deliverables will I get as a result of software reverse engineering by Apriorit?

<p>You’ll receive a detailed, transparent report describing the methodologies we used, what we attempted, what worked and what didn’t, and insights uncovered during analysis. Depending on your project and request, deliverables may also include extracted data, recovered code, scripts, recompiled binaries, firmware files, and other technical artifacts.</p>

<p>You can be sure that you’ll receive a complete, actionable understanding of your software’s structure, behavior, and components — not just a written summary.</p>

What skills are needed for software reverse engineering?

<p>Reverse engineering requires a mix of deep technical knowledge and strong analytical ability. Engineers typically need expertise in operating systems, platforms, programming languages, and — in some cases — electronics and hardware-level analysis.</p>

<p>Because every project is a research challenge, the ability to investigate, test hypotheses, and locate missing information is just as important as technical proficiency.</p>

How long does software reverse engineering take?

<p>Reverse engineering timelines depend on several technical factors and can vary significantly from project to project:</p>

<ul>
<li>Small or well-documented software may take around two weeks to analyze.</li>
<li>Midsize projects with moderate complexity typically require between one and two months.</li>
<li>Large, heavily protected, or highly customized systems can take six months or longer.</li>
</ul>

<p>Because reverse engineering is an exploratory process, the timeline is usually refined as new technical details are uncovered.</p>

How much does PCB reverse engineering cost?

<p>The cost of PCB reverse engineering depends on technical complexity, component density, protection mechanisms, and your strategic goals. These factors influence both effort and duration.</p>

<p>While the investment can be significant, the value often outweighs the cost. Reverse engineering can help you restore legacy hardware, extend product lifecycles, gain competitive insights, or enable compatibility with new systems.</p>

What are the hidden costs of reverse engineering?

<p>Unpredicted costs of reverse engineering often stem from protected components or heavily obfuscated code. In some cases, critical data is distributed across multiple files or system elements, extending the time required to piece everything together.</p>

<p>While we can often reveal these constraints during initial research, sometimes they only reveal themselves later.</p>

Do I need a team, or can one person do software reverse engineering?

<p>For small, well-defined tasks, a single reverse engineer may be sufficient. However, larger or more complex projects benefit from having at least two specialists. We also recommend adding a project manager to large projects, as this ensures clearer communication and more transparent collaboration with the client.</p>

<p>A team-based approach also reduces bottlenecks and helps validate findings throughout the process.</p>

Is reverse engineering faster than rewriting software from scratch?

<p>It depends on the system’s complexity and the value of what you aim to extract. If the code is heavily protected, extremely old, or part of a large legacy system, rewriting may sometimes be faster and more practical.</p> 

<p>However, reverse engineering is invaluable when you need to gain specific insights, determine compatibility details, reveal undocumented behavior, or get a deep understanding of how the software works — information you can’t obtain by simply recreating functionality.</p>

Have a question?

Ask our expert!

Michael-Teslia
Michael Teslia

Program Manager

Tell us about
your project

...And our team will:

  • Process your request within 1-2 business days.
  • Get back to you with an offer based on your project's scope and requirements.
  • Set a call to discuss your future project in detail and finalize the offer.
  • Sign a contract with you to start working on your project.

Do not have any specific task for us in mind but our skills seem interesting? Get a quick Apriorit intro to better understand our team capabilities.

* By sending us your request you confirm that you read and accepted our Terms & Conditions and Privacy Policy.