Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 08-30-2003, 04:00
gorge
 
Posts: n/a
New Protector

Anyone look at this new protector.

h**p://www.softdefender.com
Reply With Quote
  #2  
Old 08-30-2003, 15:43
ArC ArC is offline
VIP
 
Join Date: Jan 2003
Location: NTOSKRNL.EXE
Posts: 172
Rept. Given: 0
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 5
Thanks Rcvd at 17 Times in 12 Posts
ArC Reputation: 1
^DAEMON^ already wrote an unpacker for SoftDefender.
Reply With Quote
  #3  
Old 08-30-2003, 21:55
dynio
 
Posts: n/a
Yeah, as far as I remember SVK is "with us" from winter 2001 or spring 2002.
Try this helpful tool: hxxp://mup.lockless.com/database/SVK-Protector/SVK-Protector.1.32.Special.dll.zip

Regards.
Reply With Quote
  #4  
Old 08-30-2003, 22:16
ArC ArC is offline
VIP
 
Join Date: Jan 2003
Location: NTOSKRNL.EXE
Posts: 172
Rept. Given: 0
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 5
Thanks Rcvd at 17 Times in 12 Posts
ArC Reputation: 1
Nice thing
Reply With Quote
  #5  
Old 08-30-2003, 22:18
Lunar_Dust
 
Posts: n/a
the softdefender unpacker doesnt work....

besides, it has some good anti=debug, I'm enjoying studying it

-Lunar
Reply With Quote
  #6  
Old 08-30-2003, 22:44
dynio
 
Posts: n/a
Daemon unpacker should work only for versions <=1.1
But the link I've written could be useful after dumping...
Reply With Quote
  #7  
Old 08-31-2003, 08:17
Lunar_Dust
 
Posts: n/a
Ugh...


Found SoftICE detector quite easily, just NtQuerySystemInformation with NTice.sys, easy to get around..

I'm still having trouble finding normal debugger detector. I know it called GetProcessTimes() twice, and if the times are zero, or they don't match it says "Debugger detected" - to elimiinate tracing not doubt. But even so only called GetProcessTimes() once when I debug with Olly, and then Exit MessageBox.

Thought it was calling ZwQueryInformationProcess, but doesn't look like it now after all (calling with ProcessDebugPort). API only gets called twice, once from GetprocessTimes (argument is 4, which is processtime), and another from windows DLL itself (argument is 26, ProcessWow64Environment, which is always zero). Never called with argument 7 (ProcessDebugPort). And of course I"ve already "edited" the bytes at fs:[30] away to eliminate PEB debug detection.

Any hints? Maybe a way to detect that I haven't heard of yet?

-Lunar
Reply With Quote
  #8  
Old 08-31-2003, 19:57
dynio
 
Posts: n/a
Lunar Dust: I can't help You because last time I was playing with SVK was last year.... I don't remember how does it work. (I've spend just few minuts with this one ).

Regards.
Reply With Quote
  #9  
Old 08-31-2003, 20:09
Lunar_Dust
 
Posts: n/a
Um, Wait a minute, I didnt think this was SVK..I thought SVK used a system driver. This is Soft Defender....

-Lunar
Reply With Quote
  #10  
Old 09-01-2003, 09:36
Lunar_Dust
 
Posts: n/a
Hehe.

Now time to make a keygen.....


-Lunar
Attached Files
File Type: zip sdunpacked.zip (503.7 KB, 81 views)
Reply With Quote
  #11  
Old 09-01-2003, 14:13
dynio
 
Posts: n/a
You're right... Sof Defender... but not a lost I'm not familiar with SVK nor SoftDefender and I ALWAYS mislead them...

Regards.

Last edited by dynio; 09-01-2003 at 14:55.
Reply With Quote
  #12  
Old 09-01-2003, 23:29
Jay Jay is offline
VIP
 
Join Date: Feb 2002
Posts: 249
Rept. Given: 31
Rept. Rcvd 3 Times in 3 Posts
Thanks Given: 15
Thanks Rcvd at 13 Times in 5 Posts
Jay Reputation: 3
probs

Hi Lunar_Dust,
Thanks for uploading but I have some problems with your unpacked version on win9x and win2000
Linked to missing export KERNEL32.DLL:RestoreLastError
also you appear to have forgotten to put in the missing bytes from oep. How did you resolve api's with imprec, did you use a custom made plugin? I couldn't get imprec to resolve them without a plugin (maybe cos I'm using old imprec??). Anyway just thought I would let you know and thanks to you too as one of the few willing to share your knowledge and tools.
Reply With Quote
  #13  
Old 09-02-2003, 00:26
Lunar_Dust
 
Posts: n/a
Sure thing.

SoftDefender rips the first 9 bytes from the OEP, and although they can be recovered easily, they really aren't necessary for a program to run. Hence I left it as is.

For IAT, I used ImpREC 1.6 with Level3 trap flag tracing. SoftDefender takes some of the API's, such as GetVersion, GetCommandLineA, etc,etc, and calls them for itself when it first loads. When the target goes to call these APIs softdefend simply fills in the appropriate values. Hence, you will find API which cannot be traced. Calls into 004xxxxx space. In fact, do not try to trace them or ImpREC will hang. No big deal, I just dumped SoftDefend from memory and disamsed it, and went to OEP. It's a Visual C program, so it has exact same startup code. I just loaded up a program of my own and disasmed it, and looked at the code where those certain APIs were called. From this I was able to fill in 4 out of 6 API's that were unknown. (calls into 004xxxxx space, rather than 001xxxxx space. 001xxxxx calls are able to be resolved with trace level 3).

For the last two APIs I simply used SOftICE to place a BPM X break on the code line that references them ( the address of code I found when disasm softdefender dump), and then walked thru to see what values Softdefend gives back. Looking at these I can then tell which API has gotten called for the startup code API's. For example, if I saw a string instruction and then saw softdefender memory held "C:\WINDOWS" I knew this was GetWindowsDirectoryA API. Hence I was able to then complete the IAT.

These are API I found SoftDefender to override in such a manner:

GetSystemDirectoryA
GetVersionExA
GetCommandLineA
GetCurrentProcessId
GetCurrentDirectoryA
SetCurrentDirectoryA
GetModuleHandleA
GetModuleFilenameA
GetVersion
GetStartupInfoA
GetWindowsDirectoryA


Sorry about that kernel32 error, I unpacked it under XP and didn't think there was any problems....to attempt to fix it, open the file in hex editor and goto where RestoreLastError string is. Change it to "SetLastError", and make sure you null terminate it properly. This should fix it i believe.

I am 20% into writing an unpacker. Taking longer because softdefend actually creates a new process after all the debug checks. (I have successfully bypassed all anti-debug code)

-Lunar

Last edited by Lunar_Dust; 09-02-2003 at 00:30.
Reply With Quote
  #14  
Old 09-02-2003, 02:12
Lunar_Dust
 
Posts: n/a
I've found the anti-autodump stuff to be working pretty well, he creates a .tmp file which contains a value calculated from the API GetTickCount(), - then simply calls CreateProcess(). Looks like the new process looks for the file, gets tick count again possibly, and decides if it's being debugged. Anyways, it hurts a debugger because it basically switched processes. (or so it would seem )

It doesn't affect debugging however, except in the fact that you can't latch on to the new process like you wish you would.

Also, the program continues to readfile upon some file (don't know yet, haven't traced it). Once this readfile is in place, I notice all original program's data is now in memory and valid, even the OEP bytes are still intact.

Beatch is going down soon, I can emulate any call I want...hehe

-Lunar

Last edited by Lunar_Dust; 09-02-2003 at 03:20.
Reply With Quote
  #15  
Old 09-02-2003, 17:42
Jay Jay is offline
VIP
 
Join Date: Feb 2002
Posts: 249
Rept. Given: 31
Rept. Rcvd 3 Times in 3 Posts
Thanks Given: 15
Thanks Rcvd at 13 Times in 5 Posts
Jay Reputation: 3
import

Hi Lunar_Dust,
Thanks for the reply and useful tips. No problem about the import I had already unpacked it, just wanted to check out your method of dumping and rebuilding. Look forward to hearing some more about methods of bypassing anti-debug in olly of which I have very little experience, a small tut perhaps if you find the time?? (grovel). I think sdef shows promise as a protector and would expect to see some shareware protected with it, author has improved it since 1.1 do you aggree?.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Best software protector: Themida or Enigma Protector? smartins General Discussion 13 04-27-2010 17:58
New protector lena151 General Discussion 7 09-22-2008 07:25
Has anyone seen this protector used yet? Nalpeiron Protector JCB General Discussion 0 10-02-2005 01:50
SVK Protector Ligend General Discussion 5 11-08-2003 00:02


All times are GMT +8. The time now is 14:34.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( 1998 - 2024 )