Ascundere string/oprire decompilare

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 917
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

07 May 2021, 22:50

Cum pot ascunde un string in cazul unei decompilari ? Sau cum pot opri decompilarea?
RoyalServer 2
Shadows Adi
Membru, skill +1
Membru, skill +1
Posts: 349
Joined: 26 Jan 2020, 18:52
Detinator Steam: Da
CS Status: 0x416469
SteamID: shadowsadi120
Fond eXtream: 0
Has thanked: 14 times
Been thanked: 50 times

07 May 2021, 23:31

Nu se poate pentru orice metoda.
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 917
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

08 May 2021, 01:44

Ok, dar nu este o modalitate sa ascund niste date ?

Si in acelasi timp, ce este bine sa folosesc pentru licentierea pe perioada de timp ?

get_time sau get_systime ?
User avatar
kidd0x
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 1054
Joined: 06 Oct 2018, 14:41
Detinator Steam: Da
SteamID: /id/kidd0x/
Reputatie: Utilizator neserios (tepar!)
Fond eXtream: 0
Location: Constangeles
Discord: kidd0x
Has thanked: 172 times
Been thanked: 81 times

08 May 2021, 01:59

Pentru licentierea pe o anumita perioada de timp foloseste get_systime

Idem Adi , nu poti ascunde perfect un string la decompilare , dar poti fi outsmart si sa gasesti tu o metoda care ingreuneaza gasirea solutiei, uite un exemplu pentru ip-ul 127.0.0.1

Code: Select all

new var[6], ip[10]
var[0] = 1
var[1] = 2
var[2] = 7
var[3] = 0
formatex(ip, charsmax(ip), "%d%d%d.%d.%d.%d", var[0],var[1],var[2],var[3],var[3],var[1])
...
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 917
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

08 May 2021, 03:59

De ce imi sugerezi sa nu folosesc get_time ? Cat timp ia timpul din host si nu de pe server (din cate am inteles se poate face ceva sa dai timpul de pe server in urma) pentru mine e bine.

Nu as avea problema cu asta pentru ca licentierea oricum o fac prin mysql, ma interesa mai mult cum pot sa ascund un string.

Este o alta modalitate in afara de cea spusa de nevermind mai sus ?
Shadows Adi
Membru, skill +1
Membru, skill +1
Posts: 349
Joined: 26 Jan 2020, 18:52
Detinator Steam: Da
CS Status: 0x416469
SteamID: shadowsadi120
Fond eXtream: 0
Has thanked: 14 times
Been thanked: 50 times

08 May 2021, 10:42

lexz wrote:
08 May 2021, 01:44
1. Ok, dar nu este o modalitate sa ascund niste date ?

2. Si in acelasi timp, ce este bine sa folosesc pentru licentierea pe perioada de timp ?

get_time sau get_systime ?
1. Pentru ascunderea datelor, poti codifica string-urile, iti recomand md5 pentru incepatori, dar daca te descurci, poti folosi si codarea in base64 ( hexadecimal ). Dar tine minte, niciuna din metodele mentionate nu sunt doar "one way", pot fi decompilate de cineva care isi da seama de metoda folosita.

2. Pentru licentiere, poti folosi un script php. Deschizi o conexiune web socket, iar scriptul PHP iti returneaza IP-ul serverului. In acest fel poti scoate licenta oricand doresti. ( merge si un site care iti arata IP-ul de pe care trimiti datele HTTPs.

Dar, daca tot doresti sa incerci cu get_time / get_systime, le poti folosi pe amandoua. get_time() daca nu te descurci prea bine cu UnixTime, iar get_systime() daca doresti cu UnixTime. Dar e mai mult cod de scris daca alegi get_systime()
deprale
Membru nou
Membru nou
Posts: 1
Joined: 16 Aug 2021, 08:01
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0

17 Aug 2021, 03:59

Unica metoda ar fi sa iti faci un modul propriu pentru metamod(care btw, poate fi si el crackuit, dar mult mai greu dat fiind ca il poti obfusca etc ... desi nu stiu, poate fi dumped odata ce e incarcat in memorie oricum, dar nu stiu daca cineva cu asa cunostinte ar avea nevoie de pluginul tau, si la acest nivel nici nu ai mai fi sigur de siguranta propriului server ca detinator)
Celelalte metode pot fi toate bypassuite...
Poti recompila amxx fara set_fail_state, sau pur si simplu sa ii dai nop din hxd/ida/ghidra/samd(la orice check nu ai face) in orice caz, daca vrea cineva sa-ti dea crack la plugin, o sa o faca extrem de usor dat fiind ca totul e OPENSOURCE incepand de la hl1sdk la metamod pana in amxx.
Poate sa redirectioneze acel IP de la pagina ta spre al lui, iar daca are mai mult de 30 iq o sa vada si cum preiei datele si pur si simplu o sa bage IP-ul sau, dat fiind ca la decompilare se vede aproape tot in plaintext xD.


Ca sa "impiedici" decompilarea vs skids poti pur si simplu sa intri pe github la lysis, si sa iei din issues (ne-inchise) sample codes si sa le pui cat mai sus posibil in pluginul tau(sau sa recreezi ceva similar, a.k.a JuNk cOdE), ca sa impiedice decompilarea prematur.

Si mai erau cateva chestii care le puteai defini pentru preprocessor care tot, impiedicau total unele "decompilatoare" pentru amxx, desigur acestea nu vor opri un decompilator bun (aka IDA/GHIDRA/s.a.m.d), dar la fel, nu stiu cine s-ar obosi cu asa cunostinte sa iti dea crack la plugin.
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 10 guests