problem s ANSI + ASCII
HackForum

| Pokousim se napsat neco jako IE WebDoor v C++ a mam problem s vykonavanim prikazu : mely by se vykonavat tak, ze skrz funkci "ShellExecute()" je volan program "cmd.exe" s parametrem "/c", ktery vykonava prikaz(y), ktere jsou za timto parametrem, a vystup je presmerovavan do textoveho souboru. Program pak ma z tohoto souboru cist vystup a zobrazovat ho. Problem je v tom, ze i po pridani parametru "/a" za cmd.exe nebo pouziti prikazu "chcp 1250" je vystup do souboru v kodovani ASCII. Pokud v programu necham kodovani ASCII, vstup od uzivatele obsahujici hacky a carky je spatne prekodovan a funkci ShellExecute() je pak predavan spatny nazev napr. adresare. Pokud vsak zapnu kodovani ANSI, program spatne prekoduje soubor s vystupem, ktery je v ASCII, a hacky a carky jsou zobrazeny zase spatne.
Reseni:
1. donutit program cmd.exe zapisovat soubory s vystupem v kodovani ANSI (prep. "/a" nebo "chcp 1250" mi nefunguji)
2. donutit funkci "ShellExecite()" akceptovat retezec v kodovani ASCII
3. prepinat kodovani primo za behu programu nebo napsat konverzni funkci (vyzaduje nastaveni kododani zpet na ASCII - to jsem nejak nepochopil (nejsem moc zdatny anglictinar, vim jen, ze nastaveni na ANSI se provede vlozemin "locale.h" a zavolanim "setlocale (LC_ALL, "")"))
4. jakekoliv jine reseni ...
Dekuji moc za radu.
P.S. Prominte ze jsem to napsal tak slozite, ze to nejspis pochopi jen ten, kdo vi, o cem mluvimm, ale i presto doufam, ze mi nekdo pomuze :) (odpovědět) | |
|
|
re: problem s ANSI + ASCII | # |
| BloodyRabbit: Zkoušel jsi třeba něco takovéhoto:
CMD /C CHCP 1250 | DIR > C:\dir.txt
----------
Teprve když vstáváte s hackingem a uléháte s myšlenkou na něj, máte šanci být hackerem. (odpovědět) | |
|
|