Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Apua Clix:iin ???

NORTHWiND [07.10.2002 14:26:35]

#

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

Antti Laaksonen [07.10.2002 18:19:02]

#

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 FUNCTION

2. 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/23611-qb-kehittyneempi-input-funktio
https://www.ohjelmointiputka.net/koodivinkit/23397-qb-haastaja-input-käskylle

thefox [07.10.2002 18:36:02]

#

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

NORTHWiND [08.10.2002 12:57:04]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta