reklama

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Martin Dráb

Stran: [1] 2 3 ... 6
1
Pokud by vám práva v rámci LocalService či NetworkService přišla vysoká, můžete si je ještě snížit (např. snížit integrity level, odstranit nějaká ta privilegia z tokenu...), ale pak je třeba být opatrný, protože ta služba začne mít tak nízká práva, že ne všechno bude fungovat (např. máte jen velmi omezené možnosti zápisu do souborového systému atd.).

Něco z toho může služba provést na začátku své existence (pokud prostě chcete, aby ji nikdo nemohl snadno zneužít, pokud nad ní třeba vzdáleně převezme kontrolu), něco by mohlo jít zařídit i při instalaci (pro tu integrity level možná bude stačit nastavit ji u souboru služby, ale v těchto podmínkách jsem nikdy nezkoušel).

2
Vývoj / Re:Knihy o C++ a assembleru
« kdy: 18. 09. 2019, 11:22:45 »
Co se týče C++, doporučoval bych něco, co vyšlo po vydání normy C++11, protože ta přinesla dost klíčové novinky (dalo by se říci, že i zásadní).

Obě knížky o Assembleru mám, ale nevím, zda je v dnešní době doporučit. V Mistrovství sice najdete spoustu Assembleru (hodně ale z dob Windows 9x/NT myslím, včetně tvorby VxD ovladačů), ale v drtivé většině případů se jedná o kód, který normální člověk stejně napíše v nějakém vyšším jazyce (C/C++).

Assembler pro PC je z tohoto pohledu fajn, ale téměř celá knížka se zabývá programováním v DOSu (kde se Assembler opravdu hodí). Jako úvod určitě fajn, ale musíte pak dané zanlosti sám přenést z reálného režimu procesoru do toho chráněného (z 16ti do 32/64 bitů), aby to dnes mělo nějaký smysl.

3
Windows a jiné systémy / Re:Ve Windows nefunguje plink za grep
« kdy: 29. 08. 2019, 20:21:41 »
Co mám zkušenost, tak plink nemá bufferování standardního vstupu/výstupu řešeno příliš dobře. Například nepodporuje asynchronní IO a někdy se zřejmě stane, že obdrží více dat, než se mu najednou do bufferu vejde, což může skončit chybou.

4
Windows a jiné systémy / Re:Ve Windows nefunguje plink za grep
« kdy: 28. 08. 2019, 21:57:10 »
1) Nechybí vám tam ukončovací uvozovka?
2) Vypisuje plink nějakou chybu?

5
Vývoj / Re:Použití příkazu GOTO v jazyku C
« kdy: 20. 08. 2019, 22:20:12 »
Citace
Problém nevidím, může to ta vrstva poznat? O to v tom příkladu snad nešlo... Určitě by se to pak napsalo úplně jinak, ne?
Já se snažím psát funkce tak, aby když selžou, vrátily stav programu do stavu před svým voláním (tzn. uklidí po sobě). Pokud tedy vynecháte některé z finit volání, tak máte pravděpodobně resource leak.

Samozřejmě, můžete si pamatovat , že "když funkce X selže, musím někde zavolat a_finit, protože ona to neudělala"; podle mě pak ale kód přestává být srozumitelný.

6
Vývoj / Re:Použití příkazu GOTO v jazyku C
« kdy: 20. 08. 2019, 13:19:56 »
Tam je problém, že v případě, kdy selže třeba b_init musí mít vyšší vrstva kódu na paměti, že by měla zavolat a_finit.

7
Vývoj / Re:Použití příkazu GOTO v jazyku C
« kdy: 20. 08. 2019, 11:29:54 »
Citace
estli je goto v assembleru pouze instrukce JMP (a jeji vysledek ve strojovem kodu je vlastne take jenom skok na adresu), pak by melo goto teoreticky zkracovat strojovy kod, nez goto obchazet.

Ano, jedná se o jednu JMP instrukci (na ia32/x64, ale myslím, že na většině architektur to bude stejné).

Nemyslím, že by explicitní použití goto zdrojáky výrazně zkracovalo ve výše diskutovaných případech. Při vyskakování ze zanořeného cyklu ven vám ušetří pár podmínek (což obvykle je pár instrukcí).

Většinu kódu stejně netvoří skoky.

Co se týče té mojí ukázky, tam byste musel prostě místo goto volat ty finit funkce a pak dělat return. Nebo ten kód přepsat na něco jako:
Kód: [Vybrat]
err = a_init();
if (!err) {
  err = b_init();
  if (!err) {
    err = c_init();
   . . .

   }

    b_finit();
  }

  a_finit();
}

return err;
Tím se goto zbavíte, ale zase se tam přidává indentace, takže když těch init funkcí máte hodně, nedá se to číst ("ujíždí" to doprava). A někdo zase může preferovat ten způsob s goto.

Také nezapomeňte na to, že i když voláte ty finit funkce opakovaně, moc tím kód neprodulužujete, protože volání znamená jen pár instrukcí pro předání parametrů a instrukci CALL pro samotný skok na danou funkci.

Ta čitelnost je důležitá. Standardní konstrukty jako if, for, while, do-while, switch v sobě nějakou formu skoku mají ukrytou (podmíněnou či nepodmíněnou), ale vždy víte, kam se máte dívat, pokud třeba chcete vidět, co je za koncem cyklu (kudy to "vede" dál). Pokud budete používat goto a prostě skákat na různá návěští bez dodržování nějaké konvence, musíte si při čtení pamatovat, kde ta návěští jsou (a tak nějak si pamatovat ten graf možných skoků).

8
Vývoj / Re:Použití příkazu GOTO v jazyku C
« kdy: 18. 08. 2019, 21:44:49 »
Citace
použil jste někdy někdo příkaz "goto" v jazyku C v programátorské praxi?
Záleží na stylu programování. Někdy to téměř vyžaduje.
Kód: [Vybrat]
err = a_init();
if (err)
  goto Exit;

err = b_init();
if (err)
  goto a;

err = c_init();
if (err)
  goto b;
. . .
goto Exit;
. . .
c:
  c_finit();
b:
  b_finit();
a:
  a_finit();
Exit:
  return err;
}
A variace na podobné téma (ve Windows kernelu se dalo najít celkem běžně).

9
/dev/null / Re:Ignore LinkedIn
« kdy: 15. 08. 2019, 16:58:14 »
Citace
A jak poznáš z toho linku že je to jeden z těch "LinkedIn si myslí že byste se mohli propojit (protože jedno slovo v profilu máte stejné :-)" a ne někdo relevantní kdo skutečně žádá o propojení? Jedině tak že tam vlezeš.
No, takové maily myslím mají předměty jako "Do you know ...?" Rozhodně to není "Please join me ...".

Citace
Já vidím důvod proč nepřijmout. Protože touto dobou bych měl za ty roky konexí které jsem v životě nepotkal a jsou relevantní jenom nějakému polotupému algoritmu LinkedIn asi už babilión a o to nemám zájem ...
Nevidím problém v konexích, které jsem nikdy nepotkal (a zřejmě ani nepotkám – obecně nevidím problém v tom, když se reálný a virtuální svět i dramaticky liší), jelikož v mém případě zatím negenerují dostatek notifikací (tzn. je úplně jedno, jestli určité spojení existuje či ne, emailovou schránku mi to nezapolňuje). Takže jestli si z mého počítání nějaký algoritmus něco odvodil, zatím mi to nedal dostatečně pocítit (a neměl jsem důvod jej zkoušet nějak opravovat).

Citace
To je ale jedno, tobě to možná vyhovuje, mě ne - nějaká ta rada ohledně podobné sítě by nebyla?
O ničem jiném podobného ražení nevím. Jak již bylo řečeno, třeba na GitHubu (ano, opět MS) můžeš zaškrtnout, že hledáš práci (zatím to ale pro mě nemělo žádný efekt), nebo třeba Stack Overflow také něco na hledání práce, nicméně též s tím nemám zkušenosti.

Záleží, co od takového nástroje očekáváš. Já jen nabídky práce, nic víc (nevidím důvod udržovat na LI nějaký sociální život).

10
/dev/null / Re:Ignore LinkedIn
« kdy: 15. 08. 2019, 15:45:16 »
Citace
1) Mě neustále otravuje různými nevyžádanými a velmi nepodstatnými kampaněmi jako "Někdo žádá o přidání do konexí" a až se proklikáš k tomu co to skutečně je tak zjistíš že to ani ten člověk nechce ale protože např. studoval ve stejném městě 8 let po tobě,
Na LinkedIn obvykle chodím jen v případě, když mi někdo pošle zprávu, nebo žádá o nové spojení. Oboje lze celkem dobře poznat z předmětu e-mailové notifikace, kde většinou je i poměrně přímý link, takže není třeba nic moc prohledávat.

Citace
2) Ne poprvé, ale měl jsem žádost o konexi a chtěl jsem slušně odepsat že nyní nemám zájem ale rozhodně je nezavrhuju.
Já moc nevidím důvod, proč spojení nepřijmout. Obvykle pak dotyčný pošle zprávu s nabídkou, já mu případně řeknu, že aktuálně nemám zájaem a tím interakce zatím téměř vždy skončila.

Ale možná jen nemám v seznamu profily generující velké množství notifikací.

11
Citace
to kdyz v Microsoftu vymejsleli ze misto zabehleho unixoidniho / pro oddeleni adresaru "musej" "vymyslet" neco jineho asi padla rec i na parametry u kterejch zjistili ze obracene - je porad - takze misto toho pouzili to lomitko co nepouzili pro adresare ;-)

Hm, vypadá to, že ne :-).
https://blogs.msdn.microsoft.com/larryosterman/2005/06/24/why-is-the-dos-path-character/

12
Citace
Díky. A lze ve Windows zadávat příkazy nebo parametry jako v Linuxu i v plném tvaru zapomocí -- nebo to umí jenom Linuxová OS?
Nelze, protože ty příkazy to obvykle nepodporují. Bohužel (ale třeba pro to existuje nějaký historický důvod) se místo pomlček uchylují k lomítkům (/). Ale to je nepodstatný detail.

Citace
A co se týče slova parametr a argument, není v tom nějaký rozdíl? Mám takový pocit, že jsem někde četl, že korektně by se to nemělo zaměňovat a že každé znamená trošku něco jiného.
To je možné, nicméně je berte v mém příspěvku jako synonyma.

13
Citace
Odebral jsem oprávnění skupině Users, skupina Administrators toto oprávnění na vypnutí má.
UAC je zapnutá na nejvyšší úroveň. A uživatel skupiny Administrators může počítač vypnout aniž by se objevil dialog UAC, jak zmiňuješ, čím to?
Hm, možná jsem někde udělal chybu při testování, takže mi vyšel špatný výsledek. Testoval jsem na Windows 10 (Sedmičky tu aktuálně nemám k dispozici). Ale jak již bylo řečeno, uživateli ze skupiny Administrators se v důsledku nedá ve vypnutí počítače zabránit, protože si dokáže oprávnění Shutdown znovu přiřadit (to je jen jedna z možností).

Citace
Tím myslíš, jako že, se nepřepnu na účet (na jeho plochu), který vypíná PC?
Asi tak. Ten program shutdown se pustí na ploše aktuálně přihlášeného uživatele (jako by byl spuštěn běžným způsobem).

Citace
Co znamenají ty 2x dvojité uvozovky v:
To znamená, že text, co je v uvozovkách, bude předán příkazu (runas) jako jeden argument příkazové řádky, i když obsahuje mezery (ty standardně slouží jako oddělovače mezi parametry).

Co se týče přehazování parametrů, řekl bych, že půjde přehodit /user a /noprofile, ale že "shutdown /t 0" bude muset být poslední. Viz shutdown /?.

14
Citace
Tak jsem z toho vyvodil, jestli to při tom nezvolení žádného režimu na mobilu třeba určuje Windows.
Neurčují. Zařízení reportuje nějaké identifikátory, podle kterých se Windows rozhodnou, o co se jedná a použijí konkrétní ovladače. Tzn. telefon by měl reportovat příslušná ID podle toho, v jakém je režimu.

15
Citace
2. Pomocí group policy (gpedit.msc) zabránit vypnutí neprivilegovaným uživatelům.
Jen pozor na to, že pokud odeberete oprávnění k vypnutí počítače skupině Users (kam patří nejen neprivilegovaní uživatelé) a máte zapnuté UAC, bude i člen skupiny Administrators muset projít UAC dialogem, aby mohl počítač vpnout. Řešením je oprávnění Shutdown přidat přímo uživatelům, kteří mají na vypnutí právo.

Citace
Co nevím zda ještě funguje, to je dvakrát stisknout CTRL+ALT+DEL.
Nemyslím, že funguje. Pokud oprávnění shutdown nemáte, tak vás pokusy o restart/vypnutí maximálně odhlásí.
Citace
Co vím že stále funguje je podržet chvíli tlačítko "power".
Tohle jde AFAIK zcela mimo systém. Ale třeba má OP fyzickou bezpečnost nějak pořešenou (třeba se jedná o nějaký terminál, kde je pro nepovolané problém dostat se k tlačítku power či k napájecímu kabelu).

Citace
To runas slouží k čemu ve Windows, to je ten proces (úloha), který se spustí, kdyz zmáčknu v nabídce Start Vypnout?
Ne. Příkaz runas spustí vámi zadaný příkaz pod vámi zadaným uživatelem. Argumentem /user specifikujete jméno uživatele. /noprofile znamená, že nechcete načítat jeho uživatelský profil (pro volání příkazu shutdown to prostě není potřeba).

Shutdown je příkaz, který umí vypnout/restartovat/hibernovat či odhlásit uživatele. Parametr /t 0 udává, že akce má být provedena okamžitě (v časovém limitu 0 vteřin).

Stran: [1] 2 3 ... 6

reklama