Force Napisano Październik 13, 2008 Zgłoś Share Napisano Październik 13, 2008 Pytanie jest teoretyczne, na razie nie chce tego zrobić, ale w tym roku mam zamiar, a może ktoś to zrobił już, otóż do rzeczy. chce zrobić tak, że pod Pointerem alokuje sobie np. 100 bajtów, w te bajty coś tam wrzucam, a teraz najlepsze- czy istnieje jakaś możliwość/metoda aby w czasie działania programu program kazał wykonać to co jest pod tym wskaźnikiem, a potem wrócił do miejsca gdzie kazałem mu wykonać to z pod pointera i robił dalsze linijki? Chce to uzyć bo mam w planie zrobić parser wyrażeń matematycznych i podane wyrażenie będzie wykonywane np. tysiące razy to zamiast wykonywać działanie z ONP chciałbym móc zaminić to na kod maszynowy wrzucić na wskaźnik i wykonywać tysiące razy. Czyli taka mała java Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Październik 13, 2008 Zgłoś Share Napisano Październik 13, 2008 Z tego co pamietam to jednym z zalozen trybu protected bylo uniemozliwienie uruchomienia kodu z sekcji Data. Co w teorii ma zabezpieczac przed wstrzykiwaniem kodu. Jak jest w praktyce nie jestem pewien. Jak sie dowiesz licze ze sie podzielisz wiedza. Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 13, 2008 Autor Zgłoś Share Napisano Październik 13, 2008 Ja mam pomysł, że robię takie jako asm.. end : call metodę wskaźnik do metody i tyle, a to co pod tym wskaźnikiem kończy się zawsze na ret, ale nie chce tracić czasu jak ktoś to kiedyś wymyślił bo ja to nie teraz bym zaczął to nie śpieszno mi do testowania. Edit: I źle zrozumiałeś, nie robię w javie, a w Delphi, chodzi mi tylko, że część kodu tworzę podczas działania programu i go wykonuje, jak w javie Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Październik 13, 2008 Zgłoś Share Napisano Październik 13, 2008 a lyzka na to niemozliwe ale ja wiem o co ci chodzi bo kiedys tez mi takie cos po glowie chodzilo. tylko jak zrobisz malloc to chyba nie mozna tam zrobic jmp a jak zrobisz procedure jako asm to moze da rade nie probowalem, kwestja miec odpowiednia ilosc miejsca do zmian Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Październik 13, 2008 Zgłoś Share Napisano Październik 13, 2008 Nudzilo mi sie wiec sprawdzilem i wszystko pieknie dziala. program Project1; {$APPTYPE CONSOLE} uses SysUtils; var a : array of byte; b : byte; begin SetLength(a, 3); a[0] := 64; a[1] := 195; b := 5; asm push ax; mov al, b; call a; mov b, al; pop ax; end; writeln('end ', b); readln; SetLength(a, 0); end. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 13, 2008 Autor Zgłoś Share Napisano Październik 13, 2008 To jeśli ten kod ma zwiększać b o 1, to o to mi chodziło to będe musiał więc przeczytać o assemblerze ale nie teraz Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Październik 13, 2008 Zgłoś Share Napisano Październik 13, 2008 64 - zwieksza rejestr ax o 1 195 - RET www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Październik 14, 2008 Zgłoś Share Napisano Październik 14, 2008 na moim blogu focuscore.dathox.com (kliknij) masz IA32 DB z pełną listą opcodów IA32 i bazą danych pod wygenerowanie np. Assemblera JIT. Może się przydać 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...
Force Napisano Październik 14, 2008 Autor Zgłoś Share Napisano Październik 14, 2008 Dzięki, to ładniejsze przedstawienie tego co w necie znalazłem. Tylko i tak nei rozumie np. zapisu XHCG r32, r/m32 czy 90+rd, nie wiem jak to zapisać jako kod binarny Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Październik 14, 2008 Zgłoś Share Napisano Październik 14, 2008 pod znakami zapytania masz instrukcje do tych oznaczeń 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...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.