Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  c# - Kuidas lugeda teisest programmist mingit väärtust? märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
pmz
HV vaatleja

liitunud: 05.07.2008




sõnum 06.02.2009 21:53:51 c# - Kuidas lugeda teisest programmist mingit väärtust? vasta tsitaadiga

Ühes programmis on sisseehitatud chat.

Tahaksin c#-s lugeda sealt chatist enda programmi teksti. Kuidas selline asi välja näeb?
Lingid, näited oleksid abiks icon_smile.gif
tagasi üles
vaata kasutaja infot saada privaatsõnum
Absona
Lõuapoolik
Lõuapoolik

liitunud: 17.09.2008




sõnum 06.02.2009 22:17:56 vasta tsitaadiga

See on ebaseadsulik ehk seda nimetatakse hackimiseks!
_________________
Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 06.02.2009 22:42:15 vasta tsitaadiga

Mis ajast on ühe programmi suhtlemine teisega automaatselt ebaseaduslik.

Väga palju oleneb sellest programmist, kust sa seda teksti lugeda tahad.

_________________
Mõistus otsas? Pane pinusse...
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
maxorator
HV kasutaja

liitunud: 30.08.2006




sõnum 06.02.2009 22:47:22 vasta tsitaadiga

Absona kirjutas:
See on ebaseadsulik ehk seda nimetatakse hackimiseks!

Teiste programmidega manipuleerimine ei ole ebaseaduslik ning seda kasutavad paljud copy protection ja mängude anticheat süsteemid. Eelduseks on muidugi, et kasutaja teab sinu programmi olemasolust oma süsteemis.

Ah ja ma unustasin mainida - lihtsalt kastist teksti võtmine ei ole isegi manipuleerimine, see on kõige tavalisem kastist teksti ammutamine, mis on teostatav paari lihtsa käsuga (Win32 API puhul peaks vist piisama: FindWindow() + FindWindowEx() + GetWindowText()).
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 06.02.2009 23:55:23 vasta tsitaadiga

Kui ma teen enda tarbeks ühe programmi ja siis teen teise programmi mis sellest infi loeb siis see on ka hackimine ja ebaseaduslik kohe ? icon_biggrin.gif
Kõik oleneb sellest mille jaoks kasutada lõpptulemust. Varjatud programmiga võõra inimese msn aknast (chatist) teksti lugemine on ebaseaduslik juba küll.

Kui tahad eriti julmal moodusel saada, tee progega screenshot, ja siis tekstituvastus icon_biggrin.gif
Võid vaadata ka näiteks www.codeproject.com lehelt, seal oli kuskil ka mingi c# näide kuidas minesweeperi mälust miinide asukohta lugeda annab, aga ega midagi muud suunata ja näidata ei oskagi kuna endal kogemus puudub. Väga palju sõltub programmist mida uurida tahad ja muidugi ka eesmärgist milleks tahad...

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
pmz
HV vaatleja

liitunud: 05.07.2008




sõnum 07.02.2009 19:46:11 vasta tsitaadiga

Absona kirjutas:
See on ebaseadsulik ehk seda nimetatakse hackimiseks!


Mind ajabki igasugu erinevates foorumites vihale see, et inimesed ei vasta küsimustele?
Kas ma küsisin, et kas teisest programmist info võtmine on ebaseaduslik? Kui sa suudad kuskilt seda välja lugeda, siis palun näita seda mulle. See on pahaga öeldud ja nii ma mõtlengi, kui midagi tarka pole öelda, siis lihtsalt loe ja ole rahulik.

inzinz kirjutas:
Kui ma teen enda tarbeks ühe programmi ja siis teen teise programmi mis sellest infi loeb siis see on ka hackimine ja ebaseaduslik kohe ? icon_biggrin.gif
Kõik oleneb sellest mille jaoks kasutada lõpptulemust. Varjatud programmiga võõra inimese msn aknast (chatist) teksti lugemine on ebaseaduslik juba küll.

Kui tahad eriti julmal moodusel saada, tee progega screenshot, ja siis tekstituvastus icon_biggrin.gif
Võid vaadata ka näiteks www.codeproject.com lehelt, seal oli kuskil ka mingi c# näide kuidas minesweeperi mälust miinide asukohta lugeda annab, aga ega midagi muud suunata ja näidata ei oskagi kuna endal kogemus puudub. Väga palju sõltub programmist mida uurida tahad ja muidugi ka eesmärgist milleks tahad...


Tänud sulle, eks ma uurin ja tänud ka teistele, kui kellelgi midagi täpsemat(näide,õpetus) on, siis ootan.
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 07.02.2009 20:32:03 vasta tsitaadiga

pmz kirjutas:
Mind ajabki igasugu erinevates foorumites vihale see, et inimesed ei vasta küsimustele?


No kuule pmz, enamikes foorumites pole kellelgi mingit kohustust su küsimusele vastata. Kui keegi seda siiski teeb, siis tuleks olla tänulik, et keegi viitsib oma aega kulutada sinu probleemiga tegelemisele.

Antud juhul Absona lihtsalt ekslikult arvas, et teisest programmist teksti kopeerimine on ebaseaduslik. Ning jõudnud sellisele arvamusele käitus ta igati kohaselt ühele korralikule kodanikule, ning teavitas sellisest potensiaalsest kuritööst ka ülejäänud foorumi rahvast. Seejärel parandasid teda mitmed teised, et see tegevus siiski pole ebaseaduslik. Seeläbi õppis Absona loodetavasti oma veast ja on nüüd tublisti targem. Võibolla õppisid sellest teemast ka mitmed teised foorumi kasutajad, kes juhtusid Absona arvamust jagama. Seega tervikuna võib loota, et kogu HV kogukond võitis sellest diskussioonist. Kui Absona poleks aga oma eksiarvamust avaldanud, siis elaks ta siiamaani õndsas teadmatuses.

Kui me keelaksime siin foorumis igasuguse eksimise ja lubaksime vaid kommentaare, mis sisaldavad vaid puhast sulatõde, siis poleks siin foorumis kedagi, kes su küsimustele vastaks. Kõik eksivad. Ei eksi vaid need, kes kunagi ühtegi kommentaari ei postita.

Ja kui näiteks keegi küsib, kuidas häkkida sisse mingisugusele veebilehele, kas siis sinu arvates peaks talle ütlema, kuidas seda teha? Või peaks talle hoopis ütlema, et kuule, selline asi on ebaseaduslik, ära seda tee.

_________________
Mõistus otsas? Pane pinusse...
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
pmz
HV vaatleja

liitunud: 05.07.2008




sõnum 08.02.2009 01:12:12 vasta tsitaadiga

nene kirjutas:
pmz kirjutas:
Mind ajabki igasugu erinevates foorumites vihale see, et inimesed ei vasta küsimustele?


No kuule pmz, enamikes foorumites pole kellelgi mingit kohustust su küsimusele vastata. Kui keegi seda siiski teeb, siis tuleks olla tänulik, et keegi viitsib oma aega kulutada sinu probleemiga tegelemisele.

Antud juhul Absona lihtsalt ekslikult arvas, et teisest programmist teksti kopeerimine on ebaseaduslik. Ning jõudnud sellisele arvamusele käitus ta igati kohaselt ühele korralikule kodanikule, ning teavitas sellisest potensiaalsest kuritööst ka ülejäänud foorumi rahvast. Seejärel parandasid teda mitmed teised, et see tegevus siiski pole ebaseaduslik. Seeläbi õppis Absona loodetavasti oma veast ja on nüüd tublisti targem. Võibolla õppisid sellest teemast ka mitmed teised foorumi kasutajad, kes juhtusid Absona arvamust jagama. Seega tervikuna võib loota, et kogu HV kogukond võitis sellest diskussioonist. Kui Absona poleks aga oma eksiarvamust avaldanud, siis elaks ta siiamaani õndsas teadmatuses.

Kui me keelaksime siin foorumis igasuguse eksimise ja lubaksime vaid kommentaare, mis sisaldavad vaid puhast sulatõde, siis poleks siin foorumis kedagi, kes su küsimustele vastaks. Kõik eksivad. Ei eksi vaid need, kes kunagi ühtegi kommentaari ei postita.

Ja kui näiteks keegi küsib, kuidas häkkida sisse mingisugusele veebilehele, kas siis sinu arvates peaks talle ütlema, kuidas seda teha? Või peaks talle hoopis ütlema, et kuule, selline asi on ebaseaduslik, ära seda tee.


Eksimine on inimlik, olen sinuga täiesti nõus. Võib-olla olen siis teistest pisut nõudlikum, sest eeldan, et kui midagi vastatakse siis see ka aitab, juhendab inimest, kas või natukene. Ise tavaliselt avaldan arvamust siis, kui mul on midagi abistavat öelda, seda igal pool, nii foorumites kui ka reaalses elus. Vähese jutu mees nagu öeldakse.

Olin vist tõesti pisut karm oma sõnadega, aga lihtsalt ma otsin abi ja tõesti loodan seda saada, sest tean, et siin foorumis käib palju arukaid ja haritud inimesi, aga lihtsalt olen paljudes kohtades küsinud igasugu asju ja enamus vastustest on teemast täiesti mööda või ei aita mind grammikestki edasi. Ma tean, et keegi ei pea mulle vastama, aga kui vastata, siis ikkagi midagi abistavat. Oleksin täiesti nõus sellega, kui olen oma küsimusele leidnud vastuse ja pärast seda algaks arutelu selle üle, kas see on seaduslik või mitte. Pole nene kui ka Absona vastu mingit vimma, avaldasin sama moodi oma arvamust, arvan, et õppisime siit kõik midagi.
tagasi üles
vaata kasutaja infot saada privaatsõnum
XYZ
HV Guru
XYZ

liitunud: 05.11.2001




sõnum 08.02.2009 15:33:49 vasta tsitaadiga

Huvitav loogika - kõigepealt aita vargal panka sisse murda ja varastada ja peale seda hakka mõtlema, et kas see nüüd oli seaduslik või ebaseaduslik...........
Esmalt võiks teema autor siiski täpsemalt kirja panna kust ja kelle programmist ta infot tahab kätte saada. Kas ta ise chatib samaaegselt või on ajanihet jms.
Kui korrektselt infot ei tule, siis minu silmis liigitub teema järjekordse ennast tähtsaks tegeva tühikargaja pröökamiseks, et kogu maailm peab aitama just temal mõne pahateoga hakkama saada, kellegi sõbra järel nuhkida näiteks.
Kommentaarid: 81 loe/lisa Kasutajad arvavad:  :: 3 :: 12 :: 56
tagasi üles
vaata kasutaja infot saada privaatsõnum
pmz
HV vaatleja

liitunud: 05.07.2008




sõnum 08.02.2009 17:14:37 vasta tsitaadiga

tsitaat:
Kui korrektselt infot ei tule, siis minu silmis liigitub teema järjekordse ennast tähtsaks tegeva tühikargaja pröökamiseks, et kogu maailm peab aitama just temal mõne pahateoga hakkama saada, kellegi sõbra järel nuhkida näiteks.


Tegemist siis ühe pokkerikliendiga. Kõik kaardid ja tegevused kajastuvad ka chatis. Tahan neid lugeda enda programmi, hetkel lihtsalt puht jälgimise huvides ja võib-olla mingi väike statistika. Teksti sain sealt chatist kätte järgmise koodiga:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace Poker
{
    public partial class Form1 : Form
    {
        [DllImport("user32.dll", EntryPoint = "SendMessage")]
        private static extern int SendMessage(int _WindowHandler, int _WM_USER, int _data, int _bufPtr);

        [DllImport("user32.dll", EntryPoint = "FindWindow")]
        private static extern int FindWindow(string _ClassName, string _WindowName);

        [DllImport("user32.dll", EntryPoint = "FindWindowEx")]
        private static extern int FindWindowEx(int _Parent, int _ChildAfter, string _ClassName, string _WindowName);

        [DllImport("user32.dll")]
        private static extern int SendMessage(IntPtr hwnd, int msg, int wParam, StringBuilder sb);

        public const int WM_GETTEXTLENGTH = 0x000E;
        public const int WM_GETTEXT = 0x000D;


       
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ///Leiab üles programmiakna
            int jutukas = FindWindow("POPUP_INT_DLG_WINDOW", null);
            ///Leiab üles programmiaknas asetseva tekstikasti
            int richbox = FindWindowEx(jutukas,0, "RichEdit20W", null);
           
            ///Tekstikasti pikkus
            int pikkus;
            ///Leiab tekstiaknas oleva teksti pikkuse
            pikkus = SendMessage(richbox, WM_GETTEXTLENGTH, 0, 0);
            ///StringBuilder tagastatava teksti jaoks
            StringBuilder sb = new StringBuilder(pikkus + 1);
            ///Võtab teisest programmist teksti
            SendMessage((IntPtr)richbox, WM_GETTEXT, pikkus + 1, sb);
            ///Väärtustab richtextboxi tagastatud tekstiga
            richTextBox1.Text = sb.ToString();
        }
    }
}
tagasi üles
vaata kasutaja infot saada privaatsõnum
andiweb
HV vaatleja

liitunud: 16.04.2003




sõnum 08.02.2009 17:29:02 vasta tsitaadiga

Millega sa leidsid "Class" väärtused "POPUP_INT_DLG_WINDOW" ja "RichEdit20W". Kas kasutasid Spy++'i? Ise olen kasutanud seda, aga kahjuks seal ei näita paljude nuppude "Class" väärtusi. Tegelen ise sellise programmi tegemisega, mis peaks vajutama wordpadis toolbaril olevat keskele joondamise nuppu, kuid kuidagi ei saa sellega hakkama. Kasutades Spy++'i leidmaks toolbaril oleva nuppu "Class" väärtust, näitab ta mulle ainult toolbari oma "NetUIHWND".

Kui keegi oskab mingit nõu anda, siis olen üks suur kõrv icon_smile.gif
tagasi üles
vaata kasutaja infot saada privaatsõnum
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 08.02.2009 22:29:16 vasta tsitaadiga

Sul kohati on funcides IntPtr kasutused puudu ja seega hetkel töötab kood sul edukalt ainult 32bit masinatel.
private static extern int FindWindow(string _ClassName, string _WindowName);
näiteks peaks olema
private static extern IntPtr FindWindow(string _ClassName, string _WindowName);
Osades kohtades veel puudu, seega pead oma projekti kas x86 platformi jaoks kompileerima või microsofi lehelt paremad kirjeldused võtma kus IntPtr vastavates kohtades ilusti märgitud.

A muidu asjalik ja lühike kood igatahes.

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
Absona
Lõuapoolik
Lõuapoolik

liitunud: 17.09.2008




sõnum 09.02.2009 13:51:06 vasta tsitaadiga

XYZ kirjutas:
Esmalt võiks teema autor siiski täpsemalt kirja panna kust ja kelle programmist ta infot tahab kätte saada. Kas ta ise chatib samaaegselt või on ajanihet jms.


Ma sain ka algul nii aru, et tahab püüda koodi rakendusest, et nuhkida kellegi järgi või midagi sellist..

_________________
Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mark11
HV vaatleja

liitunud: 28.01.2006




sõnum 16.02.2009 10:39:34 vasta tsitaadiga

andiweb kirjutas:
Millega sa leidsid "Class" väärtused "POPUP_INT_DLG_WINDOW" ja "RichEdit20W". Kas kasutasid Spy++'i? Ise olen kasutanud seda, aga kahjuks seal ei näita paljude nuppude "Class" väärtusi. Tegelen ise sellise programmi tegemisega, mis peaks vajutama wordpadis toolbaril olevat keskele joondamise nuppu, kuid kuidagi ei saa sellega hakkama. Kasutades Spy++'i leidmaks toolbaril oleva nuppu "Class" väärtust, näitab ta mulle ainult toolbari oma "NetUIHWND".

Kui keegi oskab mingit nõu anda, siis olen üks suur kõrv icon_smile.gif

arvatavasti NetUIHwnd on mingi container kus siis saab lisada nuppe/eemaldada neid sealt.. ühesõnaga korrektne viis oleks otsida selle NetUIHWND handle ning siis kasutada selleks olemasolevaid funktsioone ja iga nupp läbi kammida ning kontrollida siis kas see nupp on teksti keskele viimise nupp.

//edit, mina küll ei näinud seda NetUIHWND vaid ToolBarWindow32..
igatahes link http://www.codeproject.com/KB/shell/taskbarsorter.aspx siit näed täpselt kuidas igat nuppu lugeda eraldi sealt
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
andiweb
HV vaatleja

liitunud: 16.04.2003




sõnum 16.02.2009 17:07:59 vasta tsitaadiga

mark11 kirjutas:
igatahes link http://www.codeproject.com/KB/shell/taskbarsorter.aspx siit näed täpselt kuidas igat nuppu lugeda eraldi sealt


Tänud, proovin hiljem uurida thumbs_up.gif

mark11 kirjutas:
//edit, mina küll ei näinud seda NetUIHWND vaid ToolBarWindow32..


Võib-olla sellepärast, et kasutan Windows 7-t hetkel ja sellel on see uuem wordpad kasutusel.

edit:

Uurisin ja puurisin aga hakkama ei saa.

Leidsin siis, et nuppude arvu peaks teada saama niimoodi:



[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
        static extern IntPtr SendMessage(IntPtr hWnd, Int32 Msg, IntPtr wParam, IntPtr lParam);

public const int WM_USER = 0x0400;
public const int TB_BUTTONCOUNT = WM_USER + 24;



Kood siis ise, mis peaks nuppude arvu tagastama



SendMessage(IntPtr hWnd, TB_BUTTONCOUNT, IntPtr.Zero, IntPtr.Zero);


Tagastab mulle alati nulli, olen proovinud igasugu programmidega, tean et akna id(hWnd) on mul õige, sest saan kõike muud teha, akna nime muuta jne, aga nuppude arvu tagastab mulle alati nulli.

Tunnen, et panen kuskil midagi lihtsat puusse aga aru ei saa icon_cry.gif

Kui keegi viitsib, siis võiks üle vaadata või mingi normaalse näite mingi enamlevinud programmi kohta teha. Nt. et vajutab mozillas home nuppu või nt. et vajutab utorrentis "add torrent" nuppu.
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  c# - Kuidas lugeda teisest programmist mingit väärtust?
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.