Буквально на днях в исходном коде Steam были обнаружены строки упоминающие Dota 2. Вероятно, игра находится на стадии закрытого процесса альфа тестирования.
Напомним, что альфа-тестирование – это закрытый процесс тестирования программы, при котором разработчики часто отбирают людей из обычной интернет аудитории. Dota 2 скорее всего завершена только на 50%, присутствует программный код, но отсутствует значительная часть оформления.
А вот и некоторый фрагмент кода:
Processing config:
Processing plugin dlls: «steamapps\***\dota 2 beta\dll\*.dll»
- AdvSplash::show
- Banner::destroy
- Banner::getWindow
- Banner::show
- BgImage::AddImage
- BgImage::AddText
- BgImage::Clear
- BgImage::Destroy
- BgImage::Redraw
- BgImage::SetBg
- BgImage::SetReturn
- BgImage::Sound
- Dialer::AttemptConnect
- Dialer::AutodialHangup
- Dialer::AutodialOnline
- Dialer::AutodialUnattended
- Dialer::GetConnectedState
- InstallOptions::dialog
- InstallOptions::initDialog
- InstallOptions::show
- LangDLL::LangDialog
- Math::Script
- Steamdl::download
- Steamdl::download_quiet
- Splash::show
- StartMenu::Init
- StartMenu::Select
- StartMenu::Show
- System::Alloc
- System::Call
- System::Copy
- System::Free
- System::Get
- System::Int64Op
- System::Store
- TypeLib::GetLibVersion
- TypeLib::Register
- TypeLib::UnRegister
- UserInfo::GetAccountType
- UserInfo::GetName
- UserInfo::GetOriginalAccountType
- VPatch::GetFileCRC32
- VPatch::GetFileMD5
- VPatch::vpatchfile
- StDialogs::Create
- StDialogs::CreateControl
- StDialogs::CreateItem
- StDialogs::CreateTimer
- StDialogs::GetUserData
- StDialogs::KillTimer
- StDialogs::OnBack
- StDialogs::OnChange
- StDialogs::OnClick
- StDialogs::OnNotify
- StDialogs::SelectFileDialog
- StDialogs::SelectFolderDialog
- StDialogs::SetRTL
- StDialogs::SetUserData
- StDialogs::Show
- StExec::Exec
- StExec::ExecToLog
- StExec::ExecToStack
!define: «GUI_INSERT_DOTACONF»=»»
Changing directory to: «steamapps\***\dota 2 beta»
Processing script file: «steamapps\***\dota 2 beta\callfuncmenu.vdf»
Name: «Dota 2 Beta»
InFile: «dota2.exe»
Caption: «$(^Name)»
ShowInstDetails: show
XPStyle: on
Var: «FUNCTION»
Var: «TEMPFILE1″
Var: «TEMPFILE2″
Var: «TEMPFILE3″
Var: «HANDLE»
Var: «In»
!include: «..\steamui_1287.mst»
!define: «TEXTFUNC_INCLUDED»=»»
!include: «..\steamclient.dll»
!define: «FILEFUNC_INCLUDED»=»»
!include: «steamapps\***\dota 2 beta\resources\gamemenu.res»
!include: closed: «steamapps\***\dota 2 beta\graphics\*.tga»
!define: «Locate»=»!insertmacro LocateCall»
!define: «un.Locate»=»!insertmacro LocateCall»
!define: «GetSize»=»!insertmacro GetSizeCall»
!define: «un.GetSize»=»!insertmacro GetSizeCall»
!define: «DriveSpace»=»!insertmacro DriveSpaceCall»
!define: «un.DriveSpace»=»!insertmacro DriveSpaceCall»
!define: «GetDrives»=»!insertmacro GetDrivesCall»
!define: «un.GetDrives»=»!insertmacro GetDrivesCall»
!define: «GetTime»=»!insertmacro GetTimeCall»
!define: «un.GetTime»=»!insertmacro GetTimeCall»
!define: «GetFileAttributes»=»!insertmacro GetFileAttributesCall»
!define: «un.GetFileAttributes»=»!insertmacro GetFileAttributesCall»
!define: «GetFileVersion»=»!insertmacro GetFileVersionCall»
!define: «un.GetFileVersion»=»!insertmacro GetFileVersionCall»
!define: «GetExeName»=»!insertmacro GetExeNameCall»
!define: «un.GetExeName»=»!insertmacro GetExeNameCall»
!define: «GetExePath»=»!insertmacro GetExePathCall»
!define: «un.GetExePath»=»!insertmacro GetExePathCall»
!define: «GetParameters»=»!insertmacro GetParametersCall»
!define: «un.GetParameters»=»!insertmacro GetParametersCall»
!define: «GetOptions»=»!insertmacro GetOptionsCall»
!define: «un.GetOptions»=»!insertmacro GetOptionsCall»
!define: «GetOptionsS»=»!insertmacro GetOptionsSCall»
!define: «un.GetOptionsS»=»!insertmacro GetOptionsSCall»
!define: «GetRoot»=»!insertmacro GetRootCall»
!define: «un.GetRoot»=»!insertmacro GetRootCall»
!define: «GetParent»=»!insertmacro GetParentCall»
!define: «un.GetParent»=»!insertmacro GetParentCall»
!define: «GetFileName»=»!insertmacro GetFileNameCall»
!define: «un.GetFileName»=»!insertmacro GetFileNameCall»
!define: «GetBaseName»=»!insertmacro GetBaseNameCall»
!define: «un.GetBaseName»=»!insertmacro GetBaseNameCall»
!define: «GetFileExt»=»!insertmacro GetFileExtCall»
!define: «un.GetFileExt»=»!insertmacro GetFileExtCall»
!define: «BannerTrimPath»=»!insertmacro BannerTrimPathCall»
!define: «un.BannerTrimPath»=»!insertmacro BannerTrimPathCall»
!define: «DirState»=»!insertmacro DirStateCall»
!define: «un.DirState»=»!insertmacro DirStateCall»
!define: «RefreshShellIcons»=»!insertmacro RefreshShellIconsCall»
!define: «un.RefreshShellIcons»=»!insertmacro RefreshShellIconsCall»
!include: closed: «steamapps\***\dota 2 beta\clientregistry.dll»
!include: «steamapps\***\dota 2 beta\crashreporter.exe»
!include: closed: «steamapps\***\dota 2 beta\debughelper.dll»
!define: «LineFind»=»!insertmacro LineFindCall»
!define: «un.LineFind»=»!insertmacro LineFindCall»
!define: «LineRead»=»!insertmacro LineReadCall»
!define: «un.LineRead»=»!insertmacro LineReadCall»
!define: «FileReadFromEnd»=»!insertmacro FileReadFromEndCall»
!define: «un.FileReadFromEnd»=»!insertmacro FileReadFromEndCall»
!define: «LineSum»=»!insertmacro LineSumCall»
!define: «un.LineSum»=»!insertmacro LineSumCall»
!define: «FileJoin»=»!insertmacro FileJoinCall»
!define: «un.FileJoin»=»!insertmacro FileJoinCall»
!define: «TextCompare»=»!insertmacro TextCompareCall»
!define: «un.TextCompare»=»!insertmacro TextCompareCall»
!define: «TextCompareS»=»!insertmacro TextCompareSCall»
!define: «un.TextCompareS»=»!insertmacro TextCompareSCall»
!define: «ConfigRead»=»!insertmacro ConfigReadCall»
!define: «un.ConfigRead»=»!insertmacro ConfigReadCall»
!define: «ConfigReadS»=»!insertmacro ConfigReadSCall»
!define: «un.ConfigReadS»=»!insertmacro ConfigReadSCall»
!define: «ConfigWrite»=»!insertmacro ConfigWriteCall»
!define: «un.ConfigWrite»=»!insertmacro ConfigWriteCall»
!define: «ConfigWriteS»=»!insertmacro ConfigWriteSCall»
!define: «un.ConfigWriteS»=»!insertmacro ConfigWriteSCall»
!define: «FileRecode»=»!insertmacro FileRecodeCall»
!define: «un.FileRecode»=»!insertmacro FileRecodeCall»
!define: «TrimNewLines»=»!insertmacro TrimNewLinesCall»
!define: «un.TrimNewLines»=»!insertmacro TrimNewLinesCall»
!include: closed: «steamapps\***\dota 2 beta\dll32_d.dll»
!define: «StackVerificationStart»=»!insertmacro StackVerificationStart»
!define: «StackVerificationEnd»=»!insertmacro StackVerificationEnd»
Function: «StackVerificationStart»
StrCpy $0 «!0″ () ()
StrCpy $1 «!1″ () ()
StrCpy $2 «!2″ () ()
StrCpy $3 «!3″ () ()
StrCpy $4 «!4″ () ()
StrCpy $5 «!5″ () ()
StrCpy $6 «!6″ () ()
StrCpy $7 «!7″ () ()
StrCpy $8 «!8″ () ()
StrCpy $9 «!9″ () ()
StrCpy $R0 «!R0″ () ()
StrCpy $R1 «!R1″ () ()
StrCpy $R2 «!R2″ () ()
StrCpy $R3 «!R3″ () ()
StrCpy $R4 «!R4″ () ()
StrCpy $R5 «!R5″ () ()
StrCpy $R6 «!R6″ () ()
StrCpy $R7 «!R7″ () ()
StrCpy $R8 «!R8″ () ()
StrCpy $R9 «!R9″ () ()
FunctionEnd
Function: «StackVerificationEnd»
IfErrors ?+3:
DetailPrint: «PASSED $FUNCTION no errors»
Goto: +2
DetailPrint: «FAILED $FUNCTION error»
StrCmp «$0″ «!0″ equal=0, nonequal=error
StrCmp «$1″ «!1″ equal=0, nonequal=error
StrCmp «$2″ «!2″ equal=0, nonequal=error
StrCmp «$3″ «!3″ equal=0, nonequal=error
StrCmp «$4″ «!4″ equal=0, nonequal=error
StrCmp «$5″ «!5″ equal=0, nonequal=error
StrCmp «$6″ «!6″ equal=0, nonequal=error
StrCmp «$7″ «!7″ equal=0, nonequal=error
StrCmp «$8″ «!8″ equal=0, nonequal=error
StrCmp «$9″ «!9″ equal=0, nonequal=error
StrCmp «$R0″ «!R0″ equal=0, nonequal=error
StrCmp «$R1″ «!R1″ equal=0, nonequal=error
StrCmp «$R2″ «!R2″ equal=0, nonequal=error
StrCmp «$R3″ «!R3″ equal=0, nonequal=error
StrCmp «$R4″ «!R4″ equal=0, nonequal=error
StrCmp «$R5″ «!R5″ equal=0, nonequal=error
StrCmp «$R6″ «!R6″ equal=0, nonequal=error
StrCmp «$R7″ «!R7″ equal=0, nonequal=error
StrCmp «$R8″ «!R8″ equal=0, nonequal=error
StrCmp «$R9″ «!R9″ equal=0, nonequal=error
DetailPrint: «PASSED $FUNCTION stack»
Goto: end
DetailPrint: «FAILED $FUNCTION stack»
FunctionEnd
Section: «CreateTestFile»
GetTempFileName -> $TEMPFILE1
FileOpen: $TEMPFILE1 as w -> $HANDLE
FileWrite: 1A=a
->$HANDLE
FileWrite: 2B=b
->$HANDLE
FileWrite: 3C=c
->$HANDLE
FileWrite: 4D=d
->$HANDLE
FileWrite: 5E=e
->$HANDLE
FileClose: $HANDLE
GetTempFileName -> $TEMPFILE2
GetTempFileName -> $TEMPFILE3
SectionEnd
Section: «LineFind»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «LineFind» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: LineFindCall
!insertmacro: end of LineFindCall
IfErrors ?error:
StrCmp «$OUT» «|1:2|-5|1|1A=a
|1:2|-4|2|2B=b
|3:3|-3|3|3C=c
» equal=0, nonequal=error
StrCpy $OUT «» () ()
SetDetailsPrint: none
!insertmacro: LineFindCall
!insertmacro: end of LineFindCall
SetDetailsPrint: both
IfErrors ?error:
StrCmp «$OUT» «|1:-1||1|1A=a
|1:-1||2|4D=d
|1:-1||3|3C=c
|1:-1||4|2B=B
|1:-1||5|5E=e
» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Function: «LineFindCallback1″
StrCpy $OUT «$OUT|$R6|$R7|$R8|$R9″ () ()
StrCmp «$R8″ «3″ equal=0, nonequal=+2
StrCpy $0 «StopLineFind» () ()
Push: $0
FunctionEnd
Function: «LineFindCallback2″
StrCmp «$R8″ «2″ equal=0, nonequal=+2
StrCpy $R9 «4D=d
» () ()
StrCmp «$R8″ «4″ equal=0, nonequal=+2
StrCpy $R9 «2B=B
» () ()
StrCpy $OUT «$OUT|$R6|$R7|$R8|$R9″ () ()
Push: $0
FunctionEnd
Section: «LineRead»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «LineRead» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: LineReadCall
!insertmacro: end of LineReadCall
IfErrors ?error:
StrCmp «$OUT» «5E=e
» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «FileReadFromEnd»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «FileReadFromEnd» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
StrCpy $OUT «» () ()
!insertmacro: FileReadFromEndCall
!insertmacro: end of FileReadFromEndCall
IfErrors ?error:
StrCmp «$OUT» «|-1|5|5E=e
|-2|4|4D=d
|-3|3|3C=c
|-4|2|2B=b
» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Function: «FileReadFromEndCallback»
StrCpy $OUT «$OUT|$7|$8|$9″ () ()
StrCmp «$8″ «2″ equal=0, nonequal=+2
StrCpy $0 «StopFileReadFromEnd» () ()
Push: $0
FunctionEnd
Section: «LineSum»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «LineSum» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: LineSumCall
!insertmacro: end of LineSumCall
IfErrors ?error:
StrCmp «$OUT» «5″ equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «FileJoin»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «FileJoin» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
SetDetailsPrint: none
!insertmacro: FileJoinCall
!insertmacro: end of FileJoinCall
SetDetailsPrint: both
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «TextCompare»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «TextCompare» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
StrCpy $OUT «» () ()
!insertmacro: TextCompareCall
!insertmacro: end of TextCompareCall
StrCmp «$OUT» «|2|4D=d
|2|2B=b
|4|2B=B
|4|4D=d
» equal=0, nonequal=error
StrCpy $OUT «» () ()
!insertmacro: TextCompareCall
!insertmacro: end of TextCompareCall
StrCmp «$OUT» «|1|1A=a
|1|1A=a
|3|3C=c
|3|3C=c
|5|5E=e
|5|5E=e
» equal=0, nonequal=error
StrCpy $OUT «» () ()
!insertmacro: TextCompareCall
!insertmacro: end of TextCompareCall
StrCmp «$OUT» «» equal=0, nonequal=error
StrCpy $OUT «» () ()
!insertmacro: TextCompareCall
!insertmacro: end of TextCompareCall
StrCmp «$OUT» «|1|1A=a
|1|1A=a
|4|2B=B
|2|2B=b
|3|3C=c
|3|3C=c
|2|4D=d
|4|4D=d
|5|5E=e
|5|5E=e
» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «TextCompareS»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «TextCompareS» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
StrCpy $OUT «» () ()
!insertmacro: TextCompareSCall
!insertmacro: end of TextCompareSCall
StrCmp «$OUT» «|||2|2B=b
» equal=0, nonequal=error
StrCpy $OUT «» () ()
!insertmacro: TextCompareSCall
!insertmacro: end of TextCompareSCall
StrCmp «$OUT» «|1|1A=a
|1|1A=a
|3|3C=c
|3|3C=c
|2|4D=d
|4|4D=d
|5|5E=e
|5|5E=e
» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Function: «TextCompareCallback»
StrCpy $OUT «$OUT|$6|$7|$8|$9″ () ()
Push: $0
FunctionEnd
Section: «ConfigRead»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «ConfigRead» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: ConfigReadCall
!insertmacro: end of ConfigReadCall
StrCmp «$OUT» «c» equal=0, nonequal=error
!insertmacro: ConfigReadCall
!insertmacro: end of ConfigReadCall
StrCmp «$OUT» «» equal=0, nonequal=error
!insertmacro: ConfigReadCall
!insertmacro: end of ConfigReadCall
IfErrors ?0:error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «ConfigReadS»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «ConfigReadS» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: ConfigReadSCall
!insertmacro: end of ConfigReadSCall
StrCmp «$OUT» «c» equal=0, nonequal=error
!insertmacro: ConfigReadSCall
!insertmacro: end of ConfigReadSCall
IfErrors ?0:error
StrCmp «$OUT» «» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «ConfigWrite»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «ConfigWrite» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: ConfigWriteCall
!insertmacro: end of ConfigWriteCall
StrCmp «$OUT» «CHANGED» equal=0, nonequal=error
!insertmacro: ConfigWriteCall
!insertmacro: end of ConfigWriteCall
StrCmp «$OUT» «DELETED» equal=0, nonequal=error
!insertmacro: ConfigWriteCall
!insertmacro: end of ConfigWriteCall
StrCmp «$OUT» «SAME» equal=0, nonequal=error
!insertmacro: ConfigWriteCall
!insertmacro: end of ConfigWriteCall
StrCmp «$OUT» «ADDED» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «ConfigWriteS»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «ConfigWriteS» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: ConfigWriteSCall
!insertmacro: end of ConfigWriteSCall
StrCmp «$OUT» «ADDED» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «FileRecode»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «FileRecode» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: FileRecodeCall
!insertmacro: end of FileRecodeCall
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «TrimNewLines»
!insertmacro: StackVerificationStart
StrCpy $FUNCTION «TrimNewLines» () ()
Call «StackVerificationStart»
!insertmacro: end of StackVerificationStart
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
StrCmp «$OUT» «Text Line» equal=0, nonequal=error
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
StrCmp «$OUT» «Text Line» equal=0, nonequal=error
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
StrCmp «$OUT» «Text Line» equal=0, nonequal=error
Goto: +2
SetErrors
!insertmacro: StackVerificationEnd
Call «StackVerificationEnd»
!insertmacro: end of StackVerificationEnd
SectionEnd
Section: «WriteDebug»
SetDetailsPrint: none
Delete: «$TEMPFILE1″
Delete: «$TEMPFILE2″
Delete: «$TEMPFILE3″
SetDetailsPrint: both
Goto: +2
WriteDebug: «steamapps\***\dota 2 beta\crashreporter.exe»
SectionEnd
Section: «re.Debug»
!insertmacro: LineFindCall
!insertmacro: end of LineFindCall
!insertmacro: LineReadCall
!insertmacro: end of LineReadCall
!insertmacro: FileReadFromEndCall
!insertmacro: end of FileReadFromEndCall
!insertmacro: LineSumCall
!insertmacro: end of LineSumCall
!insertmacro: FileJoinCall
!insertmacro: end of FileJoinCall
!insertmacro: TextCompareCall
!insertmacro: end of TextCompareCall
!insertmacro: TextCompareSCall
!insertmacro: end of TextCompareSCall
!insertmacro: ConfigReadCall
!insertmacro: end of ConfigReadCall
!insertmacro: ConfigReadSCall
!insertmacro: end of ConfigReadSCall
!insertmacro: ConfigWriteCall
!insertmacro: end of ConfigWriteCall
!insertmacro: ConfigWriteSCall
!insertmacro: end of ConfigWriteSCall
!insertmacro: FileRecodeCall
!insertmacro: end of FileRecodeCall
!insertmacro: TrimNewLinesCall
!insertmacro: end of TrimNewLinesCall
SectionEnd
Function: «un.LineFindCallback»
Push: $0
FunctionEnd
Function: «un.FileReadFromEndCallback»
Push: $0
FunctionEnd
Function: «un.TextCompareCallback»
Push: $0
FunctionEnd
In: «steamapps\***\dota 2 beta\dota2.exe»
Datablock optimizer save 12358 bytes (~19.4%).
EXE header size: 34304 / 35840 bytes
CRC (0xE336CD05): 4 / 4 bytes
|