DynamoRIO / DynamoRIO/dynamorio

CRASH running license validation library

Open
#3,217 1 comment 0 reactions 0 assignees View on GitHub
Bug-DRCrash OpSys-Windows
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

In a Windows based application I use a third-party library that performs some license validation. When I run this application without DR, this validation check works fine and the application goes past this check successfully..

When I run the application under DR Control, I experience three exceptions in the application code as follows:

1. An Status_breakpoint exception (0x80000003)
2. An integer overflow exception (0xC0000095)
3. An Single Step Exception (0x80000004)

After receiving the above, the application crashes and I end up with the following DR Crash message:

...
Tool internal crash at PC 0x687a9049. Please report this at your tool's issue tracker. Program aborted.
0x80000004 0x00000000 0x687a9049 0x687a9049 0x00000000 0x00000000
Base: 0x68730000
Registers: eax=0x00000000 ebx=0x00000000 ecx=0x7e1f9af7 edx=0x00002580
esi=0x005deef4 edi=0x6b6d8294 esp=0x005deaf8 ebp=0x005dec44
eflags=0x00000246
version 7.0.17808, custom build
-no_dynamic_options -client_lib 'c:\Test\TestClient32.dll;0;' -probe_api -stack_size 56K -max_elide_jmp 0 -max_elide_call 0 -no_inline_ignored_syscalls -native_exec_default_list '' -no_native_exec_managed_code -no_indcall2direct -no_aslr_dr -pad_jmps_mark_no_trace
0x005dec44 0x6ae39a9c
0x005def5c 0x00000000>

Could you provide some guidance on:

A. Could I be handling exceptions incorrectly?
B. Are the options selected incorrect? I would like to add that I tried re-running with and without the "-no_code_api" switch but that did not help. The exceptions show up exactly the same way. Running without a client did not help either.
C. Is there a way for me to specify for DR to use the code directly from a selected library instead of making a copy in the VMArea? I should mention that I tried using "dr_module_set_should_instrument()" in the client but that did not help in this case

Thanks for your urgent attention to the issue.

SCV

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.