Page 1 of 2

HEX .amxx editing ;p

Posted: 2013 Mar 25 23:59
by alfre
Gal jums tai pasirodys biski galvos skausmas,bet bent jau kas pazenge esat ant scriptingo(ne tik Pawn) manau suprasit.
Image
taigi taip : hex (72) 38 6d f6 = (u)3698166
kaip matote foto,pakeiciu i hex (72) 38 6d f7 = (u)3698167
viskas vienoj vietoj.kai padarau save,ikeliu plugina i serveri meto :
L 03/25/2013 - 23:53:39: [AMXX] Zlib error encountered: -3(108801)
L 03/25/2013 - 23:53:39: [AMXX] Zlib error encountered: -3(108801)
L 03/25/2013 - 23:53:39: [AMXX] Zlib error encountered: -3(108801)
cia yra .amxx editinimas..sma failo neturiu.gal galit pasakyt kaip isvengti sito erroro?
ir svarbiausia,su defaut needitintu .amxx failu niekas necrashina,o cia pakeiciau skaiciuka ir neveik...
Ai dar vienas error :
[AMXX] Internal error: Decompress (plugin "sj_tournament_plus.amxx")
keiciant su betkokia programa taspats.

Re: HEX .amxx editing ;p

Posted: 2013 Mar 26 00:22
by aaarnas
Ryškiai pakeiti kažkuriuos bitus, kurie ką nors linkina, nurodo dydžius ar kitos funkcijos, dėl to atsiranda klaidos. Kiekviena komanda turi savo atitinkamą "skaičių", specifinį parametrų kiekį. Reikia išmanyti architektūrą, bei žinoti, kaip kompiliuojamas amxx pluginas, kad kažką ten redaguoti.

Re: HEX .amxx editing ;p

Posted: 2013 Mar 26 00:36
by alfre
supranti,cia pakeiciamas tik skaicius,bitai,viskas taspats.nebent simbolis kaltas.bet abejoju.arba koduote gal..

Re: HEX .amxx editing ;p

Posted: 2013 Mar 26 00:59
by aaarnas
Tu nežinai ar ten skaičius. Tokių simbolių gali būti daug arba ten iš viso ne tas simbolis. Pakanka padaryti per didelį skaičių ar pakisti ne tą ką reikia ir viskas lėks lauk. Be to, dabar nepamenu tiksliai iš architektūros paskaitų, bet bitai yra išdėstyti ne iš eilės, bet atvirkščia tvarka, tad gali būti, kad įrašai skaičių, kuris yra netaisyklingai suformatuotas. Sakau, čia reikia aiškintis amxx failo architektūrą, kad kažką daugiau pasakyti. Geriausia dekompiliuoti į asm.

Re: HEX .amxx editing ;p

Posted: 2013 Mar 26 01:05
by alfre
nu dekompiliuoji i ta asm,kas is to ?tai tik decompilina,o tai kaip tada is asm kompiliuot i amxx?nesuprantu :D
gi tas .asm tai tik .amxx dekompiliavimo logai :)

Re: HEX .amxx editing ;p

Posted: 2013 Mar 26 16:31
by aaarnas
Ne, pasirodo negalima taip, kaip mąsčiau.

Re: HEX .amxx editing ;p

Posted: 2013 Mar 29 03:03
by Tetusis
kiek atsimenu bandes buvau, gali pakeisti tik string kuris nera hex ar dec value, bent jau man taip gavos, o kas liecia dekompiliavima nemanau, kad tau kas nors is cia esanciu pades, tai vienas is sudetingiausiu procesu atkurti kodo dalis is bitu, siaip norint pradet kazka pirmiausiai ne i amxx gilinkis o i pati amxx kompileri ir kaip jis veikia, kokie branch'ai ju tipai, kodo infrastruktura ir t.t, yra gana daug tutorialu kaip tai igyvendinti, dar vienas dalykas kuris tau pravers


http://www.asciitable.com/

Re: HEX .amxx editing ;p

Posted: 2013 Mar 31 00:27
by alfre
taip zinau,as jau pasidariau to ko man reikejo,bet labai ilgai reikejo cia krustis..
beje su hex editinimu kazkokia xujnia.kazkodel generuojasi tie nauji hex kodai....
buna taip : 38 6d f7
38 6d 66 f7...
Beje .hex as needitinau.Dariau kitaip :
Norejau apeiti online verification siame plugine ir pavyko.
Pluginas jungiasi i mysql serveri,ir jeigu nepavyksta prisijungti,servas uzluzta.
Taigi kilo ideja : reikia perkurti pati sqlite.Bet su kompiliavimu buvo problemu...
alliedmodders nifiga nepadeda,nieko ten jie nesarina,lopai atsiprasant yra..
kol sustvarkiau kad compilintu per linux,ir dar pati koda c++ reikejo redaguot... 3 dienu darbas bet pavyko...
L 03/30/2013 - 17:13:29: [AMXX] Plugin (blabla.amxx") is setting itself as failed.
L 03/30/2013 - 17:13:29: [AMXX] Plugin says: - Your server has not passed online verification.
L 03/30/2013 - 17:13:29: [AMXX] Displaying debug trace (plugin "blabla.amxx")
L 03/30/2013 - 17:13:29: [AMXX] Run time error 1: forced exit

Code: Select all

static cell AMX_NATIVE_CALL SQL_Connect(AMX *amx, cell *params){    SQL_Connection *sql = (SQL_Connection *)GetHandle(params[1], Handle_Connection);    if (!sql)    {        MF_LogError(amx, AMX_ERR_NATIVE, "Invalid handle: %d", params[1]);        return 0;    }     DatabaseInfo nfo;    nfo.database = sql->db;    nfo.user = "";    nfo.pass = "";    nfo.port = 0;    nfo.host = "";     char buffer[512];    int errcode;     IDatabase *pDb = g_Sqlite.Connect(&nfo, &errcode, buffer, sizeof(buffer)-1);     if (!pDb)    {        cell *c_err = MF_GetAmxAddr(amx, params[2]);         *c_err = errcode;        MF_SetAmxString(amx, params[3], buffer, params[4]);         return 1; vietoj return 0;irasiau return 1;    }     return MakeHandle(pDb, Handle_Database, FreeDatabase);} 
ir viskas,jei fail connect grazina tiesa... .hex tai tarsi savizudybe.. ypac dar ant .amxx...

Re: HEX .amxx editing ;p

Posted: 2013 Mar 31 14:27
by TETYYS
jei ant binary falo pridėsi papildomai baitą, o ne pakeisi viskas sugrius.

Re: HEX .amxx editing ;p

Posted: 2013 Mar 31 14:46
by alfre
taip..... per daug knisimosi cia.. net ir axjieniausias scripteris negaletu per hex kazka rimto paredaguot.. greiciausiai jis suskurtu pats scripta :D
Bet nejaugi niekas nesugeba sukurti programos,kuri decompiliuotu i sma?nejaugi taip sunku? :D