Posted: Fri Mar 02, 2007 8:46 pm Post subject: Discussion about latest version of SoftWrap,better than Arm?
Hello! Looks like Biw has a great community. Let's try to discuss with them to see if they bite me.
SoftWrap
The latest version of softwrap is very hard to crack, if you want to give a try, go on hxxp://www.g a m e maker.nl and download g a m e m a k e_r 7
Interesting how it detects Olly. I looked on google, I can't find articles or even one thread about a version softwrap greater than 6.11. How would like to discuss of ways to unpack it or atleast hide the debuggers. Softwrap is signing licenses with a lot of game houses. In a near future we will see more Softwarp than armadillo as I see it.
It sends a 0 as argument to GetModuleHandleA.
""If this parameter is NULL, GetModuleHandle returns a handle of the file used to create the calling process. ""
Could it be this ?
Or, ""The GetWindowRect function retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. ""
Does it detects Olly with this, if the dimensions aren't 0 then Debugguer is detected?
I have HideDebugguer and Olly invisible with all options. Also, I'm not a pro reverser so maybe i'm totally wrong.
With a Repair patched Olly and Asterix Hidedebugger you shouldn't have any problems debugging it. From the quick look I had of there's nothing here that hasn't been covered in available tutorials, including if I'm not mistaken, one by haggar. Search this forum and snd tutorials.
Softwrap can be patched with ease, unpacking is harder because imports needs to be fixed. Disabled softwrap protected software can be enabled with ease too. That is if we talk about version 7.
I was examining it on "morpheus ultra". I have some OEP scripts.
Hi, try this script for finding OEP. It should work if version is the same:
Code:
/*
==================================================================
Softwrap/Xlok v7 - OEP finder script by haggar
==================================================================
Notes:
- Remove ALL software, memory and hardware breakpoints!
- Ignore ALL exceptions!
- Script needs Windows NT operating system.
- Script only works on Softwrap v7 targets.
//---------------- Preparing imports for dumping -----------------
gpa "VirtualAlloc","kernel32.dll"
findop $RESULT,#C21000#
bp $RESULT
esto
sti
find eip,#558BEC81C4E4FEFFFF608B45108945F88B450C8945F4#
cmp $RESULT,0
je ERROR
bp $RESULT
esto
bc eip
esto
bc eip
mov addr,eip
add addr,36
fill addr,1,90
add addr,1
fill addr,1,0e9
bp addr
esto
bc eip
sti
sti
sti
mov ImportBlock,ebx
//-------------- Skip Softwrap.dll loading -------------------
gpa "LoadLibraryA","kernel32.dll"
findop $RESULT,#C20400#
bp $RESULT
esto
bc eip
sti
sti
find eip,#53FF15????????5F5E5B83C574C9C3FF742404#
cmp $RESULT,0
je ERROR
mov eip,$RESULT
find eip,#33C05940C20C00#
cmp $RESULT,0
je ERROR
bp $RESULT
esto
bc eip
rtr
sti
rtr
sti
//------------------------ Find OEP ---------------------------
find eip,#E8000000005FBE3600000003F7B90F0100005681EE090000008BFE33C0AC#
cmp $RESULT,0
je ERROR
add $RESULT,30
bp $RESULT
esto
bc eip
add $RESULT,2
bp $RESULT
esto
bc eip
find eip,#803F9D740A8188#
cmp $RESULT,0
je ERROR
bpcnd $RESULT,"byte ptr ds:[edi]==9d"
esto
bc eip
mov addr,edi
add addr,1
bp addr
esto
bc eip
find eip,#5A8BDB8BC0FFE0#
cmp $RESULT,0
je ERROR
add $RESULT,5
bp $RESULT
esto
bc eip
sti
cmt eip,"<--- This is OEP!"
//------------------------- END -----------------------------------
log " "
log "Block with import jumps is at:"
log ImportBlock
ret
ERROR:
msg "Error occurred! Send bugs to HAGGAR at BIW reversing."
ret
Ha ha, I forgot that "bug report". I was planning to write general softwrap unpacker script but I lost interest. I didn't test it on enough targets. I should write instead "shit happens"
It is probably different version. Try place bp at the end of LoadLibrary and run untill it loads softwrap.dll. That DLL has all anti tricks, don't remember anymore which one. But imortant thing is that you can skipp DLL code executing and by that skip all tricks, license checks, time limit. Procedure inside protected exe that loads DLL has two ends. One is if program will continue to OEP and unpacking, second is just exit in case that you close window or if trial has ended.
If you download Morpheus Ultra, I can explain you protection on that example. I have that app for some time on my hard drive.
Thanks for the tips but, ho well, I tried. I bped on the mov esb,ebp then ran till I saw 'softwrap.dll' in argument, noped the call to LoadLibraryExA before passing it, then did an undo so everything is as it was, then when I reach the return, it brings me to somewhere in the main module totally not at the right place . It bring me here :
Code:
0069AE22 84FF TEST BH,BH
0069AE24 A2 FEFF8985 MOV BYTE PTR DS:[8589FFFE],AL
0069AE29 8265 01 00 AND BYTE PTR SS:[EBP+1],0
0069AE2D 61 POPAD
0069AE2E C3 RET
0069AE2F 33C0 XOR EAX,EAX <-----------------------
0069AE31 394424 04 CMP DWORD PTR SS:[ESP+4],EAX
0069AE35 74 13 JE SHORT 0069AE4A
0069AE37 E8 00000000 CALL 0069AE3C
0069AE3C 58 POP EAX
Also, verification are done before the dll is loaded. And when I press play, everything goes fine, but if I step, it detects me, probably with clock verifications. You should download the program, I will try to download morpheus with my slow connection and I will look at it
Maybe API will look different in your case, but RETN 4 must be somewhere there. It is end of API, since LoadLibraryA has only one parameter it must end on RETN 4.
Notice that procedure has two conditional JE jumps at the end. Second jump skips ExitProcess and leads to FreeLibrary that will unload softwrap.dll. When you exit LoadLibraryA, place new origin at that line and softwrap.dll will be unloaded and anti--stuff will be skipped, trial end avoided, etc.
in morpheus ultra, the program terminated (not really surprising, it must just be a empty program, so you install the trojaned bar in you Internet explorer when you install it )
In gam_e_mm_a_ker 7, the verications are done anyway (a popup before the program start saying OMG YOU ARE USING LITE VERSION, YOU MUST BUY !)
Ok so I suppose it works, but the program is not registered by default, I try to find the oep, to see what can I do.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum