Kezdőoldal » Számítástechnika » Programozás » Milyen útmutatót tudtok, hogy...

Milyen útmutatót tudtok, hogy az assembly-t megértsem?

Figyelt kérdés

A lényeg, hogy a gépi kódot max assemblyre lehet visszafordítani.


Na ezt a nyelvet akarom megtanulni.


Ilyenek vannak benne, hogy EAX, rsd, rax.


2019. febr. 24. 13:36
1 2 3
 11/21 anonim ***** válasza:

Ha van programozói előéleted, akkor az utasításokat talán nem nehéz kitalálni, főleg ha elolvasol egy assembly gyorstalpalót. Viszont ha mélyen akarod megérteni, akkor először a processzor működését kell megértened, ahhoz viszont kellenek alap algebrai és némi elektronikai ismeretek is, szóval a kérdés az, hogy milyen ismereteid vannak ez ügyben?


Különben a processzor alapfelépítését ezekből tanulmányozhatod:


[link]

[link]

2019. márc. 12. 21:40
Hasznos számodra ez a válasz?
 12/21 anonim ***** válasza:
35%

11: Az általad linkelt anyagokban semmilyen infó nincs benne a processzor alapfelépítéséről. Max. bemutatja,hogy milyen processzorokat gyárt az Intel és az AMD és mik a lényeges különbségek. De az x86-os architektúráról semmit nem ír.


Itt van egy egésezn használható oldal: [link]

2019. márc. 12. 22:08
Hasznos számodra ez a válasz?
 13/21 anonim ***** válasza:
36%
Akkor elnézést kérek, mi anno architektúra órán tanultuk a processzor felépítését is, gondoltam benne lesz valamelyikben. :)
2019. márc. 12. 22:10
Hasznos számodra ez a válasz?
 14/21 anonim ***** válasza:
63%

Itt találtam egy egészen kezelhető, rövid összefoglalót az Intel processzorok architektúrájáról, és utasításkészletéről. Most csak átfutottam az első kb. 100 oldalt, de nagyon világosan fogalmaz, és teljesen jól leír mindent amire szükséged lehet.


[link]

2019. márc. 12. 22:16
Hasznos számodra ez a válasz?
 15/21 A kérdező kommentje:

Amit cheat engine kidob(browse memory region alatt), az függ a processzor típusától?


Elvégre a programokat nem úgy töltjük, hogy ez csak amd-n amaz meg csak intelen fut.


Kb annyit értek a programozáshoz, hogy egy magas szintű programnyelv gépi kódot generál,amit vissza lehet fejteni assembly re, egy hardverközeli nyelvre.

2019. márc. 13. 16:56
 16/21 anonim ***** válasza:
Mindkettő (AMD, Intel) ugyanarra az architektúrára (x64 vagy x86) épül, ezt kellene megérteni. Az utasításkészletükben lehet kisebb-nagyobb eltérés, de az alapok ugyanazok.
2019. márc. 13. 17:03
Hasznos számodra ez a válasz?
 17/21 anonim ***** válasza:
Hogy a cheat engine mit ír ki, hol és miért arra nem tudok érdemben válaszolni, mert nem ismerem a programot. :)
2019. márc. 13. 17:04
Hasznos számodra ez a válasz?
 18/21 anonim ***** válasza:
34%
Az AMD és az Intel között van némi eltérés,és megoldható akár a fordított gépi kódu programban, hogy a CPU típust lekérdezze és elágazásokkal másképpen hajtson végre bizonyos részeket ha AMD és ha Intel procit lát maga alatt. Ezt egy rutin megoldás. De ha csak ennyit értesz a programozáshoz akkor ne egy disasszemblált kóddal kezdjél. Nem fogod érteni.
2019. márc. 13. 17:23
Hasznos számodra ez a válasz?
 19/21 A kérdező kommentje:

A cheat engine, a gépi kódból, visszafejti assembly-ig gondolom, szerintem a kód amit kidob nem processzorspecifikus, talán.


A diszasszemblált kód és a browse memory kód között mi a különbség?

2019. márc. 14. 17:55
 20/21 anonim ***** válasza:

Meg kell nézni a program doksijában. Egyébként a "visszafordított" kód az nagyon processzor függő. Egy jó assembler fordító esetén vannak már "kísérletek" a kevésbé proci függőkre (pl. amit az előbb írtam, hogy elágazást tudsz betenni attól függően, hogy Intel vagy AMD procin fut a program és ezt valamennyire kezelik), de az egész assembly nyelv az arról szól, hogy minden "körítés" nélkül a procit programozod. Pár könnyítés azért van (pl. makrók, szimbolumok, cimkék stb. használata). Egy visszafordított kód esetén pl. egy


cimke:

Utasitas 1

Utasitas 2

Utasitas 3

JR cimke


Helyett azt fogod látni

Utasitas 1

Utasitas 2

Utasitas 3

JR -3 (ha mindhárom utasítás 1 byteos)


Pl. ilyenkor kell ismerjed az összes utasítást, hogy melyik hány byteos hogy a -3 byte relatív ugrást ki tud számolni, hogy hova ugrik vissza a kódban. Jobb disassemblerek erre adnak mindenféle megoldást (pl. zárójelbe oda írja az "abszolut" címet és akkor vissza tudod nézni, hogy valóban hova ugrik vissza).


És hasonlók. Hogy a te programod mit és hogyan fordít vissza nem tudom, és mivel letölteni sem tudtam a vírusírtom tiltakozik minden olyan oldal ellen ahonnan le tudom tülteni, ki se tudom próbálni.

Olyanra gondolok, hogy a disassemblalt kód lehet pl. egy EXE fájl vagy DLL amit oda adok a programnak és fordítja vissza, a browse memory meg az lehet amikor egy futó program memóriájába nézünk bele. De ez csak tipp, az általános szóhasználat alapján.

2019. márc. 14. 20:25
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!