Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[ANALYSE]Diner Dash 2 Analyse For Crackers

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Random spam
View previous topic :: View next topic  
Author Message
DeletedUser14087
I post too much
Reputation: 2

Joined: 21 Jun 2006
Posts: 3069

PostPosted: Sun Jun 08, 2008 5:34 am    Post subject: [ANALYSE]Diner Dash 2 Analyse For Crackers Reply with quote

For all the crackers out there, here's the analyse i took from DinerDash2.exe, it's not packed but if you want to have unlimited play without bypassing the .EXE, bypass the DRM Class (CreateWindowEx), destroying it preventing time limitation and executing the hidden .exe (popcapgame1.exe, CreateFileA) @ Startup unSuspended (CREATE_SUSPENDED) will do the job, just turn Push 4 to Push 0.

Code:
CreateFileA 1: 004FBD45

0013E8E4   00595E48  |FileName = "C:\Program Files\PopCap Games\Diner Dash 2\DinerDash2.exe"
0013E8E8   80000000  |Access = GENERI C_READ
0013E8EC   00000003  |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
0013E8F0   0013E90C  |pSecurity = 0013E90C     //Variable Structure
0013E8F4   00000003  |Mode = OPEN_EXISTING
0013E8F8   00000080  |Attributes = NORMAL
0013E8FC   00000000  \hTemplateFile = NULL



CreateFileA 2: 004076D1

0013E724   015E7A28  |FileName = "C:\Program Files\PopCap Games\Diner Dash 2\popcapgame1.exe"
0013E728   80000000  |Access = GENDark Byte_READ
0013E72C   00000000  |ShareMode = 0
0013E730   00000000  |pSecurity = NULL
0013E734   00000004  |Mode = OPEN_ALWAYS
0013E738   00000080  |Attributes = NORMAL   //FILE_ATTRIBUTE_NORMAL   
0013E73C   00000000  \hTemplateFile = NULL



ShowWindow 1: (Main Window) 00407071

/*
 * ShowWindow() Commands
 */
#define SW_HIDE             0
#define SW_SHOWNORMAL       1
#define SW_NORMAL           1
#define SW_SHOWMINIMIZED    2
#define SW_SHOWMAXIMIZED    3
#define SW_MAXIMIZE         3
#define SW_SHOWNOACTIVATE   4
#define SW_SHOW             5
#define SW_MINIMIZE         6
#define SW_SHOWMINNOACTIVE  7
#define SW_SHOWNA           8
#define SW_RESTORE          9
#define SW_SHOWDEFAULT      10
#define SW_FORCEMINIMIZE    11
#define SW_MAX              11

0013E970   009E0162  |hWnd = 009E0162 ('Buy Diner Dash 2: Restaurant ...',class='DRMWindow')
0013E974   00000005  \ShowState = SW_SHOW //Push 5



CreateWindowEx (Showed by ShowWindow()) 1: 0040F264

019EFF34   00000000  |ExtStyle = 0
019EFF38   005342D8  |Class = "DRMProtectRun_IPC"
019EFF3C   00000000  |WindowName = NULL
019EFF40   00000000  |Style = WS_OVERLAPPED
019EFF44   00000000  |X = 0
019EFF48   00000000  |Y = 0
019EFF4C   00000000  |Width = 0
019EFF50   00000000  |Height = 0
019EFF54   00000000  |hParent = NULL
019EFF58   00000000  |hMenu = NULL
019EFF5C   00400000  |hInst = 00400000
019EFF60   00000000  \lParam = NULL
Back to top
View user's profile Send private message
DeletedUser14087
I post too much
Reputation: 2

Joined: 21 Jun 2006
Posts: 3069

PostPosted: Sun Jun 08, 2008 11:53 am    Post subject: Reply with quote

ZzOoZz wrote:
(lol, i suck so much)

So, unSuspender does all the work?


No, just bypass the Main Class (DRM/SexyWindow) and make it just execute the hidden file, that's all, and of course at the end too.

the problem is i don't know how to get it to execute WITHOUT the DRM Class due to "Play" Button, so you may try keygenning it or Wait until SunBeam/x0r reply Smile

Here's my theory on how it works.

1)Execute DinerDash2.exe (This is the enemy)

2)DinerDash2.exe Uses ShowWindow() to show the created window (CreateWindowEx/RegisterClass)

Example:
Code:
HWND lol = CreateWindowEx()
ShowWindow(lol, SW_NORMAL)


3)This window shows you how long you have to play until the limitation ends.

4)When clicking "Play", it uses CreateFileA To create the hidden file (popcapgame1.exe) and as soon as it is present, it uses CreateProcessA (Suspended mode) to Execute it.

5)Open Taskmgr and look in the process list, Kill the process DinerDash2.exe, you will see that the game still runs, why ? because DinerDash2.exe is just a wrapper that limits us to play the freaken game lol , so baiscly we DO know that the actual game is popcapgame1.exe, right ? so what we have to do is just patch/remove the CreateWindowEx in the start and at the end (The end doesn't matter much, will just be annoying).

6)And finally, when closing the "trail" game, it uses DeleteFileA to delete the hidden file.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Random spam All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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 cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites