praegune kellaaeg 18.06.2025 03:26:19
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
pmz
HV vaatleja
liitunud: 05.07.2008
|
06.02.2009 21:53:51
c# - Kuidas lugeda teisest programmist mingit väärtust? |
|
|
Ü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
|
|
tagasi üles |
|
 |
Absona
Lõuapoolik

liitunud: 17.09.2008
|
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
nene
Kreisi kasutaja

liitunud: 20.03.2004
|
06.02.2009 22:42:15
|
|
|
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 |
|
 |
maxorator
HV kasutaja
liitunud: 30.08.2006
|
06.02.2009 22:47:22
|
|
|
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 |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
06.02.2009 23:55:23
|
|
|
Kui ma teen enda tarbeks ühe programmi ja siis teen teise programmi mis sellest infi loeb siis see on ka hackimine ja ebaseaduslik kohe ?
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
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 |
|
 |
pmz
HV vaatleja
liitunud: 05.07.2008
|
07.02.2009 19:46:11
|
|
|
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 ?
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
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 |
|
 |
nene
Kreisi kasutaja

liitunud: 20.03.2004
|
07.02.2009 20:32:03
|
|
|
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 |
|
 |
pmz
HV vaatleja
liitunud: 05.07.2008
|
08.02.2009 01:12:12
|
|
|
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 |
|
 |
XYZ
HV Guru

liitunud: 05.11.2001
|
08.02.2009 15:33:49
|
|
|
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 |
|
 |
pmz
HV vaatleja
liitunud: 05.07.2008
|
08.02.2009 17:14:37
|
|
|
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 |
|
 |
andiweb
HV vaatleja
liitunud: 16.04.2003
|
08.02.2009 17:29:02
|
|
|
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
|
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
08.02.2009 22:29:16
|
|
|
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 |
|
 |
Absona
Lõuapoolik

liitunud: 17.09.2008
|
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
mark11
HV vaatleja
liitunud: 28.01.2006
|
16.02.2009 10:39:34
|
|
|
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  |
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 |
|
 |
andiweb
HV vaatleja
liitunud: 16.04.2003
|
16.02.2009 17:07:59
|
|
|
Tänud, proovin hiljem uurida
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
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 |
|
 |
|
lisa lemmikuks |
|
|
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.
|