Method and system for detecting debugging mode of software
A technology for debugging status and detecting software, applied in software testing/debugging, electrical digital data processing, instruments, etc., can solve problems such as failure, increase the difficulty of piracy, reduce the possibility of analysis or deception, and avoid analysis and tampering Effect
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
Embodiment 1
[0060] The software protection device in this embodiment uses an 8-bit single-chip microcomputer with a timer. The software sends data to the software protection device at the encryption point, and continues to run after obtaining the response data returned by the software protection device. In this embodiment, the software protection device uses a timer overflow interrupt to perform timing. Select encryption point A and encryption point B, and determine that the upper limit time for the software to run from encryption point A to encryption point B is 100ms;
[0061] After the software protection device is activated, the timer is started to count. Use the global variable m to record the timing time, add 1 to m every time the timer overflows and reset the initial value of the timer, which is determined by the timing accuracy required by anti-tracking, the timing frequency of the single-chip microcomputer and the length of the timer register. Assuming that the timing accuracy i...
Embodiment 2
[0067] The software protection device described in this embodiment is the smart card-type dongle Senselock IV of Beijing Sensilo Data Protection Center.
[0068] Senselock EL provides a 64-bit addition timer. When the timing frequency is 0.25MHz, the timing accuracy is 4 microseconds, and the timing time before overflow is as long as 4.7 hours. It also provides the corresponding operation API interface: _set_timer() to set the timing Mode and initial value, _start_timer() starts the timer to start timing, _stop_timer() stops the timer, _get_timer() obtains the current count value of the timer.
[0069] Assuming that the software has been protected with the Senselock EL encryption key, usually the code at the encryption point is transplanted to the Senselock EL to run, and this part of the code is changed in the software to call the corresponding program in the Senselock EL.
[0070] Assume that the timing frequency of the dongle used is 0.25MHz, and the timing accuracy require...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More 