About the service
The team of technical experts at Effectual Services has been improving litigation outcomes by providing critical evidence mining support through physical product testing, source code review, advanced document review, reverse engineering and tear down report analysis. We have experience of working with a number of litigation law firms, expert witnesses and across a number of technologies for such services. We maintain a good inventory of products, software’s, test set-ups, development and testing kits and are able to prove infringement and prepare claim charts in a short time with the required depth and details in an inexpensive manner.
Methodology
Following steps are performed for product testing and source code review
Setting Objectives and Scope
Acquisition (purchasing or arranging the device/product to be tested).
Disassembly or dismantling
Component Analysis (such as PCB, display, chip, BUS architecture etc) or software code analysis (java, C++, python, html, etc.)
Data collection and analysis (security protocol SSL/TLS, authentication access control, secure boot analysis, communication flow)
Report and Documentation
Why Choose us?
Why choose Effectual Services for performing product testing and code review
We partner with cutting-edge labs and institutions to perform various forms of reverse engineering analysis. This includes tasks like dissecting products, 3D scanning, understanding semiconductor and PCB design, and examining source code.
We have a team of in-house experts who specialize in source code analysis for software products. They also provide high-quality assessments of product teardown reports.
We provide customized pricing plans in accordance with the budget and the requirements.
At Effectual Services, we generally perform 3-4 projects in a month related to reverse engineering or teardown or source code analysis.
Call to ActionCase Study
We performed accelerometer signal analysis of a Smartphone using reverse engineering. Here is an example of how we used reverse engineering to analyze the accelerometer signals associated with the Smartphone’s motion detection feature
- Identifying the connector on the motherboard of the Smartphone to which the accelerometer is connected.
- Soldering jumper wires to the points of interest on the connector.
- Connecting the jumper wires to an oscilloscope.
- Powering on the Smartphone and move it around.
- Observing the signals on the oscilloscope to understand how they change when the Smartphone is moved.
We performed reverse engineering and tear down to analyze the signals that control the PTZ camera motor's pan and tilt functions. We performed the following steps
- Identifying the connector on the motor's controller board to which the pan and tilt motors are connected.
- Soldering jumper wires to the points of interest on the connector.
- Connecting the jumper wires to a logic analyzer.
- Powering on the PTZ camera and move the camera's pan and tilt axes.
- Observing the signals on the logic analyzer to understand how they change when the camera's pan and tilt axes are moved.
We performed a source code analysis using browser's web development tool to detect various page load parameters. We performed the following steps
- First running the website and opening web inspector tool.
- Checking the different timestamp displayed in the performance option.
- irst time stamp can be inferred as the time when request is send and end time is the time when page load completes.
- Further, we also checked server response time in the network option.
- Finally, using these different time stamps, we calculated page load time and first response time.
FAQ
- To understand how a system or component works
- To identify and fix security vulnerabilities
- To develop new products and services that are compatible with existing systems
- To improve the performance or reliability of existing systems
- To identify and fix security vulnerabilities
- To improve the performance or reliability of a program
- To understand how a program works
- To develop new features for a program
- Static analysis tools : These tools analyze the source code of a program without executing it. They can identify potential problems such as syntax errors, coding errors, and security vulnerabilities.
- Dynamic analysis tools : These tools analyze the source code of a program by executing it. They can identify potential problems such as performance issues and memory leaks.
- Understanding the system or program's architecture
- Identifying the different components of the system or program
- Understanding how the components interact with each other
- Identifying the signals that control the system or program
- Improved understanding of how systems and programs work
- Identification and fixing of security vulnerabilities
- Development of new products and services that are compatible with existing systems
- Improvement of the performance and reliability of existing systems