cum decompilezi un plugin?

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

User avatar
Carnacior
Membrul anului 2016
Membrul anului 2016
Posts: 1762
Joined: 23 Jun 2013, 14:08
Detinator Steam: Da
CS Status: I eat more pussy than cervical cancer
Detinator server CS: jb.b-zone.ro
SteamID: -
Reputatie: Fost Scripter eXtreamCS
Membrul anului 2016
Membru Club eXtreamCS (1 iul )
Location: Targu Mures
Has thanked: 5 times
Been thanked: 13 times
Contact:

15 Dec 2016, 17:15

ZombieAddict wrote:
Carnacior wrote:Nu se pot decompila bytecodeuri amxx in surse recompilabile
In cel mai bun caz se pot extrage unele informatii, nume de variabile, constante, functii, dar nimic apropiat de sursa originala
Se poate dar trebuie sa ai cunostinte
daca tu spui
tictac wrote:NU AI CUM.
E CA SI CUM AI VREA SA DECOMPILEZI UN EXE.
Ceea ce e imposibil.
Nu e imposibil, se poate desface in assembly(ASM) care sunt instructiuni elementare pentru CPU
Acel ASM se poate 'recompila' (e doar tradus in cod binar sub forma de exe) si, cu destula rabdare si skillz poti modifica un .exe cum vrei (aici in caz ca va intrebati cum se fac crackurile pentru jocuri)
aici e vorba de munca imensa si de debugging nebun, la ASM nu ai nici un fel de erori de compilare sau whatever, la orice greseala programul va rula si va avea comportamente neasteptate

La amxx e diferit pentru ca pawn (limbajul de script pentru amxmodx) seamana mai mult cu Java decat cu C++, in sensul ca codul nu se compileaza in instructiuni pentru CPU, ci in bytecode, care este interpretat de o masina virtuala, in cazul asta modulul amxmodx (plus motivul pentru care nu se pot rula programe java fara sa instalezi java inainte). Java se poate decompila stupid de simplu in sursa, dar asta e pentru ca acel bytecode contine foarte multe informatii din sursa originala(metadata, nume de functii, variabile, s.a.m.d), ca acea masina virtuala sa poata optimiza codul inainte sa-l ruleze(majoritatea compilatoarelor c++ de ex optimizeaza codul la compilare, deci, nici sub forma de instructiuni ASM nu va fi acelasi lucru ca in sursa, in unele cazuri). VMul pawn in schimb nu are nici o treaba cu optimizarea, e facut sa fie super rapid ca sa poata rula in timp real, cum ar fi in jocuri. Bytecodul pentru el nu are la fel de multe informatii, si deci de asta se pot face coduri care parca seamana cu o sursa si totusi nu pot fi compilate.

Acel 'bytecode' nu poate fi interpretat decat de masina virtuala pawn. Noi suntem restrictionati oarecum pentru ca facem aceste pluginuri pentru CS. Totusi pawn este disponibil pentru orice platforma si poate fi folosit si ca si java, de ex, sa faceti un program 'hello world' care sa ruleze pe PC fara servere sau alte minuni. Va trebui descarcat VMul pawn cum ati descarcat si VMul java ca sa puteti juca minecraft. Dupa, acel VM poate fi compilat impreuna cu scriptul vostru intr-un fisier .exe, si daca faceti asta, va fi imposibil de "decompilat"(se poate face asta si cu java, dar, pierdeti cross-compatibility). Teoretic vorbind, pe acelasi principiu s-ar putea compila orice plugin impreuna cu intregul amxmodx sub forma de modul metamod, care va fi la fel de greu de decompilat ca un .exe. Ca si aplicatie practica nu merita evident, plus ca e probabil destul de greu de facut, nu pretind sa stiu sa fac asa ceva dar sunt sigur ca sunt oameni care stiu. Totusi informatiile date sunt corecte.

Cu ocazia asta sper ca v-am lamurit cu decompilarea amxx
Ai nevoie de o protectie pentru server? R4GE Server Guard
Cel mai avansat si folosit plugin de protectie romanesc public! Nu ma crezi? VERIFICA


http://www.facebook.com/xyz.aron
Follow me for random bullshit and possibly interesting updates
Skype @ xyz_aron


Image
RoyalServer 2
User avatar
tictac
Membru eXtream
Membru eXtream
Posts: 4015
Joined: 24 Feb 2012, 18:27
Detinator Steam: Da
Reputatie: 1 warn scos (-2 luni club)
Membru Club eXtreamCS (3 luni)
Ban 3 luni (achitat)
Location: Bihor, Oradea
Has thanked: 73 times
Been thanked: 570 times

15 Dec 2016, 17:33

Carnacior @ cred ca ai uita pe ce forum esti...
prea multa vorbaraie...
ceea ce spui tu e adevarat dar nu pe extream:))
User avatar
Carnacior
Membrul anului 2016
Membrul anului 2016
Posts: 1762
Joined: 23 Jun 2013, 14:08
Detinator Steam: Da
CS Status: I eat more pussy than cervical cancer
Detinator server CS: jb.b-zone.ro
SteamID: -
Reputatie: Fost Scripter eXtreamCS
Membrul anului 2016
Membru Club eXtreamCS (1 iul )
Location: Targu Mures
Has thanked: 5 times
Been thanked: 13 times
Contact:

15 Dec 2016, 19:36

tictac wrote:Carnacior @ cred ca ai uita pe ce forum esti...
prea multa vorbaraie...
ceea ce spui tu e adevarat dar nu pe extream:))
Daca nu explica cineva pe limbaj uzual si in romana nu invata nimeni nimic. Majoritatea cauta decompilator sau disassembler, nu citesc nimic despre el sau despre subiect ca e totul in engleza si jargon tehnic. Il descarca, incearca sa desfaca ceva, le iese o ciorba de informatii nesortate, se gansesc ca fie e stricat programul fie sunt ceva genii care pot "repara" acel plugin.

Sa fim seriosi, in aproape orice caz e mai simplu de clonat un plugin decat sa desfaci originalul. Programele astea n-au fost facute pentru asta, au fost facute pentru analiza, in mare parte pentru pluginurile fara sursa suspecte (vezi postul lui tiger in topicul r4ge guard). Modul lui nubo putea fi si el clonat si poate si imbunatatit (spun asta nestiind cum e facut) in cateva zile maxim.




Mai mentionez ceva foarte important ce vad ca n-a fost spus la topicul ala cu modul csgo al lui nubo:

Sa scoti o licenta, ceea ce in cele mai multe cazuri inseamna modificarea unui if(); sa sara peste verificarea de IP e mult, MULT mai simplu decat sa decompilezi un plugin in sursa functionala. Eu sunt foarte sceptic ca acel tip are sursa intreaga a pluginului, si daca o are, a facut rost prin decompilare. Voi cita partea asta si in acel topic.
Ai nevoie de o protectie pentru server? R4GE Server Guard
Cel mai avansat si folosit plugin de protectie romanesc public! Nu ma crezi? VERIFICA


http://www.facebook.com/xyz.aron
Follow me for random bullshit and possibly interesting updates
Skype @ xyz_aron


Image
ZombieAddict
Membru, skill +1
Membru, skill +1
Posts: 133
Joined: 14 Dec 2016, 11:08
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

16 Dec 2016, 11:56

Am gasit o metoda :x
aLonE1337
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 206
Joined: 28 Aug 2016, 22:08
Detinator Steam: Nu
Fond eXtream: 0

17 Dec 2016, 10:45

ZombieAddict wrote:Am gasit o metoda :x
pai nu ne-o spui si noua ?:))
User avatar
Hades Ownage
Membru eXtream
Membru eXtream
Posts: 3182
Joined: 22 Oct 2008, 10:12
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Fost Scripter eXtreamCS
Nume anterior: hadesownage
Location: Iasi
Has thanked: 324 times
Been thanked: 406 times

17 Dec 2016, 16:29

Posteaza plugin-ul si spune ce vrei sa faci.
Post Reply

Return to “Discutii generale”

  • Information