- Szabadulnak a kínai eszközöktől az amerikai szolgáltatók, de ez sokba kerül
- Irányíthat-e atomfegyvereket az AI?
- 5 év alatt 100 milliárd dollárt költött fejlesztésre az Apple, az AI a következő
- Az Insta360 ellen fordítja a hatóságokat a GoPro
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- Kék halál (BSOD)
- Szabadulnak a kínai eszközöktől az amerikai szolgáltatók, de ez sokba kerül
- Irányíthat-e atomfegyvereket az AI?
- Jelszókezelők
- Netflix
- Mozilla Firefox
- macOS PC-re
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Direct One (műholdas és online TV)
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
-
IT café
Új hozzászólás Aktív témák
-
Rover623
félisten
Ha parázol hogy lebux, használd ezt:
{ez a rutin a
Str szövegben megadott számot a
Base számrendszer (max. 16-os) szerint megpróbalja számmá alakitani.
Ha a string érvénytelen karaktert is tartalmaz, akkor Code = -1 és a visszaadott érték a hibát okozó karakter poziciója }
Const
_Nums : Array [0..16] Of Char = '0123456789ABCDEF'#0;
Function StrToNum (Str: PChar; Base : Word; Var Code: Integer): LongInt;
Var
I : Word; {mindenfélére...pl. ciklusváltozónak is jó lesz}
Mul, {az aktuális szorzó}
Work : LongInt; {ebben gyűlik a végeredmény}
Pozicio : PChar;
Begin
Code := 0; {legyünk optimisták...nincs hiba}
Work := 0; {0-ról indul az eredmény}
I := StrLen (Str); {milyen hosszú a szöveg?}
If (I > 0) Then Begin
{ha legalább egy karakter van a szövegben, akkor hajrá!}
Mul := 1; {a híres-neves nulladik hatvány}
StrUpper (Str); {nagybetűsítünk}
Dec(I); {merthogy a PChar 0-tól indexelődik}
For I := I Downto 0 Do Begin {végigmászunk a karaktereken}
Pozicio := StrScan (_Nums, Str [ i ] ); {beazonosítjuk a bütüt}
If (Pozicio = Nil) Then Begin
{ha nincs az engedélyezett karakterek között, akkor hiba van!}
Code := - 1;
StrToNum := I;
Exit; {hibával kilépünk}
End;{if}
{$IFOPT Q+}
{$DEFINE OVER}
{$Q-}
{$ENDIF}
Inc (Work, Mul * (Pozicio - _Nums) );{megnöveljük az eredményt}
Mul := Mul * Base;{ hatványozunk :) }
{$IFDEF OVER}
{$Q+}
{$UNDEF OVER}
{$ENDIF}
End; { For }
End; {ha volt valami a Str-ben}
StrToNum := Work;{nyilvánossá tesszük a végeredményt}
End; { StrToNum }
{a leggyakoribb függények, az általános rutint hívják meg}
Function HexaVal (HexaString: PChar; Var Code: Integer): LongInt;
Begin
HexaVal := StrToNum (HexaString, 16, Code);
End; { HexaVal }
Function BinaryVal (BinaryString: PChar; Var Code: Integer): LongInt;
Begin
BinaryVal := StrToNum (BinaryString, 2, Code);
End; { BinaryVal }
Function DecimalVal (DecimalString: PChar; Var Code: Integer): LongInt;
Begin
DecimalVal := StrToNum (DecimalString, 10, Code);
End; { DecimalVal }
Mivel rengeteg programozó van a világon, nem állítom hogy más nem oldotta meg hasonlóképpen, de vmivel kisebb az esélye...
[Szerkesztve]primus inter pares
-
Rover623
félisten
De legalább olvasmányos...
Most jövök rá, hogy nem teljes a hibakezelésem...
Ha a szöveg tartalmaz az adott számrendszerben nem használható karaktert, akkor is számol vele...
Hiába...bolondbiztos kód nincsen...ha meg mégis, ott a régi igazság: ha írsz egy progit amit akár egy bolond is tud használni, biztos hogy csak bolondok fogják használni...
[Szerkesztve]primus inter pares
-
Rover623
félisten
Már mondtam: lószart írtál te olyat...
1. 25 éve programozok...ha megkérdeznek, írtam-e x. vagy y. progit/szubrutint/stb, a mai napig meg tudom mondani hogy igen vagy sem...és azt is hogy milyen nyelven írtam...az elvével együtt...
2. a BIOS-t tutira nem mentetted le...az egy kezemen meg tudom számolni, hány ember fért hozzá a BIOS-hoz DOS alatt...a világon! És még ők sem mindegyikhez...
3. a BIOS-t hiába mentetted le, abból ugyan nem törölted a jelszót, mert semmi köze hozzá! A CMOS memóriában van tárolva, kódolva...gyártónként más helyen, más hosszban, más kódolással.
A CMOS-ból a jelszóvédelem törlése amúgy "egyszerű" dolog...csak be kell azonosítani a BIOS jellegét és tudni kell, melyik flag-et kell törölni...általában egyetlen bitet kell arréblökni...csak tudni kell melyiket.
Egy egyszerű törlőprogi főprogramja pld. így nézett ki...pont 10 évvel ezelőtt, tehát akkor amikor állítólag te is ilyet írtál...Program ClrPswd;
{$M 8192,16384,65536}
Uses
CRT,
CMOS,
CMOSUtil,
Azonosit;Const
CopyRight = 'BIOS (AMI/AWARD/PS2/PHOENIX) password cleaner V1.02 Agis(C) 1997';Var
Helye,
Maszk : Byte;
BeginHighVideo;
WriteLn (Copyright);
LowVideo;
WriteLn;Helye := 0;
Case BIOSTyp Of
bAwardOld.. { a teljesen régi ‚és a 4.50 }
{bAward,} { 4.50G }
bAwardNew: { 4.50G 11/23/94 ‚és utána }
Begin
Helye := $11;
Maszk := $FD;
If (BIOSTyp > bAwardOld) Then Begin
WriteCMOSWithCRC ($4F, (ReadCMOS ($4F) And $FE) );
End; {}
End; {Award}
bAMI: { a "sima" AMI BIOS }
{bAMINew:} { a "szines" AMI Hi-Flex BIOS }
{lehet hogy ezt is itt kell ?}
Begin
Helye := $34;
Maszk := $3F;
End; {AMI}
bAMINew.. { a "szines" AMI Hi-Flex BIOS }
{bAMIEXTRA,} { a "zöld" AMI ‚és az AMI WINBIOS }
bAMIWIN4: { a 4 HDD-s AMI WINBIOS }
Begin
Helye := $37;
Maszk := $8F;
WriteCMOSWithCRC($67, (ReadCMOS ($67) And $0F));
End; {uj AMI}
bPS2:
Begin
Helye := $13;
Maszk := $FC;
End; {PS2}
bPhoenix:
Begin
For Maszk := $2A to $2C do WriteCMOSWithCRC(Maszk,$00);
Helye := $55;
Maszk := $FE;
End; {Phoenix}
Else Begin
HighVideo;
WriteLn ('Sajnálom, ezt BIOS-t nem ismeri a program !');
LowVideo;
Exit;
End; {ha nem kezelt BIOS}
End; {case}If (Helye <> 0) Then begin
WriteCMOSWithCRC (Helye, (ReadCMOS (Helye) And Maszk) );
End;{if}Write ('A BIOS jelszóvédelem ');
HighVideo;
Write ('ki');
LowVideo;
WriteLn (' van kapcsolva !');End.
Szóval a hamukálást hagyjuk más fórumokra...ez itt egy programozás topic, nem mesedélután...
P.S.:
A lényeg (a BIOS pontos beazonosítása) egyébként az "Azonosit" unitban van...alig ezer sor...primus inter pares
-
Rover623
félisten
-
Rover623
félisten
ez mostanra kb. annyira látszik, hogy fat16-os partíción tud vinyószektorokat kezelni, mbr-t, bootsectort meg megadott sectorokat, hexdumpolni, stb.
BIOS-t "menteni" meg nem...Még egyszer mondom: BIOS-t tutira nem mentettél le és nem töröltél belőle jelszót...!!!
A programban szerencsére nyoma sincs ilyesminek...egy világ omlott volna össze bennem ha a felsorolásba téged is bele kellett volna vennem...
A CMOS-t írtad/olvastad, MERT A JELSZÓ OTT VAN TÁROLVA...!!!
De azt sem a 40-es porton (egyébként is, milyen programozó az olyan aki egy I/O port címét decimális alakban vagy a számrendszer feltüntetése nélkül adja meg?) keresztül érted el, mert a 40h (0x40) port a PIT, a decimális 40 pedig a legtöbb PC-n használaton kívül volt, kivéve néhány Opti chipsetes alaplapot...
A CMOS-t a 70h-71h (0x70-0x71) portokon keresztül lehet birizgálni...Lehet hogy programozó vagy, de a rosszabbik fajtából...
A rendszerprogramozáshoz lammer voltál és az is maradsz...primus inter pares
-
Rover623
félisten
na mind1, csak az esik rosszul, hogy egy ilyen, szerintem színvonalas és jó hangulatú fórumon látom ezt a pcforum.hu stílust...
Nekem pedig az esik rosszul, hogy egy ilyen, szerintem színvonalas és jó hangulatú szakmai fórumon szakmai igénytelenséggel, slendriánsággal, hőzöngéssel találkozom.
primus inter pares
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Alapértelmezett konfiguráción sok Core CPU-nak lehet stabilitási gondja
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Gray Zone Warfare
- Kék halál (BSOD)
- Tőzsde és gazdaság
- nVidia tulajok OFF topikja
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Lenovo 4. generációs i3-4130 sff pc, 16GB vagy 32GB rammal
- Új Bontatlan Univerzális monitorállvány, 17-27'' , VESA 100x100/75x75 UNOXAR UX-MDS-10
- HP pro 6300 SFF i5-3470 16GB vagy 32GB Rammal
- Hófehér Toshiba 15,6"HD,4magosIntel!4x2,2Ghz,IntelHDVga,SSD,szép állapot
- ThinkPad 13,3" FullHd IPS,10.gen.core i5(8x4,2Ghz),Vil.bill.8GB DDR4,512GB SSD,Jó akku, jó állapot
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest