sc4ry
Active Members-
Posts
85 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
sc4ry's Achievements
Wayfarer (2/7)
0
Reputation
-
Get Video Resolution from Properties
sc4ry replied to sc4ry's topic in AutoIt General Help and Support
works great, big THX -
Get Video Resolution from Properties
sc4ry replied to sc4ry's topic in AutoIt General Help and Support
hey, thanks, but as already mentioned by you, it is also not showing the information I am searching for. In the array it is mentioned but empty. -
Dear all, I already found the UDF "GetExtProperty" with object "GetDetailsOf" which I already enhanced to get 289 property-infos, nervertheless I am missing the bright/height resolution of a video, which I can see when I run properties of a video in the explorer. How to get this information via AutoIt? Thanks for your help.
-
Dear all, I already have a formula which will select doublicates, but sometimes there might be entries with additional information starting after "-", which I now want to trim away. Current formula is: Select DISTINCT a.title, a.oid, a.size, a.disk from DB a, DB b where (a.title like b.title and a.oid <> b.oid)" & $ActiveDisks_Filter & " AND (a.comment <> 'Delete' AND b.comment <> 'Delete') Order by a.title ASC, a.size DESC; testwise I want to add a simple solution like left, but afterwards I get an error but I do not know why. Select DISTINCT a.title, a.oid, a.size, a.disk from DB a, DB b where (left(a.title,15) like b.title and a.oid <> b.oid) Order by a.title ASC, a.size DESC; Error: near "(": syntax error: Finally I would like to insert intstr to search for "-" but currently I am not able to extend my current code =/ Thanks a lot for your help. EDIT: hey, I managed it, left was not working also it was somehow shown that the tool knowed the comment. I did it now with substr+instr (substr(a.title, 1, instr(a.title, ' - '))
-
if anyone is interested ... it should be fixed in milestone 3.3.7.0 -> http://www.autoitscript.com/trac/autoit/ticket/1573
-
and a BIG, GREAT THANKS goes tooooo ... BugFix =) He did the following: Func _FiSH_encrypt_msg($mWnd, $aWnd, $sData, $show, $nopause) Local $tData = DllStructCreate('char[900]') DllStructSetData($tData, 1, $sData) Local $tParams = DllStructCreate('char[900]') Local $ret = DllCall('Fish.dll', 'int', 'FiSH_encrypt_msg', 'hwnd', $mWnd, 'hwnd', $aWnd, 'ptr', DllStructGetPtr($tData), _ 'ptr', DllStructGetPtr($tParams), 'BOOLEAN', $show, 'BOOLEAN', $nopause) If @error Then Return SetError(@error,0,-1) Switch $ret[0] Case 0, 1 Return $ret[0] Case 2 Local $aOut[2] = [DllStructGetData($tData,1), DllStructGetData($tParams,1)] Return $aOut Case 3 Return DllStructGetData($tData,1) EndSwitch EndFunc which works fine with following settings: $mWnd = WinGetHandle("[Class:SciTEWindow]") $aWnd = ControlGetHandle("[Class:SciTEWindow]", "", "Scintilla2") $sData = "1234 Blubb" $show = True $nopause = True
-
Hey, thank you for your help. Cause i´m german, i don´t understand all what you wrote. sorry for that ;-) using the blowfish.au3 isn´t that hard, but the result is not that, what i want or expect. i don´t know, what the fish.dll really does ... but i want to build that back. and the only thing i know already is, that it also uses blowfish ... but in what way? maybe i have to use directly the dll and not the blowfish.au3 ... but how? something i know found is, how the call should be done: FiSH_encrypt_msg(HWND mWnd, HWND aWnd, char *theData, char *params, BOOL show, BOOL nopause) know i have to do this in autoit (with nearly no dll-expirience). if anyone have a tip ... please let me know =)
-
Hello Everybody, i want to decrypt some text from mIRC, which uses FiSH (http://fish.secure.la/). FiSH is using the Blowfish-Algo. I tried the blowfish.au3 from here (http://www.autoitscript.com/forum/index.php?showtopic=44581&st=0&p=332160&#entry332160), but it seems not so easy to use the key and the text to decrypt. I receive the following code, which is crypted with password "1234" (without "") -> +OK XyYxV1HYaF.1 Now i want to find the way, to decrypt this msg with the key to receive -> Blubb I think there must be 2 ways: 1. Using blowfish.au3; 2. Using FiSH.dll At this time, i have no idea, how to use the blowfish.au3 for that, but maybe, if i/we understand, how Fish works? What i find in the mrc, is the follwing (but because i´m a dll and decryption noob, this does not really helps me ;-)) int decrypt_string(char *key, char *str, char *dest, int len); int encrypt_string(char *key, char *str, char *dest, int len); $dll(%FiSH_dll,DH1024_comp, %FiSH.prv_key $2) If i take a look in the dll (with dependency walker), i also find the functions FiSH_decrypt_msg und FiSH_encrypt_msg. But both together does not show me, how to use it. could anybody help me? thanks very much.
-
Hey, i tried the code with the OSWINSCK.dll and it works fine (on xp). but it doesnt work with win 7 ... did anyone know why? $runstring = "regsvr32 /s " & @ScriptDir & "\OSWINSCK.dll" $status = _RunDOS($runstring) here the return-value is 5 and the $socket then is 0 ...
-
anything new about this topic? because i had the same problem and don´t get a solution. Maybe this helps us? -> http://support.microsoft.com/?scid=kb%3Ben-us%3B170359&x=11&y=12
-
TCPTimeout does not work or how to abort TCPConnect ...
sc4ry replied to sc4ry's topic in AutoIt General Help and Support
Thanks for your reply. I already use "if @error" ... but that is called after the TCPConnect is fishised (after 20.000 ms), what is much to long. I want to interrupt TCPConnect before finishing, WHEN its longer thant 5000 ms. -
Hello, i have some problems by using TCPConnect. i try to ping an ip + port, which works, but the answertime is really long (>20.000ms). the TCPTimeout is normally set to 100ms, so i understand, if there is no answer within 100ms the TCPConnect should abort, but it does not do that. does anybody know, why? because that is not working, i thought about a way to exit the TCPConnect-Function, but i need help. I add a timer to the script and with the adblib-function i´m able to check, if there is "no reply" in maybe 5000 ms. but how to interrupt now tcpconnect? a little script for that: TCPStartup() $sock = "" $iport = "8888" Dim $Ip[2] $Ip[0] = 1 $Ip[1] = "211.117.64.66" For $i = 1 To $Ip[0] $timer = TimerInit() $sock = TCPConnect($IP[$i], $iPort) If Not @error Then ConsoleWrite("OK " & $ip & @TAB & Round(TimerDiff($timer), 2) & @CRLF) Else ConsoleWrite("Fail " & $ip & @TAB & Round(TimerDiff($timer), 2) & @CRLF) EndIf TCPCloseSocket($sock) Next
-
hey, i found the "mistake" now, it is the while-loop, which "steal" the speed. now i write each ip in a txt and read it via adlib out again ... EDIT: ok, it was not the mistake ... it was mine in the testscripts, because i forgot tcpstartup ... and so i could not receive any answer. and that made my testscript such fast. but when i ping an ip+port ... why the hell i have to wait 20000 ms for an answer oO
-
hello, i have one problem, but i can´t find the mistake nor how to fix it. i have my new tool, which should ping ip adresses ports. therefor i found a "startip, endip to iprange" script by bugfix. because i don´t want to wait until the whole range is generated, i try to add my code to this function, which also works so far. but i mention, that this is really slow and i can´t figure out, why. to constrict, where the "mistake" could be, i try different thins. i included a timer for the ip generation and for the tcpconnect function. that shows, that the ip is really fast generated, but the tcpconnection may takes ca. 20.000 ms. after that i tried to use the Opt("TCPTimeout",100) and if anywhere in the includes is another value for this. nowhere these option was set new nor a lower timeout brings any better result. so i start to copy only the needed function in 2 new scripts. one, where i add some ips in an array and the other i use the normal function of bugfixs ip-range script. both shows, that the tcpconnect-function is really fast AND that the range of ips is also generated very fast. so, where is the problem in my first script, that this is soooooo low??? from the timer its tcpconnect ... from the other script, it seems to handle with the ip-generation and tcpconnect. could anybody find the mistake or can give me some help to speed this up? here are all three scripts, so that you can also see, how slow/fast it is ... MAINSCRIPT #NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Version=beta #AutoIt3Wrapper_icon=..\..\..\Icons\shell32.ico #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <Array.au3> Global $IPStart, $IPEnd Global $fBroadcast = False $IPStart = "211.117.64.66" $IPEnd = "211.117.64.74" If Not _IsIPv4($IPStart) Or Not _IsIPv4($IPEnd) Then Exit $iPort = "8888" If $iPort <= 0 Or $iPort > 65535 Then Exit $sDelim = Opt("GuiDataSeparatorChar") Local $pattern = '(\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' & _ '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b)' If (Not StringRegExp($IPStart, $pattern, 0) Or Not StringRegExp($IPEnd, $pattern, 0)) Then Exit $sock = "" TCPStartup() $timer = TimerInit() Local $var = StringSplit($IPStart, '.') Local $o1 = $var[1], $o2 = $var[2], $o3 = $var[3], $o4 = $var[4] $var = StringSplit($IPEnd, '.') Local $e1 = $var[1], $e2 = $var[2], $e3 = $var[3], $e4 = $var[4] Local $start = 1, $end = 255 If $fBroadcast Then $start = 0 $end = 256 EndIf While $o1 <= $e1 While ($o2 <= $e2) Or ($o1 < $e1) If $o2 = $end Then $o1 += 1 $o2 = $start EndIf While ($o3 <= $e3) Or ($o2 < $e2) Or ($o1 < $e1) If $o3 = $end Then $o2 += 1 $o3 = $start EndIf While True $IP = $o1 & '.' & $o2 & '.' & $o3 & '.' & $o4;TCPNameToIP($IP) MsgBox(0, "generate", $ip & @CRLF & Round(TimerDiff($timer), 2)) $timer2 = TimerInit() $sock = TCPConnect($IP, $iPort) If Not @error Then MsgBox(0, "OK", $ip & @CRLF & Round(TimerDiff($timer2), 2)) Else MsgBox(0, "Fail", $ip & @CRLF & Round(TimerDiff($timer2), 2)) EndIf TCPCloseSocket($sock) $timer = TimerInit() If ($o1 = $e1) And ($o2 = $e2) And ($o3 = $e3) And ($o4 = $e4) Then TCPShutdown() Exit EndIf $o4 += 1 If $o4 = $end Then $o3 += 1 $o4 = $start EndIf WEnd WEnd WEnd WEnd Func _IsIPv4(Const $S_IP) If StringRegExp($S_IP, "\A(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])\z") Then Return (1) Return (SetError(1, 0, 0)) EndFunc ;==>_IsIPv4 TESTSCRIPT 1 $sock = "" $iport = "8888" Dim $Ip[10] $Ip[0] = 9 $Ip[1] = "211.117.64.66" $Ip[2] = "211.117.64.67" $Ip[3] = "211.117.64.68" $Ip[4] = "211.117.64.69" $Ip[5] = "211.117.64.70" $Ip[6] = "211.117.64.71" $Ip[7] = "211.117.64.72" $Ip[8] = "211.117.64.73" $Ip[9] = "211.117.64.74" For $i = 1 To $Ip[0] $timer = TimerInit() $sock = TCPConnect($IP[$i], $iPort) If Not @error Then MsgBox(0, "", $IP[$i] & ":" & $iPort & @CRLF & Round(TimerDiff($timer), 2) & "ms") Else MsgBox(0, "ERROR", $IP[$i] & ":" & $iPort & @CRLF & Round(TimerDiff($timer), 2) & "ms") EndIf TCPCloseSocket($sock) Next TESTSCRIPT 2 $Range = _GenerateIPsInRange("211.117.64.66", "211.117.64.74") $iPort = "8888" For $i = 1 To $Range[0] $IP = $Range[$i] $timer = TimerInit() $sock = TCPConnect($IP, $iPort) If Not @error Then MsgBox(0, "OK", $ip & @CRLF & Round(TimerDiff($timer), 2)) Else MsgBox(0, "Fail", $ip & @CRLF & Round(TimerDiff($timer), 2)) EndIf TCPCloseSocket($sock) Next Func _IsIPv4(Const $S_IP) If StringRegExp($S_IP, "\A(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])\z") Then Return (1) Return (SetError(1, 0, 0)) EndFunc ;==>_IsIPv4 ;------------------------------------------------------------------------------------------------- ; Function _GenerateIPsInRange($IPstart, $IPend, $iRetType=0, $sDelim=Default, $fBroadcast=False) ; Description Erstellt alle möglichen IP's zwischen $IPstart und $IPend ; Parameter $IPstart erste IP im Bereich ; $IPend letzte IP im Bereich ; $iRetType Return-Type 0-Array (Standard), 1-String, trennzeichenbasiert ; $sDelim Trennzeichen bei Stringausgabe, Default= Zeichen von Opt("GuiDataSeparatorChar") ; Return Succes Array 1D (Anzahl in $a[0]) oder String mit allen erstellten IP's ; Failure 0 und set @error 1 : übergebene IP nicht korrekt ; Author BugFix (bugfix@autoit.de) ;---------------------------------------------------------------------------------------------------------------------- Func _GenerateIPsInRange($IPstart, $IPend, $iRetType=0, $sDelim=Default, $fBroadcast=False) If IsKeyword($sDelim) Then $sDelim = Opt("GuiDataSeparatorChar") Local $pattern = '(\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.'& _ '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b)' If ( Not StringRegExp($IPstart, $pattern, 0) Or _ Not StringRegExp($IPend, $pattern, 0) ) Then SetError(1) Return 0 EndIf Local $var = StringSplit($IPstart, '.') Local $o1 = $var[1], $o2 = $var[2], $o3 = $var[3], $o4 = $var[4] $var = StringSplit($IPend, '.') Local $e1 = $var[1], $e2 = $var[2], $e3 = $var[3], $e4 = $var[4] Local $sOut = '', $start = 1, $end = 255 If $fBroadcast Then $start = 0 $end = 256 EndIf While $o1 <= $e1 While ($o2 <= $e2) Or ($o1 < $e1) If $o2 = $end Then $o1 += 1 $o2 = $start EndIf While ($o3 <= $e3) Or ($o2 < $e2) Or ($o1 < $e1) If $o3 = $end Then $o2 += 1 $o3 = $start EndIf While True $sOut &= $o1 &'.'& $o2 &'.'& $o3 &'.'& $o4 & $sDelim If ($o1 = $e1) And ($o2 = $e2) And ($o3 = $e3) And ($o4 = $e4) Then If $iRetType Then Return $sOut Else Return StringSplit(StringTrimRight($sOut, StringLen($sDelim)), $sDelim, 1) EndIf EndIf $o4 += 1 If $o4 = $end Then $o3 += 1 $o4 = $start EndIf WEnd WEnd WEnd WEnd EndFunc ;==>_GenerateIPsInRange
-
hey, nice job. but there must be an error in your verifier. i create an sfv file, deletes some letters from checksums in the sfv-file and let it check. verifier says that everything is fine ... but this can´t be (verifier does not check a file). PS: Found the Error. Its caused in this line: If $sfv_line_split[0] = 2 Then because, what, if a file contains space in the name? than this is > 2 ;-) PPS: my solution: Dim $sfv_line_split[3] $sfv_line_split[2] = StringTrimLeft($sfv_file_list[$a], StringInStr($sfv_file_list[$a], " ", 0, -1)) $sfv_line_split[1] = StringTrimRight($sfv_file_list[$a], StringLen($sfv_line_split[2])+1)