From 6b2779183745c172746da34adb4c7a74c36a2b0d Mon Sep 17 00:00:00 2001 From: Alberto Ortega Date: Thu, 8 Oct 2015 19:32:01 +0200 Subject: [PATCH] Bump v055 --- CHANGELOG | 14 ++++++++++++++ pafish.exe | Bin 75264 -> 75264 bytes pafish/Objects/MingW/pafish_private.rc | 4 ++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 19a64af..49a0940 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,18 @@ +v055 + +- Added new checks + - Neutrino bot bochs detection #40 + - Qemu detection based on CPU brand string + - Bochs detections based on CPU brand string + - VMware detection based on network adapter name + - Minor refactor userland hook detection, added + 2 more functions to check. + +- Added cpu functions to query Processor Brand String +- Some refactoring, specially main.c, making it easier + to add new checks. + v054 - Added new checks (Hacking Team antiVM) diff --git a/pafish.exe b/pafish.exe index d7bb46f92cfbcaba787bc5ee7182196896bfd03e..975e64e1f98f0c7145eaae02c3f8d328d723b48b 100644 GIT binary patch delta 17187 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