Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 02-09-2005, 08:04
Newbie_Cracker's Avatar
Newbie_Cracker Newbie_Cracker is offline
VIP
 
Join Date: Jan 2005
Posts: 227
Rept. Given: 72
Rept. Rcvd 26 Times in 12 Posts
Thanks Given: 50
Thanks Rcvd at 25 Times in 18 Posts
Newbie_Cracker Reputation: 26
How to defeat Password Reminder 1.6 ? (An unknown protector)

Hello everybody.
Password Reminder is packed with a unknown protector which screws famous crack tools. Simply it detects OllyDbg, LordPE, FileMon, RegMon, ImprRec, SoftIce and... Also detects patched OllyDbg and LordePE using re-pair v0.51.
An amazing part is it detects OllyDbg HARDWARE Breakpoints. (Is it possible?)!!
Only IceExt (with costum driver name) defeats it.
This protector has Anti-Mem patching feature too. I tried to patching memory by ABEL, PELG and others and all of them failed to read process !

Please test it. How could it be defeated and unpacked?

Download link :
hxxp://www.newpowersoft.com/password%20reminder/setup.exe
Reply With Quote
  #2  
Old 02-11-2005, 17:07
The Boss The Boss is offline
Family
 
Join Date: Dec 2004
Posts: 51
Rept. Given: 0
Rept. Rcvd 60 Times in 6 Posts
Thanks Given: 0
Thanks Rcvd at 4 Times in 3 Posts
The Boss Reputation: 60
Password Reminder 1.6 Loader

Password Reminder 1.6 is protected with SDProtector!

www.sdprotector.com

This is simple loader for remove some limitation!
Attached Files
File Type: rar Loader.rar (83.1 KB, 17 views)
Reply With Quote
  #3  
Old 02-11-2005, 21:17
Newbie_Cracker's Avatar
Newbie_Cracker Newbie_Cracker is offline
VIP
 
Join Date: Jan 2005
Posts: 227
Rept. Given: 72
Rept. Rcvd 26 Times in 12 Posts
Thanks Given: 50
Thanks Rcvd at 25 Times in 18 Posts
Newbie_Cracker Reputation: 26
SDProtector searches for following strings (in Password Reminder):

Quote:
SYSTEM\CurrentControlSet\Services\IceExt
OLLYDBG
UKILLOD
FLYODBG
DEBUG_API_SPY_WND_CLASS
OLLYDBG -UKILLOD -
IMPORT RECON STRUCTOR
DFCG SUPERVER IMPORT RECONSTRUCTOR
[ LORDPE DELUXE ]
DFCG LORDPE
FILE MONITOR - SYSINTERNALS
REGISTRY MONITOR - SYSINTERNALS
FLYODBG -
AUTO DEBUG FOR WINDOWS
MDIClient
ACPU
ACPUASM
ACPUDUMP
ACPUSTACK
ACPUINFO
ACPUREG
TCPU
TCPUASM
TCPUDUMP
TCPUSTACK
TCPUINFO
TCPUREG
I renamed OllyDbg Class and file name, and changed anything contains OLLYDBG and above mentioned strings, like pugins. But no success...
How does this damn protector detects OllyDbg and its Hardware BPs?
Reply With Quote
  #4  
Old 02-12-2005, 02:40
Android
 
Posts: n/a
Hi,
I'm also interested to know.
But checking the site of this protector gives these results in Key Features:

Quote:
compression of the application - up to 60%
encryption of the application
counteraction to application memory dumping with ProcDump-like tools.
application integrity check.
powerful protection against most known (and unknown) debuggers
counteracts disassemblers- defeat reverse engineering!
counteraction to memory patching.
defeat API hook (protect any special technique you use).
API for interaction between application and protection routines
runtime code en/decryption
encryption of license-specific code

automation of license generation
licensing system featuring up to 1024 bit public key cryptography
registration via keyfiles or text keys
blacklisting of stolen or compromised keys
detect backdating or reinstallation to gain additional usage.
ability to create trial keys and hardware dependent keys
What has attracted me is this line.

powerful protection against most known (and unknown) debuggers

So there must be a special trick to detect Unkown debuggers.

Hope someone can reveal it.

Regards,
Android.
Reply With Quote
  #5  
Old 02-12-2005, 03:35
Janus68
 
Posts: n/a
The most powerful tool is FrogsIce - this reports type of antidebugging protection
and EIP address.However, it exists only for Win98 ...

regards.

Last edited by Janus68; 02-12-2005 at 03:35. Reason: spelling
Reply With Quote
  #6  
Old 02-12-2005, 04:22
taos's Avatar
taos taos is offline
The Art Of Silence
 
Join Date: Aug 2004
Location: In front of my screen
Posts: 580
Rept. Given: 65
Rept. Rcvd 54 Times in 19 Posts
Thanks Given: 69
Thanks Rcvd at 134 Times in 36 Posts
taos Reputation: 54
Quote:
Originally Posted by Android
So there must be a special trick to detect Unkown debuggers.
Hope someone can reveal it.
Maybe this can help you:
*isdebugpresent can detect unknow debuggers.
*comparing firsts bytes of API funcs with CC can detect an unknow debugger.
*setting SetUnhandledExceptionFilter, if you are under a unknow debugger, you can detect it.
*Reading the trap bit ( four debug registers DR0,DR1,DR2,DR3 ).
*if the unknow debugger uses total api redirection you can compare func address with image base.
*in win9x reading the IDT or with VWIN32_Int41Dispatch.
etc...

Regards
Reply With Quote
  #7  
Old 02-12-2005, 04:41
Newbie_Cracker's Avatar
Newbie_Cracker Newbie_Cracker is offline
VIP
 
Join Date: Jan 2005
Posts: 227
Rept. Given: 72
Rept. Rcvd 26 Times in 12 Posts
Thanks Given: 50
Thanks Rcvd at 25 Times in 18 Posts
Newbie_Cracker Reputation: 26
Only IceExt could bypass its SoftIce detection. But in OllyDbg...

The only possible ways for OllyDbg detection are describied in Pumqara's article. All of the methods could be bypassed except APi Redirection of OllyDbg. When I try to set Memory Breakpoint on GetProcAddress, SDProtector detetcs the BP and cuases an exception which OllyDbg could not process it.
When I set Harware Breakpoints, SDProtector caused below exception :

Code:
004EB707   |74 08                 JE SHORT PASSWORD.004EB711
004EB709   |D0AB 0A120010   SHR BYTE PTR DS:[EBX+1000120A],1
The address contanis nothing and debugging will be finished. I converted the JE to JMP and execption never occured.
After that, the second exception occured :

Code:
004FBB7A    8038 CC         CMP BYTE PTR DS:[EAX],0CC
004FBB7D    74 0A            JE SHORT PASSWORD.004FBB89
The first line could not be processed. I tried to NOPed it (before executing), but there was alot this CMP, more than 40 (I became tired to count it ).
After NOPing about 6th of them, program debugged normally. Then a message poped up :
Quote:
Don't know how to continue because memory at address 76ADF 3F7 is not readab. Try to change EIP or pass exception to program.
After pressing SHIFT+F9, the famous strings of Debugger detected appeared it STACK WINDOW, without any messagebox.

That was the whole story.

One question is important :
Is there a fixed address in memory which used by OllyDbg for storing breakpoint addresses? How SDProtector detects them?


And I have another question. Please somebody answer me :
Why existing loader generators couldn't grap ProcessID of protected program by SDProtector?

Thanks for reading this damn post.
Please share your information about SDProtector.

Best regards.

Last edited by Newbie_Cracker; 02-12-2005 at 06:04.
Reply With Quote
  #8  
Old 02-12-2005, 06:39
taos's Avatar
taos taos is offline
The Art Of Silence
 
Join Date: Aug 2004
Location: In front of my screen
Posts: 580
Rept. Given: 65
Rept. Rcvd 54 Times in 19 Posts
Thanks Given: 69
Thanks Rcvd at 134 Times in 36 Posts
taos Reputation: 54
Quote:
Originally Posted by newbie_cracker
[CODE]
Code:
004FBB7A    8038 CC         CMP BYTE PTR DS:[EAX],0CC
004FBB7D    74 0A            JE SHORT PASSWORD.004FBB89
This code "maybe" a BP detection because CC is the opcode of INT 3.
Quote:
Originally Posted by newbie_cracker
Is there a fixed address in memory which used by OllyDbg for storing breakpoint addresses? How SDProtector detects them?
AFAIK when you set a BP, Olly puts a CC to use its handler, so I think no memory is used to store it, only wait until INT 3.
If you're talking about Hardware BP, I think Olly stores its addresses in a local var, so no fixed address...Ummh!! I know that Registers DR0-DR3 are for debug breakpoints and curiously Olly only can set 4 Hardware BP .
The protection can read and compare this registers.
Maybe that uses a code-execute time detection too.

Regards

Last edited by taos; 02-12-2005 at 06:42.
Reply With Quote
  #9  
Old 02-13-2005, 07:58
Newbie_Cracker's Avatar
Newbie_Cracker Newbie_Cracker is offline
VIP
 
Join Date: Jan 2005
Posts: 227
Rept. Given: 72
Rept. Rcvd 26 Times in 12 Posts
Thanks Given: 50
Thanks Rcvd at 25 Times in 18 Posts
Newbie_Cracker Reputation: 26
Thanks taos.

Quote:
Originally Posted by taos
This code "maybe" a BP detection because CC is the opcode of INT 3.

When I set only hardware BP, SDProtector checks the presence of "int 3" ? The above mentioned CMP could not be done and...debugging will be finished. It's unusual !

How could I know where it reads dr0 to dr3 values?
There is a jungle of junk codes

I red somewhere about fs:[20h] and fs:[30h] tricks used by ACProtect. Maybe SDProtector uses them too. The question is method of finding them.
Is it possible using conditional tracing like this ?
TC EIP=="some opcodes"

Regards.
Reply With Quote
  #10  
Old 02-14-2005, 05:16
evaluator
 
Posts: n/a
today i played with this target.. check if all is OK.
btw, it's marked as SD1.1 at start of 1st section??

original IT restored; OEP bytes restored from 00495C50h;
resource restored by PExplorer; there was 7 crypted code blocks,
wich decrypted on runtime;

..
shit, failed for attach!

Last edited by evaluator; 02-14-2005 at 05:24.
Reply With Quote
  #11  
Old 02-14-2005, 06:11
KaGra
 
Posts: n/a
Cool SDProtector Pro Edition 1.12 unpacking tutorial

at hxxp://www.angelfire.com/indie/zong


EnJoy
Reply With Quote
  #12  
Old 02-14-2005, 18:50
hosiminh hosiminh is offline
Friend
 
Join Date: Aug 2004
Posts: 203
Rept. Given: 2
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 0
Thanks Rcvd at 4 Times in 4 Posts
hosiminh Reputation: 1
@newbie_cracker

For Imprec - it looks for file "ImportREC.exe" and for title "Import REConstructor v1.6..."

You can easy change title with Customizer or similar program.


For LordPE - SDpacker absolutely hates this tool . Apply the same steps as for ImpRec

btw. It shows wrong Image_Size of process ( 0x00036000 ). Use any other tools for dumping .



@KaGra

I like your tuts , but what would you do if your target is packed with regged version of packer and you don't have intro Nag to attach ?
Reply With Quote
  #13  
Old 02-14-2005, 19:01
KaGra
 
Posts: n/a
well...

well,if I don;t have a registered version in my hands,I cannot make any assumptions.But i'd like to have one...
Reply With Quote
  #14  
Old 02-14-2005, 23:23
Newbie_Cracker's Avatar
Newbie_Cracker Newbie_Cracker is offline
VIP
 
Join Date: Jan 2005
Posts: 227
Rept. Given: 72
Rept. Rcvd 26 Times in 12 Posts
Thanks Given: 50
Thanks Rcvd at 25 Times in 18 Posts
Newbie_Cracker Reputation: 26
Thanks hosiminh

My problem solved in patching the process in memory. Greetings to The Boss.

I bypassed LordPE detection and dumped the flle. But PE tools dumped better than lordpe, without any errors. Is there a good dumper except Lordpe and PE Tools?

The remaining problem is OllyDbg detection and Unpacking method.

Regards

Last edited by Newbie_Cracker; 02-14-2005 at 23:32.
Reply With Quote
  #15  
Old 02-15-2005, 00:58
dyn!o's Avatar
dyn!o dyn!o is offline
Friend
 
Join Date: Nov 2003
Location: Own mind
Posts: 214
Rept. Given: 1
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 8
Thanks Rcvd at 0 Times in 0 Posts
dyn!o Reputation: 1
It depends what you mean. The best dump is always a manual dump. The way of dumping running process simultaneously with its execution (like LordPE, PETools do) is a weak and not "clean" idea. Usually it forces you to keep redundant sections but most of all it makes unpacked executable a lot bigger than original one.

Anyway, it's only my private opinion and you can always work this way. For Delphi executables the best dumper is DeDe (with ability to find OEP).

Regards.
Reply With Quote
Reply


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
How to defeat Enigma protector External Files Checkup? benney General Discussion 1 08-20-2016 02:13
Help for unknown protector Newbie_Cracker General Discussion 9 01-11-2011 17:42
New or Unknown Protector lordnasty General Discussion 0 06-19-2006 16:57
Good Protection (Password Reminder) anorganix General Discussion 6 11-22-2005 04:42


All times are GMT +8. The time now is 17:57.


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