Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 13-02-2002, 22:45
De@7hSqu@d
De@7hSqu@d is offline
Wie kan mij helpen met een programmatje die ik ff snel in elkaar pruts met notepad en die opsla als een programma ? Het moet een password programma worden die moet worden gestart als Windows wordt geladen. (dan bedoel ik in de MSDOS mode) Iets als .exe of zow...Ik wil graag geen reacties zoals ja ga ff leren programeren of zow...of check deze site....

Thx to ya all...
__________________
Once there was a game It was called Unreal Tournament since that I played it all my time..
Met citaat reageren
Advertentie
Oud 13-02-2002, 22:55
Chimera
Avatar van Chimera
Chimera is offline
FF een programma maken, dat JIJ in notepad in mekaar gaat zetten?

Jaja.
Met citaat reageren
Oud 13-02-2002, 22:56
Verwijderd
Citaat:
Chimera schreef:
FF een programma maken, dat JIJ in notepad in mekaar gaat zetten?

Jaja.
Het script gedeelte en notepad gaat wel samen

maar programmeren - notepad - .exe niet
Met citaat reageren
Oud 14-02-2002, 07:11
Marc S
Marc S is offline
Je kunt onder Windows met Notepad batch-bestanden en vb-scripts schrijven. Onder Linux/*BSD kun je via elke terminal shellscripts maken.

Maar euhm, zulke dingen zijn helemaal niet geschikt voor wachtwoordverificatie
Met citaat reageren
Oud 14-02-2002, 09:13
Doc
Avatar van Doc
Doc is offline
Veel plezier

Code:
stack_segment   segment stack   ; declare stack segment section
        DB 128 dup(?)           ; 128 bytes in size
stack_segment ends              ; end stack segment section

;****************************************************************************

data_segment    segment

PASSWORD db "HN3460"            ; input is convert to UPPERCASE
PASSWORD_LEN equ $ - PASSWORD   ; generic length of PASSWORD

PROMPT_SCR db "ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ"
           db "Û           ALBERTSONS #4402           Û"
           db "Û                                      Û"
           db "Û     ENTER PASSWORD: ±±±±±±           Û"
           db "Û                                      Û"
           db "Û     Authorized Personnel Only !!!    Û"
           db "Û                                      Û"
           db "ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ"
PROMPT_SCR_LEN equ $ - PROMPT_SCR                          

NAME1 db "Albertsons"           ; print repeatly in blue text / black bkgrd
NAME1_LEN equ $ - NAME1         ; generic length of NAME1

ERR_MSG_001 db 13,10,"CODE 001 / FATAL PROGRAM ERROR HAS OCCURRED..."
            db 13,10,"Program has been terminated, "
            db "report error to Meridian Software Co.",13,10
ERR_MSG_001_LEN equ $ - ERR_MSG_001

data_segment ends

;****************************************************************************

code_segment    segment       
assume CS:code_segment,SS:stack_segment,DS:data_segment,ES:Nothing                       

START:                  ; begin program run here

; load data segment     *****************************************************

mov AX,data_segment     ; move data segment address into AX register
mov DS,AX               ; move AX register value to DS register

; clear screen          *****************************************************

mov AX,03h              ; set video mode to 80x25, 16 colors
int 10h                 ; clear screen & set mode using BIOS interrupt

; set cursor position   *****************************************************

mov DH,00h              ; set cursor to line 00
mov DL,00h              ; set cursor to col 00
mov AH,02h              ; set up interrupt to move cursor
int 10h                 ; perform above function using BIOS interrupt

; set text color        *****************************************************

mov  BH,00000000b       ; set video page to zero
mov  BL,00000001b       ; set to blue text / black background 
push BX                 ; save to stack for use later
or SP,SP                ; check stack pointer using OR statement
jz FULL_STACK           ; if stack is full jump out of loop

; main program loop     *****************************************************

MAIN_LOOP:

; write NAME1 to scr    *****************************************************

mov SI,offset NAME1     ; move string varible address to SI pointer
mov CX,NAME1_LEN        ; move length of string to CX register
LOOP_1:                 ; start printing loop
pop BX                  ; retreive color value from the stack
push CX                 ; save CX register valve to the stack
or SP,SP                ; check stack pointer using OR statement
jz FULL_STACK           ; if stack is full jump out of loop
mov AH,09h              ; write character to screen               
mov AL,[SI]             ; write first character
mov CX,1                ; set for 1 character to print
int 10h                 ; perform BIOS call
inc SI                  ; move pointer to next character
call MOV_CURSOR         ; checks for end of page and moves cursor
pop CX                  ; retreive loop count from the stack
push BX                 ; save the text color to the stack
or SP,SP                ; check stack pointer using OR statement
jz FULL_STACK           ; if stack is full jump out of loop
loop LOOP_1

; adv cursor by two     *****************************************************

mov  AH,03h             ; set up for BIOS call, returns DL/DH = col/row
mov  BH,00h             ; set video page to zero
int 10h                 ; get cursor position thru BIOS call
add DL,2                ; increment col position by 2  
cmp DL,80               ; check for writing off page
jl OK                   ; if not goto OK:
mov  DL,0               ; else set col to zero
add DH,1                ; and add 1 to line ct
OK:  
cmp DH,24               ; check line ct
jg END_LOOP             ; if screen is filled jump out of loop to END_RUN
mov AH,02h              ; set up to move cursor
mov BH,00h              ; set video page to zero
int 10h                 ; perform cursor move thru BIOS call
mov CX,02h              ; make loop never ending (until conditional jump)
loop MAIN_LOOP

END_LOOP:               ; clean up program and stop run

; move cursor to starting position of prompt window *************************

mov DL,20               ; set cursor to col 20
mov DH,7                ; set cursor to row 7 
mov BH,0                ; set video to page zero
mov AH,02h              ; set function to move cursor   
int 10h                 ; perform BIOS interrupt

; print prompt window to screen *********************************************

mov SI,offset PROMPT_SCR        ; load address of PROMPT_SCR into SI
mov CX,PROMPT_SCR_LEN           ; load size of string into CX                
PROMPT_LOOP:
mov AL,DS:[SI]          ; mov character into AL register                  
push CX                 ; save loop ct            
or SP,SP                ; check stack pointer using OR statement
jz FULL_STACK           ; if stack is full jump out of loop
mov CX,1                ; set char ct to 1             
mov BL,00010111b        ; blue background, white text      
mov AH,09H              ; set up for BIOS call                      
int 10H                 ; perform BIOS interrupt         
cmp DL,59               ; compare col position to 59
jl NEXT                 ; jump if less then 59
mov DL,19               ; otherwise reset col to 19
inc DH                  ; increment row by one (LF)
NEXT:
inc DL                  ; add 1 to col position  
mov AH,02H              ; set up to move cursor      
int 10H                 ; perform BIOS interrupt         
inc SI                  ; add 1 to pointer               
pop CX                  ; get loop ct from stack      
loop PROMPT_LOOP        ; dec ct & check for zero  

jmp OVER                ; jump to OVER label
FULL_STACK:             ; label placeed within reach of ALL calls
call STACK_ERR          ; jump to error rtn
jmp TERMINATE           ; end program run due to error in stack

START_AGAIN:            ; start here if incorrect password entered
call DO_AGAIN           ; reset prompt characters to ±
OVER:

; move cursor to PASSWORD input location ************************************
     
mov DL,42               ; set cursor to col 42
mov DH,10               ; set cursor to row 10
mov BH,0                ; set video to page zero
mov AH,02h              ; set function to move cursor  
int 10h                 ; perform BIOS interrupt

; get PASSWORD from keyboard input ******************************************

mov CX,PASSWORD_LEN     ; load CX register for ? loops / inputs
INPUT_LOOP:
push CX
or SP,SP                ; check stack pointer using OR statement
jz FULL_STACK           ; if stack is full jump out of loop
mov AH,08h              ; set up for keyboard input using DOS 
int 21h                 ; perform DOS interrupt
cmp AL,01100001b        ; test input for lowercase letter 'a' or >
jl NUMERIC              ; if less then 01100001 ('a') jump convert
and AL,11011111b        ; convert to UPPER case using truth tables  
NUMERIC:
pop CX                  ; pop value into CX to push AX value
push AX                 ; push AX value onto the stack
or SP,SP                ; check stack pointer using OR statement
jz FULL_STACK           ; if stack is full jump out of loop
push CX                 ; save loop count on stack
or SP,SP                ; check stack pointer using OR statement
jz FULL_STACK           ; if stack is full jump out of loop
mov AH,09h              ; set up write character function
mov BH,0                ; set video page to zero
mov AL,"*"              ; character to print to screen
mov CX,1                ; print character once
int 10h                 ; perform BIOS interrupt
mov AH,03h              ; set up to read current cursor postion
int 10                  ; perform BIOS interrupt
inc DL                  ; increment col by one
mov AH,02h              ; set up to move cursor 
int 10h                 ; perform BIOS interrupt
pop CX                  ; get loop count off of the stack
loop INPUT_LOOP

;test password          *****************************************************

lea BX,PASSWORD         ; load effective address of PASSWORD 
mov CX,PASSWORD_LEN     ; load size of PASSWORD into CX register
add BX,PASSWORD_LEN - 1 ; set BX to read last char first
TEST_LOOP:
pop AX                  ; retreive last keyboard input from stack (LIFO)
push CX                 ; save loop ct to the stack
or SP,SP                ; check stack pointer using OR statement
jz FULL_STACK           ; if stack is full jump out of loop
mov AH,[BX]             ; move PASSWORD char to AH for testing purposes
cmp AL,AH               ; compare the two characters
je GOOD                 ; jump over BAD RTN if characters are the same    

BAD_RTN:                ; just a label for now...
mov AH,02h              ; set up for BEEP
mov DL,07h              ; move BEEP char to register
int 21h                 ; perform BEEP using DOS interrupt        
pop CX                  ; get loop ct from the stack
push AX                 ; put AX on the stack to make the POP_LOOP correct
POP_LOOP:
pop AX                  ; pop the rest of the password of the stack
loop POP_LOOP
jmp START_AGAIN         ; loop back to START_AGAIN label if password is bad
                      
GOOD:
dec BX                  ; move pointer to next character to be tested
pop CX                  ; get loop ct from the stack
loop TEST_LOOP

jmp END_PASSWORD_RTN
;****************************************************************************
;                               SUBROUTINES                                 *
;****************************************************************************

MOV_CURSOR PROC         
mov  AH,03h             ; set up for BIOS call, returns DL/DH = col/row
mov  BH,00h             ; set video page to zero
int 10h                 ; get cursor position thru BIOS call
add DL,1                ; advance cursor one space
cmp DL,80               ; compare for page overflow
jl NO_LINE_ADV          ; if OK goto NO_LINE_ADV
mov DL,0                ; else set col to zero, add 1 to line ct
add DH,1                ; add 1 to line ct
NO_LINE_ADV:
mov AH,02h              ; set up to move cursor
mov BH,00h              ; set video page to zero
int 10h                 ; perform cursor move thru BIOS call
ret
MOV_CURSOR ENDP

;****************************************************************************

STACK_ERR PROC              
mov AX,03h              ; set video mode to 80x25, 16 colors
int 10h                 ; clear screen & set mode using BIOS interrupt
mov DX,00h              ; set cursor to line 00/00
mov AH,02h              ; set up interrupt to move cursor
int 10h                 ; perform above function using BIOS interrupt
lea BX,ERR_MSG_001      ; load effective address of ERR_MSG_001
mov CX,ERR_MSG_001_LEN  ; move ct to CX register to control looping
mov AH,02h              ; set up for DOS print to screen function
LOOP2:
mov DL,[BX]             ; move char to DL register
int 21h                 ; perform DOS interrupt
inc BX                  ; move pointer by 1
loop LOOP2
ret
STACK_ERR ENDP    

;****************************************************************************

DO_AGAIN PROC           ; print character "±" to password input area !!!!
mov DL,42               ; set cursor to col 42
mov DH,10               ; set cursor to row 10
mov BH,0                ; set video to page zero
mov AH,02h              ; set function to move cursor  
int 10h                 ; perform BIOS interrupt
mov SI,offset PROMPT_SCR; load address of PROMPT_SCR into SI
add SI,142              ; move pointer to first ± character
mov CX,PASSWORD_LEN     ; load size of PASSWORD INTO CX register     
DO_AGAIN_LOOP:
mov AL,DS:[SI]          ; mov character into AL register                  
push CX                 ; save loop ct            
mov CX,1                ; set char ct to 1             
mov BL,00010111b        ; blue background, white text      
mov AH,09H              ; set up for BIOS call                      
int 10H                 ; perform BIOS interrupt         
inc DL                  ; add 1 to col position  
mov AH,02H              ; set up to move cursor      
int 10H                 ; perform BIOS interrupt         
inc SI                  ; add 1 to pointer               
pop CX                  ; get loop ct from stack      
loop DO_AGAIN_LOOP      ; dec ct & check for zero  
ret                     ; return to calling address
DO_AGAIN ENDP

;****************************************************************************
;*                             TERMINATE                                    *
;****************************************************************************

END_PASSWORD_RTN:

; reset video mode and clear screen *****************************************

mov AX,03h              ; 80 x 25, 16 color text mode
int 10h

TERMINATE:

mov AH,4Ch              ; setup DOS to terminate program correctly.
int 21h                 ; perform terminate procedure.


code_segment ends       ; end code segment
end START               ; end program run

;****************************************************************************
;*END OF SOURCE CODE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*
;****************************************************************************


--------------------------------------------------------------------------------
Dit moet je gewoon ff in een ASM compiler gooien...aanpassen naar eigen inzicht...probeer ook eens te schrijven naar int13

Of...toch maar een simpel bios password...
__________________
Ik ontken met kracht dat ik erkenning geef aan mensen die onkennen te erkennen onkennend miskend te zijn...:p
Met citaat reageren
Oud 14-02-2002, 10:17
lupus
lupus is offline
schrijven naar int13

niet lief

wat heeft macro-assembly te maken met scripts?


[Dit bericht is aangepast door lupus (14-02-2002).]
__________________
~ what the eye sees, it believes ~
Met citaat reageren
Oud 14-02-2002, 10:38
Doc
Avatar van Doc
Doc is offline
Citaat:
lupus schreef:
schrijven naar int13

niet lief
Niet lief nee, maar wel grappig
Kun je je HD mooi mee uitschakelen
Citaat:
lupus schreef:

wat heeft macro-assembly te maken met scripts?
Als je het over een executeable file, hebt dan is een scriptje niet voldoende, gezien het feit je het dan over een batch file hebt...
__________________
Ik ontken met kracht dat ik erkenning geef aan mensen die onkennen te erkennen onkennend miskend te zijn...:p
Met citaat reageren
Oud 14-02-2002, 10:51
lupus
lupus is offline
Citaat:
Doc schreef:
Als je het over een executeable file, hebt dan is een scriptje niet voldoende, gezien het feit je het dan over een batch file hebt...
Dan kan je net zo goed een gratis c compiler downen en iets simpels programmeren... is iig beter te begrijpen dan asm

http://www.cs.virginia.edu/~lcc-win32/

---

#include <stdio.h>
#include <string.h>

#define PASS "blabla"
#define MAX 256

main()
{
int ok = 0;
char s[MAX];

while(ok == 0)
{
printf("Wachtwoord: ");
scanf("%s", s);
if(strcmp(s, PASS) == 0) ok = 1;
}

return 0;
}

---

Het werkt, zolang je geen Ctrl+C gebruikt tenminste


[Dit bericht is aangepast door lupus (14-02-2002).]
__________________
~ what the eye sees, it believes ~
Met citaat reageren
Oud 14-02-2002, 12:08
pietje63
Avatar van pietje63
pietje63 is offline
gewoon bios wachtwoord
dit soort dingen kun je veel te makkelijk omzeilen (ik noem dos/veilige modus, programma verwijderen en opnieuw opstarten, of via diskette opstarten, programma verwijderen en gewoon opstarten)
__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Oud 14-02-2002, 12:12
lupus
lupus is offline
Citaat:
pietje63 schreef:
gewoon bios wachtwoord
dit soort dingen kun je veel te makkelijk omzeilen (ik noem dos/veilige modus, programma verwijderen en opnieuw opstarten, of via diskette opstarten, programma verwijderen en gewoon opstarten)
of gewoon F5 indrukken
__________________
~ what the eye sees, it believes ~
Met citaat reageren
Oud 14-02-2002, 13:58
De@7hSqu@d
De@7hSqu@d is offline
Citaat:
pietje63 schreef:
gewoon bios wachtwoord
dit soort dingen kun je veel te makkelijk omzeilen (ik noem dos/veilige modus, programma verwijderen en opnieuw opstarten, of via diskette opstarten, programma verwijderen en gewoon opstarten)

nee duh, maar dat weet mn broertje niet
__________________
Once there was a game It was called Unreal Tournament since that I played it all my time..
Met citaat reageren
Oud 14-02-2002, 15:26
pietje63
Avatar van pietje63
pietje63 is offline
Citaat:
lupus schreef:
of gewoon F5 indrukken
is veilige modus

__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Oud 14-02-2002, 16:04
Verwijderd
Bios pasword kan niet altijd...
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware Script voor berekeningen
Diamera
5 11-02-2012 18:13
De Kantine Script schrijven i.v.m. profielwerkstuk
Ambivalence
6 10-09-2004 12:10
Software & Hardware [PHP] thesis/eindwerk script
Earphone
2 17-06-2004 12:45
Software & Hardware Perl CGI script time-out?
Preaper
11 30-03-2003 20:01
Software & Hardware [PHP] Edit script
chatfreak2002
42 13-08-2002 08:59
Software & Hardware Probleempje met m'n ADSL
Doc
16 20-02-2002 15:33


Alle tijden zijn GMT +1. Het is nu 10:21.