Greetz Big-R
[ Voor 43% gewijzigd door Herby op 15-12-2005 08:46 ]
Compromis? Hoezo heb ik het mis dan?! | Geluk = gelul met een K | з=(•̪●)=ε
1
| @echo off |
Any sufficiently advanced technology is indistinguishable from magic.
Als je dat wil dan kom je terecht bj vbScript ofzo.
Je kan het wel semi-verbergen.
Dit is wel een Kixtart script.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| ; *************** BEGIN KIX SCRIPT *************** dim $sUserID ; account name dim $sPwd ; password for account in $sUserID ? "Please enter your user name: " gets $sUserID ? "Please enter your password: " color n/n gets $sPwd color w/n setl "cmduser=$sUserID" setl "cmdpwd=$sPwd" shell "batchfile.cmd" ; *************** END KIX SCRIPT *************** |
1
2
3
4
5
6
7
8
9
| REM ************* BEGIN BATCHFILE.CMD ************* REM This is only an example. Displaying cmdpwd in plain text doesn't make sense in a real environment... ;-) echo You have entered the following data in the previous kix script: echo User name=[%cmduser%] echo Password=[%cmdpwd%] pause REM In the last line you should overwrite the plaint text password in the variable cmdpwd set cmdpwd=******* REM ************* END BATCHFILE.CMD ************* |
Als je dit wat aanpast naar jouw situatie moet het wel te doen zijn.
[ Voor 111% gewijzigd door DinX op 15-12-2005 08:53 ]
Marokko 2015: Route
Sat Tracker: SpotWalla
Blog: Gone for a ride
Compromis? Hoezo heb ik het mis dan?! | Geluk = gelul met een K | з=(•̪●)=ε
Wat ik heb:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| @echo off :login set choice= set /p choice=Please login: if '%choice%'=='Big-R' goto user ECHO. ECHO "%choice%" Username incorrect. goto login :user set choice= set /p choice=password: IF '%choice%'=='test' goto password Echo. echo "%choice%" Wrong password. pause ECHO. goto user :password Echo Done... pause |
Na "done" kan ik dan een andere goto zetten...
Color 00 werkt ook niet (zwarte achtergrond/tekst)
Greetz Big-R
Verwijderd
hmm, choice had ik idd nog niet aan gedacht
/nog een edit
compile je .bat wel naar .exe omdat het anders totaal geen nut heeft omdat je de bat toch gewoon kan lezen met kladblok.
het moet te doen zijn hoor.
probeer het volgende (kan zo uit mijn hoofd niet de exacte code zeggen maar ff een stappenplan)
@echo off
echo Type je wachtwoord:
pause >NUL
hierna komt het moeilijkere deel. je moet nu met variabelen gaan werken. zodra hij de eerste letter typt laat je hem dat opslaan in een variabele, de 2de letter in de volgende etc.
ik heb dit een keer gedaan (een vergelijkbaar iets) maar ik weet ff niet meer waar ik dat heb opgeslagen dus ik kan je de code niet copy/pasten maar het is iets van
set $1=A
pause >NUL
set $1=B
etc
nu komt er wel een max. aantal tekens aan de lengte van je wachtwoord aangezien na een tijdje je variabele op zijn.
het handigste is dan ook als je iets bijzet van "if <variabele>=# goto EINDE"
en :EINDE dan NA alle variabele zetten
de user zal dan dus nadat hij zijn wachtwoord heeft getypt een # moeten typen
dus stel mijn wachtwoord is ab12 dan moet ik "ab12#" typen.
[ Voor 15% gewijzigd door Verwijderd op 15-12-2005 09:20 ]
Met plain batch gaat dit waarschijnlijk niet lukken, of het moet op een dusdanig omslachtige manier dat het simpelweg gebruiken van thirdparty software een betere optie is.
[ Voor 38% gewijzigd door Rone op 15-12-2005 09:18 ]
PC1: 9800X3D + RX 9070 XT
PC2: 5800X3D + RTX 3080
Sowieso kun je een while-loopje creeren welke loopt zolang de enter key niet is ontvangen. Je vraagt telkens 1 key op, en doet dan een CLS om deze van het scherm te wissen. Als je even de ASCII code voor backspace opzoekt kun je ook alleen dit karakter wissen, en er bijv een sterretje voor in de plaats echoen.
frickY schreef op donderdag 15 december 2005 @ 09:20:
[...]
Als je even de ASCII code voor backspace opzoekt
| Dec | Hex | Oct |
| 8 | 8 | 10 |
Als je toch al met CLS aan de gang gaat kun je het net zo goed zo doen:kun je ook alleen dit karakter wissen, en er bijv een sterretje voor in de plaats echoen.
1
2
3
4
5
6
7
| echo Enter password: _ <wacht op key invoer> cls echo Enter password: *_ <wacht op key invoer> cls echo Enter password: **_ |
Trouwens, als je me even mailt wil ik ook wel een simpele .exe voor je schrijven in Pascal
[ Voor 3% gewijzigd door Rone op 15-12-2005 09:29 ]
PC1: 9800X3D + RX 9070 XT
PC2: 5800X3D + RTX 3080
Verwijderd
leuk bedacht maar met alleen cmdline niet mogelijk.Als je toch al met CLS aan de gang gaat kun je het net zo goed zo doen:
code:
1 2 3 4 5 6 7 echo Enter password: _ <wacht op key invoer> cls echo Enter password: *_ <wacht op key invoer> cls echo Enter password: **_
set /p test=
echo Enter password: _
cls
echo Enter password: *_
cls
dit geeft op je beeld scherm eerst je pw en dan pas na een enter de rest. Je zal toch echt naar een 3rd party tool toe moeten.
@ j0ri , Naar exe doe ik ook. Jou manier werkt inderdaad, maar als ik dan enter, krijg ik of niets te zien of hij stopt.
@ r00n , het is de bedoeling dat het in elk willekeurige XP bak kan runnen.Dus een 3rd party prog is niet de optie , tenzei het werkt.
@ frickY , Dan zie je toch nog (hetzei kort) de tekens op het scherm
@ r00n , zie hier boven. Ik mail je niet, want dan leer ik niets.
@ iis5_rulez , Ook het zelfde, je ziet de tekens toch verschijnen.
@ elevator , Microsoft® Windows® Xp®
Thanks voor de reacties
[ Voor 5% gewijzigd door Big-R op 15-12-2005 14:50 ]
Greetz Big-R
Als ik bij regel 20 set choice= doe krijg ik "" wordt niet herkend als interne of externe opdracht, programma of batchbestand.
Als ik bij regel 20 set choice=test doe krijg ik met elke willekeurige knop het wel voor elkaar.
Mijn vraag is dan , hoe verander je die willekeurige knop naar bv test?
Misschien staat het hierboven al, maar ik kom er niet uit.
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
| @echo off :login set choice= set /p choice=Please login: if '%choice%'=='Big-R' goto Big-R ECHO. ECHO "%choice%" Username incorrect. goto login :Big-R @echo off set choice= :p cls echo Enter password: _ pause cls goto ps :ps echo Enter password: *_ pause cls goto ps2 :ps2 echo Enter password: **_ pause cls goto ps3 :ps3 echo Enter password: ***_ pause cls goto ps4 :ps4 echo Enter password: ****_ pause cls IF '%choice%'=='test' goto password Echo. echo "%choice%" Wrong password. pause ECHO. goto Big-R :password cls Echo Done... pause cls |
//edit: echo bijgevoegd @ regel 62
[ Voor 18% gewijzigd door Big-R op 15-12-2005 20:38 ]
Greetz Big-R
En asci wordt niet gezien als een interne of externe opdracht , programma of batchbestand. (?)
Misschien doe ik het fout?
Greetz Big-R
die "" slaat ook op dat er niets in de variabele %choice% zit, dit waarschijnlijk omdat de input wordt opgeslokt door de pause command iederekeer.
/edit: even wat info over de pause
ABOUT PAUSE
The pause command is used within a computer batch file and allows the computer to pause the currently running batch file until the user presses any key.
[ Voor 42% gewijzigd door DanielG op 15-12-2005 20:25 . Reden: info over pause ]
http://xyproblem.info/
Edit gelezen, ja precies, hij vult dus niets in...
Hoe krijg ik 'm dan wel dat ik iets kan invullen?
met
1
2
3
| set $1=[t] set $2=[e] set $3=[s] |
?
Greetz Big-R
http://xyproblem.info/
Nee, ben blij dat ik dit een klein beetje begin te snappen...
En als hij klaar met inloggen is, moet hij verdergaan met een batch file.
Greetz Big-R
Verwijderd
Hier maak ik programma's mee als ik iets niet voor elkaar krijg zonder veel moeite. DOS is eigenlijk niet hier voor gebouwd, en als je het toch gaat omzetten dan kan je beter Basic gebruiken, of Pascal.
Maargoed daarvoor kan ik je het beste verwijzen naar de o-zo-bekende http://www.qbasic.com
Zie de "old site - mirror", daar staan veel files, oa password checks. Vrij simpel iig.
[ Voor 13% gewijzigd door Verwijderd op 15-12-2005 21:04 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
| @echo off Title Login :login set choice= set /p choice=Please login: if '%choice%'=='Big-R' goto Big-R ECHO. ECHO "%choice%" Username incorrect. goto login :Big-R SET REAL_PASS=test SET REAL_LENGTH=**** <---- moeten evenlang echo e100 B4 00 CD 16 88 E0 B4 4C CD 21> %temp%.\scan.com for %%? in (rcx A w q) do echo %%?>> %temp%.\scan.com type %temp%.\scan.com |DEBUG %temp%.\scan.com > nul :pre for %%? in (pass length) do set user_%%?= :loop set input= cls echo Type password: %user_length% if "%user_pass%"=="%real_pass%" goto granted if "%user_length%"=="%real_length%" goto denied call %temp%.\scan.com if errorlevel=2 if not errorlevel=3 set input=1 if errorlevel=3 if not errorlevel=4 set input=2 if errorlevel=4 if not errorlevel=5 set input=3 if errorlevel=5 if not errorlevel=6 set input=4 if errorlevel=6 if not errorlevel=7 set input=5 if errorlevel=7 if not errorlevel=8 set input=6 if errorlevel=8 if not errorlevel=9 set input=7 if errorlevel=9 if not errorlevel=10 set input=8 if errorlevel=10 if not errorlevel=11 set input=9 if errorlevel=11 if not errorlevel=12 set input=0 if errorlevel=30 if not errorlevel=31 set input=a if errorlevel=48 if not errorlevel=49 set input=b if errorlevel=46 if not errorlevel=47 set input=c if errorlevel=32 if not errorlevel=33 set input=d if errorlevel=18 if not errorlevel=19 set input=e if errorlevel=33 if not errorlevel=34 set input=f if errorlevel=34 if not errorlevel=35 set input=g if errorlevel=35 if not errorlevel=36 set input=h if errorlevel=23 if not errorlevel=24 set input=i if errorlevel=36 if not errorlevel=37 set input=j if errorlevel=37 if not errorlevel=38 set input=k if errorlevel=38 if not errorlevel=39 set input=l if errorlevel=50 if not errorlevel=51 set input=m if errorlevel=49 if not errorlevel=50 set input=n if errorlevel=24 if not errorlevel=25 set input=o if errorlevel=25 if not errorlevel=26 set input=p if errorlevel=16 if not errorlevel=17 set input=q if errorlevel=19 if not errorlevel=20 set input=r if errorlevel=31 if not errorlevel=32 set input=s if errorlevel=20 if not errorlevel=21 set input=t if errorlevel=22 if not errorlevel=23 set input=u if errorlevel=47 if not errorlevel=48 set input=v if errorlevel=17 if not errorlevel=18 set input=w if errorlevel=45 if not errorlevel=46 set input=x if errorlevel=21 if not errorlevel=22 set input=y if errorlevel=44 if not errorlevel=45 set input=z if errorlevel=71 if not errorlevel=72 set input=7 if errorlevel=72 if not errorlevel=73 set input=8 if errorlevel=73 if not errorlevel=74 set input=9 if errorlevel=75 if not errorlevel=76 set input=4 if errorlevel=76 if not errorlevel=77 set input=5 if errorlevel=77 if not errorlevel=78 set input=6 if errorlevel=79 if not errorlevel=80 set input=1 if errorlevel=80 if not errorlevel=81 set input=2 if errorlevel=81 if not errorlevel=82 set input=3 if errorlevel=82 if not errorlevel=83 set input=0 if "%input%"=="" goto loop set user_length=*%user_length% set user_pass=%user_pass%%input% goto loop :granted echo Access granted. goto pass_end :denied echo Access denied. goto pass_end2 :pass_end for %%? in (pass length) do set user_%%?= for %%? in (pass length) do set real_%%?= del %temp%.\scan.com goto start <--- is de start van de volgende batch. Staat er niet bij... :pass_end2 for %%? in (pass length) do set user_%%?= for %%? in (pass length) do set real_%%?= del %temp%.\scan.com echo Wrong password! pause exit |
Voor de mensen die het ook zoeken!
Allemaal bedankt voor jullie moeite!
Greetz Big-R
Verwijderd
[ Voor 22% gewijzigd door Verwijderd op 16-12-2005 10:41 ]
Er wordt een .EXE van gemaakt wat het (bijna) onmogelijk maakt de "bron" te lezen. of bedoel je dat niet?Verwijderd schreef op vrijdag 16 december 2005 @ 10:38:
al die moeite om je pw op het scherm te verbergen, maar het cmd-tje openen en eerst ff de pass lezen is wel gewoon mogelijk. wel cool dat het kan, maar van weinig praktische waarde imho...
//Edit: (bijna toegevoed)
[ Voor 7% gewijzigd door Big-R op 16-12-2005 15:51 ]
Greetz Big-R
http://xyproblem.info/