Juuh eli minäkin värkkään omaa pientä ohjelmaa dossiin ja tartttisin apua tälläseen CLIx (command line interface x) a.k.a "BugOS":
1) salasanan "****" peite ja luku sydeemi??
(toimiva eikä sellainen jonka salasanan voi lukea kun aukaisee notepadilla esim clix.exe:n ja selaa kaikkien ascii merkkien joukosta tarpeeksi kauan ja sieltähän paljastuu osio jossa suoraa
lukee passwd: "terveheippajamitävaan"!
2) pitkien tiedostonimien tuki? onko mahdollista?
3) toimiva esto ettei ohjelma käynnisty kun dos tilassa?
4) ja lopuksi... miten saan kellon toimimaan reaali ajassa ruudun ylälaidassa, vaikka kone odottaa inputin kautta komentoa?
kiitos jo etukäteen jos joku voi auttaa...
t:NORTHWiND
1. Seuraavassa on aliohjelmapari, joka kryptaa salasanan ja kysyy sitä. Ensin kryptataan siis TeeSalasana-funktiolla salasana, ja sitten kryptattu muoto laitetaan EXE:en TarkistaSalasana-funktion kanssa. Kryptaus on todella yksinkertainen, (255-ASCII-numero), mutta ei sitä silti EXE-tiedostosta löydy.
CLS
ss$ = TeeSalasana("testi")
IF TarkistaSalasana(ss$) THEN
PRINT "Salasana oikein!"
ELSE
PRINT "Salasana väärin!"
END IF
FUNCTION TarkistaSalasana% (ss$)
DO
a$ = INKEY$
SELECT CASE a$
CASE "a" TO "z", "A" TO "Z", "0" TO "9"
y$ = y$ + a$
PRINT "*";
CASE CHR$(8)
LOCATE CSRLIN, LEN(y$)
PRINT " ";
LOCATE CSRLIN, LEN(y$)
y$ = LEFT$(y$, LEN(y$) - 1)
CASE CHR$(13)
EXIT DO
END SELECT
LOOP
TarkistaSalasana = 0
IF LEN(y$) <> LEN(ss$) THEN
EXIT FUNCTION
END IF
FOR i = 1 TO LEN(y$)
IF CHR$(255 - ASC(MID$(y$, i, 1))) <> MID$(ss$, i, 1) THEN
EXIT FUNCTION
END IF
NEXT
TarkistaSalasana = 1
END FUNCTION
FUNCTION TeeSalasana$ (mj$)
FOR i = 1 TO LEN(mj$)
pa$ = pa$ + CHR$(255 - ASC(MID$(mj$, i, 1)))
NEXT
TeeSalasana$ = pa$
END FUNCTION2. On ehkä teoriassa mahdollista, mutta koska ohjelma tulee vain DOS:ille, en näe siihen tarvetta. Pitkät tiedostonimet näkyvät sitten Pitkä ohjelmanimi.exe -> PITKAO~1.EXE, mutta toimivat kuitenkin.
3. Bootsector neuvoo estämään Windows-käytön kirjoittamalla OUT 8, 8 ohjelman alkuun. En ole kokeillut, toimiiko tämä.
4. Inputin kanssa tämä ei oikein onnistu. Mutta seuraavia koodivinkkejä muokkaamalla se on kyllä mahdollista:
https://www.ohjelmointiputka.net/koodivinkit/
https://www.ohjelmointiputka.net/koodivinkit/
3. Onko sinulla joku hyvä syy miksi ohjelmaa ei saisi käynnistää Windowsissa? On meinaan melko ärsyttäviä tuollaiset turhat "ominaisuudet".
4. Tai sitten hookkaat timer-keskeytyksen ja silloin tunget sitä kelloa sinne.. ;p
lainaus:
3. Onko sinulla joku hyvä syy miksi ohjelmaa ei saisi käynnistää Windowsissa? On meinaan melko ärsyttäviä tuollaiset turhat "ominaisuudet".
4. Tai sitten hookkaat timer-keskeytyksen ja silloin tunget sitä kelloa sinne.. ;p
Juuh on mulla wintoosaa vastaan ja paljonki =)) mut ku mul ois vaan tarkotus saada dossista kaikki irti.
Aihe on jo aika vanha, joten et voi enää vastata siihen.