» »

Backengeneering [Reverse engeneering]

Backengeneering [Reverse engeneering]

Nejc Pintar ::

Zanima me kako se naučiti tega zanimivega področja programiranja?
Lahko je biti prvi, če si edini!
  • spremenilo: snow ()

HairyFotr ::

Mogoče reverse engeneering?

Nejc Pintar ::

to ja:D , se mi je zdelo da sem nekaj čudno napisal:8)
Lahko je biti prvi, če si edini!

iggy ::

Ja googlat je treba mal če se hočeš kej naučit.

Sicer pa tukaj nekaj voham.
Hey, you're fat!

error7891 ::

Tukaj boš našel eno zanimivo knjigo. Veselo in prijetno branje. :)) >:D

Nejc Pintar ::

@iggy: Nočem biti 1337 h4x0r, preotročje.:\
Lahko je biti prvi, če si edini!

BigWhale ::

Revese engineering ni podrocje programiranja. Programiranje moras ze obvladati, ce se hoces iti reverse engineering. No, odvisno kaj bos 'reversal', ce bo to kuhinjski stol, potem moras znati obdelovati les. ;)

OChack ::

...da bo pol iz stola lahko naredu drevo:D :))
Int€l inside, IDIOT Outside

Srachko ::

Sem bral enih par člankov, kako se da skrekat exe fajl od originalnih špilov. Mislim, da je to tudi reverse engeeniring.
I can see clearly now, the brain has gone...

BigWhale ::

Hm.

Ne ni.

Red_Mamba ::

seveda je, saj RE pomeni, da greš ti v obratni smeri kot je to v navadi in poizkušaš razumeti kako stvar deluje.
Z krekanjem pa ravno to delaš. Poizkušaš razumet kako zaščita deluje da jo lahk zaobideš.
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

OmegaBlue ::

Reverse prav pride pri analizi obstoječega programnja za produkcijo svojega, spremenjenega na osnovi originalnega. Čeprav to ni ravno legalno ali zaželjeno.
Never attribute to malice that which can be adequately explained by stupidity.

BigWhale ::

Red Mamba,

Ah ne pretiravaj no. Reverse engineering je recimo reimplementacija ene igre. Open Transport Tycoon bi bil lep primer.

Se lepsi primer reverse engineeringa je pa Samba.

Red_Mamba ::

BW: men se zdi da teb ni čist jasno kaj RE sploh pomeni :\

RE je analiza sistema/programa/stroja iz preprostega razloga, da si gor prideš kako zadeva dela/je sestavljena...
Kaj pol z tem znanjem dalje delaš pa ni več RE.
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Zgodovina sprememb…

Red_Mamba ::

reverse engineering: the process of analyzing a subject system to
+ identify the system's components and their interrelationships and
+ create representations of the system in another form at a higher
level of abstraction.
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

BigWhale ::

Hja in pri veliki vecini crackov se nic od tega ne pocne. Ampak se ugotavlja samo katere bite je treba z nulami prepisat.

Ni nekega globjega znanja o sami zasciti, kaj sele o kaki abstrakciji :P

Red_Mamba ::

ja to je blo tko 5-10 let nazaj :D
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

klemen22 ::

ReverseeEngineering za n00be: MS Office in OpenOffice. Seveda so reversali tisti ta drugi da ne bo pomote (Oo).
Motiti se je človeško, odpuščati pa božje. Torej ti odpuščam ;)

BigWhale ::

Mamba, daj se enkrat tisti tvoj citat preberi no. ;)

Red_Mamba ::

ja in kaj bom z tem dosegel?

jaz še vedno pravim da je RE proces s katerim prideš do potrebnega znanja,
kaj pa ti pol naprej delaš pa nima nič zveze z RE, to je že navaden inžiniring,
rev. inžiniring si se pa prej šel, da si lahk sploh kaj sestavil z novim znanjem.

RE je analiza sistema ne pa geneza, kva tuki ni jasno?
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Nejc Pintar ::

Primer reverse engeneeringa je tudi iPod Linux, pa razni driverji za Linux, mogoče tudi blackbox za windows?
Lahko je biti prvi, če si edini!

Gundolf ::

> RE je analiza sistema ne pa geneza, kva tuki ni jasno?
Red_mamba, tvoj citat pravi drugače (identify the system's components and their interrelationships and create representations of the system in another form at a higher level of abstraction.)

Čeprav se dokaj strinjam s tem, da izraz pomeni predvsem proces analize sistema brez izvorne kode. Torej tudi crackanje morda vsebuje malo RE.

Red_Mamba ::

RE ni 100% definirana, na netu boš našel kar nekaj definicij in lahko ti najdem tudi takšno, ki nima geneze not :D

ampak moja kmečka logika še vedno pravi, da 2 nasprotujoča si pojma (inžiniring/ re-inžiniring) ne moreta poimenovati eno in isto stvar
(ustvarjanje novih stvari)
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Gundolf ::

Sej tako iz direktnega pomena besedne zveze bi rekel, da je to inžiniring, ki izhaja iz obratne smeri nečesa. Se pravi bi bil pravi pomen tak, da neko stvar raztaviš, iz tega razbereš princip delovanja in/ali vse podrobnosti ter nato ti narediš podobno. Torej v softwareskem smislu, da dissassemblaš ali še kaj več executable in potem po svoje implementiraš.

S tem se strinjajo tule: dictionary, medtem ko tule: Wikipedia pravijo, da za software namen implementacije ni pomemben ampak je važnen le postopek pridobivanja kode iz prevedenih programov.

IMHO je tole Wikipediino bolj uveljavljeno v računalništvu.

[edit: mamba, hec je bil le v tem, da si se v lastnem postu demantiral]

Zgodovina sprememb…

  • spremenil: Gundolf ()

darkolord ::

inženiring: načrt -> bajta
reverse inženiring: bajta -> načrt

i?

Red_Mamba ::

darko: that's basicaly it, yes :D; to tumbam že cel cajt
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

BigWhale ::

Ampak en game crack ni ravno nacrt... :P

BigWhale ::

Oziroma tko, ne rabis nacrta, da nardis crack. :)

veteran ::

Crack ni RE, key-generator pa že (ker se moraš poglobit v algoritem, da veš, kakšne ključe stvar požre;)

BigWhale ::

Aha! Veteranu se pozna, da je veteran... ;)

upirna ::

Ne vem, če je legalno... Ampak kaj moraš sploh narediti, da crackaš igro ali program?
[to sporočilo bo spremenil upirna, kadar bo to njemu pasalo]

iggy ::

Imeti veliko dobre volje!
Hey, you're fat!

veteran ::

Bigwhale, LOL. Nisem jest take sorte veteran. :D

Upirna, seveda je to kriminalno početje, zato dvomim, da boš dobil kakšne nasvete. Če pa jih boš, bo tema hitro zaklenjena, post pa izbrisan. ("ker imamo milico, pravo ljudsko milico, ki za red skrbela je, in za red skrbela bo!") >:D

klemen22 ::

Imeti veliko dobre volje!

In časa.
Motiti se je človeško, odpuščati pa božje. Torej ti odpuščam ;)

Red_Mamba ::

pa znanja ne pozabit :D
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

drejc ::

@Nejc: Decompilerji so v "zaprtem" programiranju edn od RE pristopov. Googlej za jad, ... Zato se ob lansiranju kode ponavadi uporablja obfuskator da REjevce malo zmede saj zamenja "domača" imena spremenljivk z raznimi ascii znaki.
"Rise above oneself and grasp the world"
- Archimedes of Syracuse

sas084 ::

Pozdravljeni

Da nebom odpiral nove teme glede reverse engineering me zanima, če slučajno kdo ve kje bi se dalo dobiti kakšne informacije glede
legalnosti reverse engineering v Sloveniji.

MrBrdo ::

BigWhale: tukaj se nebi čisto strinjal s tabo, večino crackov se lahko šteje pod reverse engineering. morda lahko nebi štel le določenih primerov, npr.:
- kadar se uporabi generični crack (npr. za SecuROM, SafeDISC itd...) ali generične unpackerje (npr. za UPX)
- kadar se paralelno laufa v debuggerju original in ne original, in potem "slepo" popatcha neoriginal da gre po isti poti kot original

V ostalih primerih pa moraš vsaj približno ugotovit kako del programa deluje, da lahko narediš crack. In ko to razumeš pomeni da si reverse engineeral, ker si iz assemblya prišel do neke višjenivojske razlage (npr. z besedami).

Kar se tiče OP, za reverse engineering je odvisno kakšen program želiš reverse engineerat:
- IA32 executable: tukaj potrebuješ čimboljše obvladovanje IA32 assemblerja in poznavanje strukture executablov (npr. PE format na Windows). ko enkrat poznaš assembler lahko greš čez program in bereš assembly, debugiraš, da vidiš kako program deluje in potem lahko podvojiš to delovanje
- Flash: imaš orodja ki ti splunejo ven actionscript, tako da tukaj ni velika znanost
- Java: isto kot flash
- .NET: isto kot java (.NET Reflector)
- pri večini ostalih jezikov (npr. PHP, Python itd) se ponavadi uporablja le nek obfuscation, kjer se potem uporabljajo razna orodja da se pride nazaj (vsaj približno) do izvorne kode
- komunikacijsko reversanje se tudi dela z raznimi orodji (npr. Wireshark) in poznavanje protokolov, lahko se uporabi tudi hooking in neka avtomatska prevedba podatkov za nadaljno analizo.

Nekaj dobrih informacij je na portalu tuts4you, kjer lahko najdeš tudi vaje v obliki CrackME programov in razne tutoriale v obliki screencastov. Če te več zanima o tem bom imel čez nekaj mesecev delavnico na to temo na FRI (http://fristajlo.si/dogodki/25), če se prijaviš na obveščanje (http://fristajlo.si/obvescanje) boš dobil mail ko bo znan termin. Vendar je potrebno že znat nekaj assemblerja, za udeležbo.

veteran: v bistvu nimaš čisto prav, jaz bi skoraj prej rekel obratno... namreč pri keygenu je ponavadi treba le poiskati kodo, ki zgenerira key, in jo skopirat v svoj assembly projekt (ali pa kar C++ in uporabiš inline assembly) in naredit GUI. razumevanje algoritma v tem primeru je zelo malokrat potrebno. ponavadi je celo lažje naredit keygen kot pa crack, sploh kadar so uporabljeni razni packerji, CRC zaščita itd., če narediš kar keygen nič od tega ni potrebno zaobit (čeprav tudi to ponavadi ni ravno težko, izjema je kak hardcore obfuscator kot npr. Themida). Ponavadi samo poiščeš nek string, ki se izpiše pri registraciji (npr. Invalid key!), potem pa je precej enostavno najti kodo, ki generira ključ. Včasih niti debugiranje ni potrebno. Ali pa postaviš tam okoli breakpoint in debugiraš, in enkrat vmes maš v registru ali na stacku pointer do stringa s keyem. Potem samo restartaš app in vpišeš ta key.

sas084: jaz bi rekel da je legalno, dokler je v raziskovalne namene... ko pa narediš crack in ga daš v javnost, je pa že kar vprašanje.
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()

gslo ::

mogoče je že mal updejtal svoj knowledge database v 5 (!) letih :P

MrBrdo ::

gx86: sorry, vedno pogledam samo datum zadnjega posta... ;((
MrBrdo

rfmw ::

Me zanima in sem se prijavil. Hkrati pa sprasujem, ce je bilo že kdaj kaj takega na to temo organizirano?
Legendary 8RDA+ (reCAPed ;), XP1700+ 2108 @ 1.84 V, SLK900A AS3 @ 2500 rpm
1,5GB Samsung DDR333+Geil DDR400+SuperTalent DDR400 @ DC 200 MHz @ 6-3-3-2.5

MrBrdo ::

rfmw: Iz moje strani ne... Drugače pa glede na interes, bo morda potrebno dat prednost študentom FRIja. Ker bo bolj proti koncu študijskega leta bo verjetno kar nekaj dni zapored po več ur dnevno.
MrBrdo

sas084 ::

Hvala za odgovor, drugač pa če koga bolj podrobno zanima reverse engineering je ene par strani kot je recimo tut4you ki jo je omenil MrBrdo, na crackmes.de
se da tud dobit dost materiala. Me zanima to področe, tko da na delavnico FRI sm se prjavu, upam da se bo u prihodnje organiziralo še ki podobnega :)

jype ::

OmegaBlue> Čeprav to ni ravno legalno ali zaželjeno.

Seveda je legalno.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo

Kaj točno pomeni "skrekat"?

Oddelek: Pomoč in nasveti
246459 (5553) Lonsarg
»

Crack programa, kako se ga naredi?

Oddelek: Loža
243656 (2642) msjr
»

Na PlayStationu 4 že teče Linux

Oddelek: Novice / Konzole
3713090 (9759) 66speeder66
»

Case Studio

Oddelek: Programska oprema
61226 (1029) deninho1989
»

Konec podpore za piratske kopije MS Windows (strani: 1 2 3 )

Oddelek: Novice / Operacijski sistemi
11719568 (8100) KontraCepec

Več podobnih tem