SmartVersion | Tools + Scripts

Discussion in 'Application Software' started by LostED, Apr 15, 2019.

  1. vanelle

    vanelle MDL Expert

    Sep 22, 2014
    1,133
    942
    60
    #181 vanelle, Mar 14, 2020
    Last edited: Mar 14, 2020
    for dll's 3.7 (API)
    to get info's from svf files

    int SVFAPI GetSvfMonoPatchInfo(....) -> working for me -> seems OK
    int SVFAPI GetSvfMonoPatchInfoEx -> working for me -> seems OK
    int SVFAPI GetSvfMonoPatchInfoEx2 -> Error during dll call
    - DllCall() [built-in] called with wrong number of args.

    GetSvfMonoPatchInfoEx2 is as far as i debug total wrong documentet (wrong number of arguments + wrong argument type's)

    GetSvfMonoPatchInfo...(...)
    are just wrapping code from other API's

    the global way is calling


    SVFAPI DfsOpen(...)
    SVFAPI ConvertOldDirectoryCommentStorage(...)
    SVFAPI DfsGetNbDir(...)

    SVFAPI ReadAllDirInfo(..) -> the result is a Pointer array to the dir info of each version

    then you can make a loop to get CurDirInfo from each pointer

    then you must call
    SVFAPI GetDfsTagBlockFloat(..) -> versions Tag's (eg. VersionsName, VersionsComment, etc
    and / or
    SVFAPI GetTag(...) -> file Tag's for the version

    short code snipset from my AU3 testing script to
    ;---------- Get all File infos from the current version
    Code:
                $i=0;
                While (($i < $iGetNbFile) And ($iError = $DFS_SUCCESS))
                    $pTagList       = DllStructGetData($tCurDirInfo,'TagFile')+$i*$PTRSIZE    ;*(pCurDirInfo->TagFile + i) <->  const DFTAGLIST__ *
                    $tFileInDirInfo = DllStructCreate ($tagFILEINDIRINFO, DllStructGetData($tCurDirInfo,'pFileInDirInfo') + $i)
                    ConsoleWrite(' 1 $tFileInDirInfo : FileName          = ' & SVF_GetStringFromPTR(DllStructGetData($tFileInDirInfo,'FileName')) & @CRLF)
                    ConsoleWrite(' 2 $tFileInDirInfo : fDateFilled       = ' & DllStructGetData($tFileInDirInfo,'fDateFilled') & @CRLF)
                    ConsoleWrite(' 3 $tFileInDirInfo : dfsTm             = ' & DllStructGetPtr($tFileInDirInfo, 'df_msec') & @CRLF)
                    $tTm = 0
                    If DllStructGetData($tFileInDirInfo,'fDateFilled') Then
                        $tTm = DllStructCreate($tagDFSTM, DllStructGetPtr($tFileInDirInfo, 'df_msec') )
                    ElseIf SVFAPI_GetTag($pTagList, $DFSTAG_DATE, $pTagBuf, $iTagSize) Then
                        ;ConsoleWrite('$pTagBuf  1 : ' & VarGetType($pTagBuf)  & ' ' & $pTagBuf & @CRLF)
                        ;ConsoleWrite('$iTagSize 2 : ' & VarGetType($iTagSize) & ' ' & $iTagSize & @CRLF)
                        $tTm = DllStructCreate($tagDFSTM)
                        SVFAPI_ConvertDfsInfoDateToDfsTm($pTagBuf, $tTm)
                    EndIf
                    If IsDllStruct($tTm) Then
    ;~                     ConsoleWrite('$tTm  1 : df_msec           = ' & DllStructGetData($tTm,'df_msec') & @CRLF)
    ;~                     ConsoleWrite('$tTm  2 : df_sec            = ' & DllStructGetData($tTm,'df_sec ') & @CRLF)
    ;~                     ConsoleWrite('$tTm  3 : df_min            = ' & DllStructGetData($tTm,'df_min')  & @CRLF)
    ;~                     ConsoleWrite('$tTm  4 : df_hour           = ' & DllStructGetData($tTm,'df_hour') & @CRLF)
    ;~                     ConsoleWrite('$tTm  5 : df_mday           = ' & DllStructGetData($tTm,'df_mday') & @CRLF)
    ;~                     ConsoleWrite('$tTm  6 : df_mon            = ' & DllStructGetData($tTm,'df_mon')  & @CRLF)
    ;~                     ConsoleWrite('$tTm  7 : df_year           = ' & DllStructGetData($tTm,'df_year') & @CRLF)
    ;~                     ConsoleWrite('$tTm  8 : df_timezone_bias  = ' & DllStructGetData($tTm,'df_timezone_bias') & @CRLF)
                        $tFile = _Date_Time_EncodeFileTime ( _
                                DllStructGetData($tTm,'df_mon'),  DllStructGetData($tTm,'df_mday'), DllStructGetData($tTm,'df_year'), _
                                DllStructGetData($tTm,'df_hour'), DllStructGetData($tTm,'df_min'),  DllStructGetData($tTm,'df_sec '), DllStructGetData($tTm,'df_msec') )
                        ConsoleWrite(' 3 GetTag DFSTAG   : DATE              = ' & _Date_Time_FileTimeToStr($tFile,1) & @CRLF)
                    EndIf
    
                    ConsoleWrite(' 4 $tFileInDirInfo : dfSize            = ' & DllStructGetData($tFileInDirInfo,'dfSize') & @CRLF)
                    ConsoleWrite(' 5 $tFileInDirInfo : dfFileEncodedSize = ' & DllStructGetData($tFileInDirInfo,'dfFileEncodedSize') & @CRLF)
                    ConsoleWrite(' 6 $tFileInDirInfo : dfCrc32           = ' & StringRight(Hex(DllStructGetData($tFileInDirInfo,'dfCrc32')),8) & @CRLF)
                    ConsoleWrite(' 7 $tFileInDirInfo : fCrc32Filled      = ' & DllStructGetData($tFileInDirInfo,'fCrc32Filled') & @CRLF)
    
                    If SVFAPI_GetTag($pTagList, $DFSTAG_STORAGESTATUS, $pTagBuf, $iTagSize) Then
                        $t_uLong32Intel = DllStructCreate($tagDFULONG32INTEL, $pTagBuf)
                        If $iTagSize = DllStructGetSize($t_uLong32Intel) Then ;sizeof(dfuLong32Intel))
                            $iFileIdentical = SVFAPI_ConvertuLongIntelToLong($t_uLong32Intel)   ;(*(dfuLong32Intel*)TagBuf);
                            ConsoleWrite(' 8 GetTag DFSTAG   : STORAGESTATUS     = ' & SVF_GetStringStoragestatusType($iFileIdentical) & @CRLF)
                        EndIf
                    EndIf
    
                    ConsoleWrite(' 9 $tFileInDirInfo : fMd5Filled        = ' & DllStructGetData($tFileInDirInfo,'fMd5Filled') & @CRLF)
                    ConsoleWrite('10 $tFileInDirInfo : bMd5              = ' & Hex(DllStructGetData($tFileInDirInfo,'bMd5') ) & @CRLF)
                    ConsoleWrite('11 $tFileInDirInfo : fSha1Filled       = ' & DllStructGetData($tFileInDirInfo,'fSha1Filled') & @CRLF)
                    ConsoleWrite('12 $tFileInDirInfo : bSha1             = ' & Hex(DllStructGetData($tFileInDirInfo,'bSha1') ) & @CRLF)
                    ConsoleWrite('13 $tFileInDirInfo : fSha256Filled     = ' & DllStructGetData($tFileInDirInfo,'fSha256Filled') & @CRLF)
                    ConsoleWrite('14 $tFileInDirInfo : bSha256           = ' & Hex(DllStructGetData($tFileInDirInfo,'bSha256') ) & @CRLF)
    
                    If SVFAPI_GetTag($pTagList, $DFSTAG_FILENAME, $pTagBuf, $iTagSize) Then
                        ConsoleWrite('-- GetTag DFSTAG   : FILENAME            = ' & SVF_GetStringFromPTR($pTagBuf, $iTagSize) & @CRLF)
                    EndIf
                    If SVFAPI_GetTag($pTagList, $DFSTAG_BASEPATCH, $pTagBuf, $iTagSize) Then
                        ConsoleWrite('-- GetTag DFSTAG   : BASEPATCH           = ' & $iTagSize & @CRLF)
                    EndIf
                    If SVFAPI_GetTag($pTagList, $DFSTAG_FILEPOSPROPERTIES, $pTagBuf, $iTagSize) Then
                        ConsoleWrite('-- GetTag DFSTAG   : FILEPOSPROPERTIES   = ' & $iTagSize & @CRLF)
                    EndIf
                    If SVFAPI_GetTag($pTagList, $DFSTAG_CRCINFO, $pTagBuf, $iTagSize) Then
                        ConsoleWrite('-- GetTag DFSTAG   : CRCINFO             = ' & $iTagSize & @CRLF)
                    EndIf
                    If SVFAPI_GetTag($pTagList, $DFSTAG_PREVIOUSVERSIONINFO, $pTagBuf, $iTagSize) Then
                        ConsoleWrite('-- GetTag DFSTAG   : PREVIOUSVERSIONINFO = ' & $iTagSize & @CRLF)
                    EndIf
                    If SVFAPI_GetTag($pTagList, $DFSTAG_NUMBEROFFILEINDIR, $pTagBuf, $iTagSize) Then
                        ConsoleWrite('-- GetTag DFSTAG   : NUMBEROFFILEINDIR   = ' & $iTagSize & @CRLF)
                    EndIf
                    If SVFAPI_GetTag($pTagList, $DFSTAG_STORAGESTATUS, $pTagBuf, $iTagSize) Then
                        ConsoleWrite('-- GetTag DFSTAG   : STORAGESTATUS       = ' & DllStructGetData(DllStructCreate('ulong',$pTagBuf),1) & @CRLF)
                    EndIf
    .... snip
    
                WEnd
    
            EndIf
    ConsoleWrite('-------------' & @CRLF)
        Next
    
    after all this
    you must call
    SVFAPI FreeAllDirInfo(..)
    SVFAPI DfsClose(..)
    etc

    Thx to my Magic Ball i find out the new 3.7 typedef struct(s) wich include Sha256

    i dont puplish my knowlage yet (have no Permission from G. Vollant to do this)

    first you shoud define wat is the meaning of 'intelligent people in MDL'

    in my mind it is'nt intelligent (fair)..
    - steal smv.exe from the autor, pack .svf files + stolen smv.exe -> to a selfextracting RAR
    and cach likes like some enthousiast MDL Member (
    and pretend as if he had found the Philosopher's Stone)

    - steal smv.exe from the autor, yust to make a second GUI wich only wrap the console code from smv.exe, only to catch likes

    none of this user have the permisson from G. Vollant to do this !!!
    non MDL Member wich use this fake software donate the author. !!!!

    on the contrary, this only leads him up to get angry (pissed of)

    the author have a homepage with a GUI and a a original console exe
    each MDL Member should only link to the homepage of G. Vollant and support him by donate or work with him together.

    scripting (.cmd, bat etc) is ok if you link to the author to get the smv exe but nothing else is accateble without permisson of G. Vollant

    but on MDL

    - intelligez
    - fair usage
    - insight
    is hard to find
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. 3zero3

    3zero3 MDL Senior Member

    Apr 26, 2012
    310
    353
    10
    Added.

    But new one.

    Not this frankenstein SVFX with two frankenstein SVFs inside archive.

    The new one, everything is inside one SVF, including source file.

    I think, will post tomorrow.
     
  3. luzea

    luzea MDL Senior Member

    Apr 25, 2019
    390
    260
    10
    @vanelle The author is member here since 2013 and is online regularly. If he would think that this isn't fair, he would have said something to us. (which I don't think, he got everything we posted)
     
  4. Sajjo

    Sajjo MDL Expert

    Feb 6, 2018
    1,387
    1,775
    60
    @vanelle
    I know, my bad.
    One of my stupid moments, truly sorry about that.

    Kind regards
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. theroid

    theroid MDL Novice

    Jun 11, 2018
    1
    0
    0
    Hey, is there any proof or way to check if there is no additional programms installed on this windows version? Im a bit paranoid, wouldnt want some day all my accounts beeing hacked. :oops:
     
  6. Disk2019

    Disk2019 MDL Member

    May 15, 2018
    282
    70
    10
    Brother
    if you are that much security conscious then why dont you install anti logger which will encrypt each & every keystroke on your machine thus protecting you .
    On MDL i confirm theres no any crack patch keygen allowed to be posted . kindly have a look at rules of our Community . you can easily contact admins (Staff) if you find any crack or patch / keygen posted & they will deffinately take action against that poster as well as that post.
    Hence i state that its a Best Safe & Secure Community in this virtual world with lots of ethical knowledge from Experts / Pro's. Learn something & enjoy your stay here :)
     
  7. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    27,394
    40,436
    390
    Addition, the checksums can be verified, some tools do it automated when converting.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...