Delphi - Alternativa IsDebuggerPresent

Delphi - Alternativa IsDebuggerPresent

Postby opc0de » 02 Mar 2011, 19:12

  1. type
  2.   PPeb = ^TPeb;
  3.   TPeb = packed record
  4.     InheritedAddressSpace         : Boolean;
  5.     ReadImageFileExecOptions      : Boolean;
  6.     BeingDebugged                 : Boolean;
  7.   end;
  8.  
  9. function IsDebugPresent:Boolean;
  10. var
  11.   PEB:PPEB;
  12.   LPEB:TPEB;
  13. begin
  14.   asm
  15.     push eax
  16.     mov eax,fs: $30;
  17.     mov PEB,eax
  18.     pop eax
  19.   end;
  20.  
  21.   LPEB := TPEB(PEB^);
  22.   Result := LPEB.BeingDebugged;
  23. end;
  24.  
1p / 1 votes
User avatar
opc0de
Bit
 
Joined: 11 Feb 2011
Status: 2

Re: Alternativa IsDebuggerPresent

Postby DarkByte » 02 Mar 2011, 19:19

Nice piece of code !

Cateva probleme, totusi:
  • nu mai posta cod care nu compileaza - ai avut o greseala, ti-am corectat postul
  • daca postezi cod, atunci foloseste code=nume_limbaj. Ex: [code=delphi] in cazul asta. Am pus eu si asta.
  • pe aici, de obicei, noi nu trantim cod fara explicatii. Poate parea cam nepoliticos.
  • nu pot intelege diferenta de nivel dintre calitatea codului si stilul de editare... Maybe it's just me, da' ma indoiesc.

Bafta !
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: Alternativa IsDebuggerPresent

Postby opc0de » 02 Mar 2011, 20:23

multumesc ptr intampinare :)) asa cum sunt obisnuit forumurile romanesti sunt cladite pe critica.te astepti ca toata lumea sa posteze asa cum o faci tu? de ce te intreb ?

1.probabil codul a avut o eroare de sintaxa cine nu e in stare sa modifice un punct sau o virgula inseamna ca nu a deschis niciodata delphi sa scrie cateva linii de cod
2.nu stiam de code= delphi cineva care e interesat de bucata de cod da copy o baga in IDE si vede ce face nu sta sa citeasca codu de pe forum...si nici macar nu stiam ca forumul tau are aceasta optiune
3.Sti ce face apiul IsDebuggerPresent() ? asta e o alternativa e o explicatie suficienta. ai vrea la fiecare linie de cod sa scriu // aici luam adresa structurii PEB ( process entry block) // aici copiem memoria existenta la adresa PEB la adresa variabilei LPEB ? //aici... samd... daca tu vrei sa o faci treaba ta
4.Nici nu inteleg macar despre ce e vrb.

Stai linistit nu o sa mai postez pe acest forumel nu ptr ca m-am suparat ca mi-ai adus tu critici ci doar ca m-am saturat de critici nefondate si baieti care analizeaza virgule.
0,0p / 0 votes
User avatar
opc0de
Bit
 
Joined: 11 Feb 2011
Status: 2

Re: Alternativa IsDebuggerPresent

Postby DarkByte » 02 Mar 2011, 20:46

Apreciez persoanele care nu suporta critica.

  1. Probabil ? Cum poti vorbi asa, daca tu ai scris codul ? Nu era vorba de o virgula, ci de o litera (variabilei "BeingDebugged" ii lipsea al doilea "g") - neimportant, eroarea era intr-adevar minora. Totusi, cum postezi o bucata de cod ca "buna" daca nici macar nu compileaza ? Si tot tu te iei de mine ca te critic. This is rich...
  2. Faptul ca nu stiai ca avem syntax highlight e de inteles - am adaugat-o la lista si ti-am dat si solutia. Nu ma deranjeaza faptul ca nu ai stiut ca avem posibilitatea asta (desi o privire fugara aruncata pe alte topicuri din forum te-ar fi lamurit - sau mini-tutorialul de BBCode), dar ma deranjeaza faptul ca esti "atins" fiindca am mentionat-o.
  3. N-a zis nimeni de comentarii in cod (desi atunci cand folosesti asm - chiar si 4 instructiuni - ar putea fi de ajutor) si nici de comentarii la fiecare linie, dar puteai incepe postul cu o scurta explicatie si un link pentru IsDebuggerPresent. Serios, nu ti se pare rezonabil ?

In concluzie, daca tie ti se par "critici" si "nefondate", do as you wish. Daca te razgandesti, prezinta-te (aici facem intampinarile).

Bafta !
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: Alternativa IsDebuggerPresent

Postby just me » 02 Mar 2011, 20:49

^^Wow, eu zic ca te-ai cam ambalat. E forum, pentru ca lumea sa invete ceva. Nu sa vada cod, sa faca copy/paste si la revedere. Da, trebuie explicatii si pentru blonde ca mine ( :)) ) sau pentru a incuraja oamenii care vor sa invete un limbaj de programare, dar care nu ii vad sensul la Delphi, cand stiu ca exista C, care e mai bun in opinia lor, sau mai stiu eu ce limbaj de programare.
0,0p / 0 votes
" Being happy doesn't mean that everything is perfect. It means that you've decided to look beyond the imperfections "
User avatar
just me
Bit
 
Joined: 30 Dec 2009
Location: Cluj
Status: 3

Re: Alternativa IsDebuggerPresent

Postby opc0de » 02 Mar 2011, 21:14

1. De unde sa stiu ce am gresit daca ai modificat postul ? Am scris functia aia din minte...

2. -

3.De ce exista MSDN?nu sa te informezi despre apiuri

@just me : Intradevar m-am cam ambalat satul de comentariile inutile de pe forumurile autohtone .Nu vezi sensul Delphiului ? Pai in delphi poti face tot ce faci in C numai ca mult mai repede.Incearca sa scrii in C un program care te notifica cand un stick usb este scos sau inserat in calculator sa vezi cat dureaza , in delphi dureaza cam 2 minute daca scrii suficient de repede.Un alt impediment al Cului este lucrul cu sirurile de caractere e anevoios.Oricum ideal este sa inveti C iar apoi Delphi ptr a avea o idee cat mai buna despre programare.Oricum sunt surprins sa vad o fata interesata de programare. Mult succes.
0,0p / 0 votes
User avatar
opc0de
Bit
 
Joined: 11 Feb 2011
Status: 2

Re: Alternativa IsDebuggerPresent

Postby DarkByte » 02 Mar 2011, 21:25

Oh, come on !? Chiar crezi ca as spune ca ai avut o problema in cod daca nu era ? Chiar confunzi forumul asta cu cine stie ce groapa de gunoi - no offense, dar asa pare.

Oricum, sunt oarecum surprins - si in bine, si in rau - ca ai scris din minte. In bine, pentru ca e destul de interesant codul. In rau, pentru ca nu l-ai verificat.

Chestia cu MSDN-ul iar e putin aiurea, din punctul meu de vedere. Ce vreau sa spun e ca, daca vrei sa ajuti, atunci pui la indemana toate informatiile - e mai rapid si mai eficient pentru toata lumea.

Either way, daca tu crezi ca te-am criticat doar fiindca sunt roman (ceea ce, partial, nu sunt), imi cer scuze.

Bafta !
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: Alternativa IsDebuggerPresent

Postby opc0de » 02 Mar 2011, 21:54

Am zis de unde sa stiu eu ce am gresit nu ca am gresit. :)) in fine vorbim impreuna si ne intelegem separat mai bine zi cum fac sa atasez fisiere la posturi ca vreau sa pun cateva programe cu sursa realizate de mn.
0,0p / 0 votes
User avatar
opc0de
Bit
 
Joined: 11 Feb 2011
Status: 2

Re: Alternativa IsDebuggerPresent

Postby smith » 02 Mar 2011, 22:49

Doar moderatorii și adminii au posibilitatea de a atașa fișiere direct la post-uri. E o chestie de ... siguranță.
Dar ai putea să folosești un host gratuit. Dacă cumva vom considera că merită într-adevăr păstrată sursa/fisierele, vom edita noi postul și vom atașa fișierele la post.

Dacă tot te-ai gândit că vrei să rămâi :D, uite niște link-uri utile:

Regulamentul care orice utilizator trebuie sa il citeasca

Aici e locul unde cei noi se prezintă.

Un tutorial în care sunt exemple de tag-uri bbcodes pentru a vă ușura/înfrumuseța postarea.

Sistemul de punctare al forumului - nu punem accent pe numărul de posturi ci pe conținut/calitate.

Link-uri spre unele medii de socializare în care suntem prezenți.

Pentru cei interesati de forum, care vor să ne ajute în a crea parteneriate.

Niște semnături create de userii forumului.
0,0p / 0 votes
Ilea Cristian
User avatar
smith
Enum
 
Joined: 29 Dec 2009
Location: Cluj-Napoca
Status: 82

Re: Delphi - Alternativa IsDebuggerPresent

Postby eni4ever » 15 Jul 2011, 18:58

Cu riscul de a fi tras de urechi pentru reînvierea unui topic mai bătrân, vreau să-mi exprim nemulțumirea pentru această afirmație :
opc0de wrote:Pai in delphi poti face tot ce faci in C numai ca mult mai repede.Incearca sa scrii in C un program care te notifica cand un stick usb este scos sau inserat in calculator sa vezi cat dureaza , in delphi dureaza cam 2 minute daca scrii suficient de repede.Un alt impediment al Cului este lucrul cu sirurile de caractere e anevoios.Oricum ideal este sa inveti C iar apoi Delphi ptr a avea o idee cat mai buna despre programare.

Permite-mi să afirm că habar nu ai ce e cu C-ul și pentru ce a fost creat el. Acest lucru nu m-ar deranja prea mult dacă nu ai fi ferm convins că ești D-zeu pe pământ și că "ai ști cum merge lumea".
Te-ai întrebat vreodată de ce C-ul este considerat
wikipedia wrote:[...] one of the most popular programming languages of all time and there are very few computer architectures for which a C compiler does not exist

? Dacă știu și oamenii aceia că în "delphi poti face tot ce faci in C numai ca mult mai repede", de ce or ales totuși C-ul ca mediu de profesare ?
Nu, nu te-ai întrebat, sunt sigur. Permite-mi să te lămuresc:
Ceea ce compari tu este un căluț de mare cu un rechin. Poate s-ar scala unul la celălalt (???), dar în nici un caz nu s-ar ai vedea la știri vreodată că "astăzi, un surfer a fost mâncat de un căluț de mare".

Mai pe directe : C-ul a fost creat ca și limbaj de sistem, un înlocuitor al limbajului de asamblare (făcându-l foarte atractiv pentru domeniul embedded unde există constrângeri puternice de resurse). În C se scriu librării pentru că este foarte apropiat de mașină și nu are multe nivele de prelucrare a informației cum au limbajele specializate cum ar fi Delphi-ul (nivele ce cresc amprenta de memorie și timpul de execuție, desigur). Contrar a ceea ce ai crede, în lume nu sunt predominante PC-urile ci arhitecturile embedded unde în fiecare mașină de serie recentă (>2005) vei găsi în medie 90 de microprocesoare toate rulând limbaj de asamblare, C sau derivat din C (C++ de pildă). Nu vei găsi niciodată un microcontroler de airbag care să ruleze în Delphi sau, mai rău, Java pentru că nu s-ar risca nici un producător să detoneze încărcătura propulsoare după ce mașina s-a oprit din inerție și accidentul s-a consumat.

Ești confuz și încrezut puiule, dar uite ce-ți dau să faci în Delphi ce nu cred că vei face vreodată, dar care în C se face tot timpul pentru că ... Șoc!: pentru asta a fost făcut! :
- un codec pentru mpeg4, hai ... orice versiune
- un sistem de operare (try linux on for size ... built in C)
- un mainframe care să țină o bază de date capabil să gestioneze N interogări pe secundă în timp real pe un tabel >10k de intrări
- un firmware care să-mi aprindă un led pe un atmega
Shall I continue ?

Bine pa!
0,0p / 0 votes
Image

"Rațiunea vine în umbre scurte numite suferințe." Victor Adăscăliței
"Bender: Anything less than immortality is a complete waste of time.
Zoidberg: Then suicide it is! Step into my office ..." Futurama S06E06
User avatar
eni4ever
DWord
 
Joined: 03 Jan 2010
Location: Timișoara
Status: 57.83

Re: Delphi - Alternativa IsDebuggerPresent

Postby DarkByte » 15 Jul 2011, 20:02

O rugaminte: nu mai dezgropati topicuri. Mai ales topicuri cu discutii aiurea.

Thanks, topic locked !
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140


Return to Snippets

Who is online

Users browsing this forum: No registered users and 0 guests

cron