Blind Napisano Czerwiec 15, 2006 Zgłoś Share Napisano Czerwiec 15, 2006 Robie sobie wskaźnik:var b : ^byteI jak zrobić żeby mi wskazywał na jakieś konkretne miejsce w pamięci np. na $8b000??Albo jeśli macie jakiś inny sobosób żeby wpisać coś do dowolnego miejsca w pamięci, to piszcie, bede bardzo wdzięczny. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
krajew4 Napisano Czerwiec 15, 2006 Zgłoś Share Napisano Czerwiec 15, 2006 http://delphi.about.com/library/rtl/blrtlPtr.htm My life for Aiur! Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 o to ja tez o cos zapytam, zeby nie zakladac nowego tematu.Chcialbym dowiedziec sie, czy naszym programem mozemy wyswietlic pamiec zajmujaca przez inny program? Czy jednym programem mozemy np wypisac wszystkie wartosci zmiennych zaalokowanych w pamieci przez inny program? Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Czerwiec 16, 2006 Autor Zgłoś Share Napisano Czerwiec 16, 2006 Teoretycznie nie. Pamięc w Windzie jest chroniona. Tylko system ma dostęp do całej pamięci.A praktycznie wszystko jest możliwe www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 no więc? Link do komentarza Udostępnij na innych stronach More sharing options...
krajew4 Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 Odpowiedział na twoje pytanie My life for Aiur! Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 Znaczy sie, znasz jakas strone lub art temu poswiecony oder nicht ? A moze kod? Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 Tak więc robisz sobie wskaźnik : [code=Delphi] var b : ^byte;*bł7ŹĘ'jg^bptĆćtB\"ŁC# [/code]i gotowe :twisted:. soon Delphi will be only for veterans and finally we all will die at the end… delphi.dathox.com - nowinki z świata Delphi/Pascala only programmers and drug dealers call their customers "users" Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą. Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 nie krzyczcie za n00bowe pytania, ale w tej tematyce w ogole sie nie orientuje...Szczerze mowiac nawet nie wiem co zrobic z powyzszym kodem. Puściłem to w pętli i coś niby wypisuje, ale wszystko to jakies jednakowe krzaczki...Czy ktos moglby napisac krotki kod, ktory wypisalby wszystko (integery, stringi...) nalezace do uruchomionego programu ABC.exe np na memo? Byłbym naprawdę wdzięczny!!pozdrawiam. Link do komentarza Udostępnij na innych stronach More sharing options...
krajew4 Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 [code=Delphi] procedure TForm1.Button1Click(Sender: TObject); var i:inteBB[BY[BIBNI FCCł#SbŁ3\"ŁbF&VvG'ĄŃĄ4(4( memo1.lines.add(s); memo1.liY ĘNBIB[BŁŁ6\"G\& quot;3Ł2ŁĆ6F4(4( 4) [/code]Może to pomoże My life for Aiur! Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 a to ja mam pytanie jeśli znam adres to jak odczytać z niego wartość?? Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Czerwiec 16, 2006 Autor Zgłoś Share Napisano Czerwiec 16, 2006 O to właśnie ja pytałem, jeśli jeszcze znasz typ danych znajdujacych sie pod adresem, to robisz sobie wskaźnik do tego. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 jak sie dyskusja rozkręciła :arrow: krajew4: Twój kod to już coś.. wyświetla stringo-podobne rzeczy.. wporzo. Chciałbym się tylko dowiedzieć, czy zakres podany w pętli to pamięć naszego programu? czy ogolnie dostepna pamiec? czy przypadkowy jej fragment?:arrow: sazian: zdaje mi sie ze np tak: label.caption = ^pointer;Oraz ogolne pytanie: czy w jakiś sposob da się oszacować gdzie są dane konkrentego programu? Czy jezeli np. jest otwierany równo z systemem, to beda na poczatku? Albo jak przed chwila go odpalilem, to beda na samym koncu? Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 [quote] zdaje mi sie ze np tak: label.caption = ^pointer; [/quote]a jeśli chce odczytać dane z np $00400000?? Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 to łączysz wskazówkę HNB i moją najpierw musisz pointerowi podać adres na ktory ma pointować a pozniej mozesz odczytac co tam jest.. Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 zrobiłem coś takiego [code=Delphi] procedure TForm1.Button1Click(Sender: TObject); var a:byNB]NBY[BBPNBBLLB[ HH ŚĆ&V6FŁGF7G\"ŚVćC&6VGW&RDf& ŃŃ ąŹĄMQ=4)4)Ń4)yŃ4)in b:=@a; b:=ptr($8b000); label1.Caption:=inttostr(a); e [/code]i nie działa Link do komentarza Udostępnij na innych stronach More sharing options...
krajew4 Napisano Czerwiec 16, 2006 Zgłoś Share Napisano Czerwiec 16, 2006 raV: to pobralem z Project Options->Linker , a [b]sproboj od zera do rozmiaru twojego ramu My life for Aiur! Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Czerwiec 17, 2006 Zgłoś Share Napisano Czerwiec 17, 2006 :arrow: sazian - nie dziala czy efekty pracy sa niesatysfakcjonujące? :arrow: krajew4 - jak biore zbyt duze przedzialy, to potem nie jestem w stanie sprawdzic mniej wiecej co tam jest... a wartosci od 0 do 65 000 twoj kod wypisyje jako nic x) tzn same entery stawia x) Link do komentarza Udostępnij na innych stronach More sharing options...
krajew4 Napisano Czerwiec 17, 2006 Zgłoś Share Napisano Czerwiec 17, 2006 A tak na marginesie to pamięć programu chyba nie jest zapisana w jednym ciągu tylko porozrzucana, jeżeli tak to nici z użycia pętli zobaczcie to: http://krajew4.ovh.org/mem.exe, program do wyświetlania pamięci i źródło My life for Aiur! Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Czerwiec 17, 2006 Zgłoś Share Napisano Czerwiec 17, 2006 Fajne.Ale czy jesteś w stanie powiedzieć cokolwiek o tych danych? Chodzi mi o to, że aktualna wersja programu nie ma pojęcia który program uzywa tej przestrzeni pamięci itepe.. zdaje mi sie tez, ze nie dzieli pamieci na dane (zmienne), tylko wypisuje je po kolei.. Moze jest na forum ktoś, kto już coś podobnego robił.. moze admini :?: Ale mam coś zle przeczucie, ze to na co wszyscy z nas w tym momencie licza (czyli swobodna zabawa pamięcią), nie należy już do zadań, gdzie jak coś nie działa, to należy np tu dodać 1, albo tam odjąć 1 ("działa, więc spoko" ).. Wydaje sie, ze to zadanie wymaga nielada krzepy ( ), ale licze ze damy rade ----------edit:Zrobiłem mały test: odpaliłem jeden z poprzednich kodów (w tym wątku zamieszczonych) i teoretycznie ustawiłem mu całą moją pamięć. Skompilowało się bez problemu. Odpaliłem notatnik i napisałem "mundial", nastepnie odpaliłem skompilowany program. Przeleicał się po całej pamięci i wypisał wszystko po kolei. Niestety, po sprawdzeniu tego co wypisał, słowo "mundial" nie zostało znalezione... :? Link do komentarza Udostępnij na innych stronach More sharing options...
krajew4 Napisano Czerwiec 17, 2006 Zgłoś Share Napisano Czerwiec 17, 2006 [quote] Zrobiłem mały test: odpaliłem jeden z poprzednich kodów (w tym wątku zamieszczonych) i teoretycznie ustawiłem mu całą moją pamięć. Skompilowało się bez problemu. Odpaliłem notatnik i napisałem \"mundial\", nastepnie odpaliłem skompilowany program. Przeleicał się po całej pamięci i wypisał wszystko po kolei. Niestety, po sprawdzeniu tego co wypisał, słowo \"mundial\" nie zostało znalezione... [/quote]Może źle szukałeś lub nie po całej pamięci My life for Aiur! Link do komentarza Udostępnij na innych stronach More sharing options...
KKKas Napisano Czerwiec 17, 2006 Zgłoś Share Napisano Czerwiec 17, 2006 Przejrzyjcie to:http://www.unit1.pl/forum/viewtopic.php?t=445 ҉ Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Czerwiec 18, 2006 Zgłoś Share Napisano Czerwiec 18, 2006 [quote] zrobiłem coś takiego [code=Delphi] [/code] procedure TForm1.Button1Click(Sender: TObject); [/quote] var a:byNB]NBY[BBPNBBLLB[ HH ŚĆ&V6FŁGF7G\"ŚVćC&6VGW&RDf& ŃŃ ąŹĄMQ=4)4)Ń4)yŃ4)in b:=@a; b:=ptr($8b000); label1.Caption:=inttostr(a); e i nie działa Pamięć w miejscu $8b000 nie jest zainicjowana. Nie możesz traktować pamięci jak jednej wielkiej tablicy, ponieważ nie wszystkie jej miejsca są przygotowane przez menadżer pamięci. W Turbo Pascalu, środowisku 16 bitowym częściej stosowano takie adresowanie przez dyrektywę absolute i podawanie adresu np.var x: integer absolute $BB00;Obecnie nie ma takiej potrzeby (czasy nowożytnie 8) ) i przy takim zapisie kompilator wywali ERROR. Dzisiaj Delphi umożliwia współdzielenie pamięci przez kilka zmiennych (zapisane w tym samym miejscu pamięci - co przy nieostrożnym używaniu może prowadzić do błędów):var x: Int64; y: double absolute x; z: single absolute y;Coś jak rekordy wariantowe (w C++ znane jako unie).Delphi 4 EVER :twisted: soon Delphi will be only for veterans and finally we all will die at the end… delphi.dathox.com - nowinki z świata Delphi/Pascala only programmers and drug dealers call their customers "users" Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą. Link do komentarza Udostępnij na innych stronach More sharing options...
krajew4 Napisano Czerwiec 19, 2006 Zgłoś Share Napisano Czerwiec 19, 2006 No to już wszystko jasne wystarczy zrobic sobie liste aktywnych procesow i pobrac ich pamieci.C++ 4 EVER :twisted: My life for Aiur! Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Czerwiec 19, 2006 Zgłoś Share Napisano Czerwiec 19, 2006 nic z tych rzeczy...kazdy program pod winda na swoj obszar pamieci o wielkosci do 4GB (cikawe nie ?)pamiec w windzie jest chroniona, co oznacza ze defaultowo program ma dostep tylko do swojej pamieci.aby dostac sie do pamieci innych trzeba uzyskac do nich dostep funkcjami api (niestety nie mam w tym doswiadczenia wiec sie nie wypowiadam)adres $40000 dla programu np Winword i notepad pokazuje na zupelnie inne dane poniewaz jest to pamiec dedykowana dla danego programu, wiekszosc tego co pisaliscie to byl opis trybu rzeczywistego a nie chronionego. w trybie rzeczywistym wszystkie programy siedzialy w kolejnych miejscach pamieci i kazdy program mial dostep do wszystkiego. Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.