hasherezade / tiny_tracer

A Pin Tool for tracing API calls etc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Programs packaged with vmp do not result.

maskelihileci opened this issue · comments

Good day, I was using tiny racer v 1.4. I was getting results without any issues

I updated to version 2.0 today Can analyze unpackaged programs nicely but software packaged with vmp keeps working forever.
I waited for 20 minutes, the pin is working in the background. The program runs in the background, but it never completes. So it never reaches the oep point.

779a61;section: [.vmp1]
82404d;kernel32.LocalAlloc
7972b0;kernel32.GetModuleHandleA
7972b0;kernel32.GetModuleHandleA
8b56e0;kernel32.GetModuleFileNameW
7df6d1;kernel32.LocalAlloc

Windows 10 1607
pin-3.20
i7 6700K
Visual Studio 2019 (v142)

Current status ; I extended the waiting time a little longer and wanted it to work until the result came. The result has arrived
But its performance is very slow . The source of this slowness is probably one of the newly added features.
So my advice to you is to set a config that will disable this feature and improve performance.

hi! thank you for reporting.
I suspect what may be slowing it down, but I need to make some more tests. Could you please share the sample on which you was testing? I checked on some VMProtect-protected sample but didn't notice such a drastic performance loss (possibly my sample was packed with different settings), so I would prefer to use the same what you was using, in order to be precise. You can drop it here (packed with a password) or send to my e-mail: hasherezade-at-pm.me.
Also, please share what are the settings of TinyTracer that you use (the INI file).

I reviewed the changes in the TinyTracer, and the feature that I suspected to be causing the slow down turns out to be added before 1.4. So, could you please just make a test for me, to make sure that the slow down is not caused by the changes in the Pin itself?

I added a project TinyTracer.old.vcxproj that allows to build the latest TinyTracer with Pin < 3.19. Could build the version 2.0 of TinyTracer with the old Pin, which you used with 1.4, and check if the same problem occurs?

@maskelihileci please let me know the results ^

Sorry for the late reply I was sick
I will now review

Pin-3.17 used on 2.0 unfortunately still slow
CPU usage is the same 12%
The only difference I've found now is the pincrt.dll module.

Tiny 1.4 = pincrt.dll not loading
Tiny 2.0 = pincrt.dll loading

Maybe it has nothing to do with it, but this is what I see right now.

If there is a discord server we can contact, we can solve the problem more easily.

I am not on Discord, but I am on Wire (https://wire.com), my login is the same as here.
If you can just send me the sample that is causing you the problems I will handle it. Without reproducing it it is very hard.

@maskelihileci - ok, now you can find me on Discord too. I am hasherezade#9405

I added you as a friend and sent a message

Thank you, I reproduced this problem, and working on the fix.
Those are my benchmarks:

demo.zip ; pass: demo

version 1.9
bench_1 9

version 1.9.5
benchmark_1 9 5

version 2.0
benchmark_2 0

The commit that caused the slowdown to the unacceptable values was this: 8493e3c

benchmark_commit_8493

I reverted those changes and applied on 2.0. You can find it in the branch: faster

However, I am still trying to improve it, so it is not the final fix yet.

I merged it, and run the benchmark, this is my result:

benchmark_2 1

I think this is acceptable, what do you think?

Problem solved, thanks for your attention.