hmm i wonder why auto-update don't work ... i compiled all and no one aplication stay running all shut down someone can help me ... ?
You have to download and install the boost resource files.Quote:
Build started 02.12.2010 15:11:15.
1>Project "C:\Documents and Settings\Melteem\Desktop\UpdateServer\src\Download ServerDemo\DownloadServerDemo.vcxproj" on node 3 (rebuild target(s)).
1>_PrepareForClean:
Deleting file "Release\DownloadServerDemo.lastbuildstate".
InitializeBuildStatus:
Touching "Release\DownloadServerDemo.unsuccessfulbuild" .
ClCompile:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /Zi /nologo /W3 /WX- /O2 /Oi /Oy- /GL /D "WIN32" /D NDEBUG /D _CONSOLE /D "_UNICODE" /D "UNICODE" /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\" /Fd"Release\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt DownloadServerDemo.cpp ..\Common\BlowFish.cpp ..\Common\DumpToString.cpp ..\Common\Network.cpp ..\Common\SilkroadSecurity.cpp
DownloadServerDemo.cpp
1>DownloadServerDemo.cpp(13): fatal error C1083: Cannot open include file: 'boost/filesystem.hpp': No such file or directory
BlowFish.cpp
DumpToString.cpp
Network.cpp
1>..\Common\Network.cpp(4): fatal error C1083: Cannot open include file: 'boost/asio.hpp': No such file or directory
SilkroadSecurity.cpp
1>Done Building Project "C:\Documents and Settings\Melteem\Desktop\UpdateServer\src\Download ServerDemo\DownloadServerDemo.vcxproj" (rebuild target(s)) -- FAILED.
Build FAILED.
Time Elapsed 00:00:06.15
i get error :(
nice work here , but still i cant figure it outQuote:
SV.T is pretty simple:
[xx xx xx xx] - size of input data
[xx .. xx] - input data
The rest of the data is just padding.
You use the blowfish string "SILKROADVERSION", but only use 8 bytes as the size for the key. Then you can easily decrypt it and then reencrypt a new version. Writing a simple tool to do it is pretty easy, a few people have already done this work in the past.
You can look at Silkroad.exe to see this logic the easiest. To do this:
- Find where "SV.T" is loaded (search for name)
- Trace down a bit until you see a call like this (sets up blowfish):
- The next call decrypts the buffer and then the next call is like atoi (string to int)Code:0043780B |. 6A 08 PUSH 8 ; /Arg2 = 00000008 0043780D |. 8D5424 60 LEA EDX,DWORD PTR SS:[ESP+60] ; | 00437811 |. 52 PUSH EDX ; |Arg1 00437812 |. 8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18] ; | 00437816 |. C78424 800800>MOV DWORD PTR SS:[ESP+880],0 ; | 00437821 |. E8 1AD80000 CALL silkroad.00445040 ; \silkroad.00445040
- Finally, the version is stored into a variable for later use (EAX has it)
That's all there is to it!
Local $sVersion = FileGetVersion("G:\Silkroad\sro_client.exe")
MsgBox(0,"",$sVersion)
Ok thanks for the replyQuote:
You're doing the wrong thing. Open SV.T and decrypt the file as Drew pointed out. Keep in mind the version is kept there as string. i.e 36 is 3336.
You can't easily use AutoIt for this stuff. If you wanted to, you must have a compatible blowfish implementation first, fully understand the PK2 structure to implement the processing logic in AutoIt, and finally be able to work with binary file data in memory.Quote:
I dont know how to extract it even with autoit ,but can you explain more with script ?