ar galima kaip nors encodinti python scriptus

N
  • 27 Grd '08

galvoju ka man mokintis Java ar Python, su pasirinkta kalba planuoju daugiausiai rasyti programas o ne web. Kas ir kaip su Java daugmaz zinau, taciau apie python nelabai ka. Ar jo sourcus galima encodinti kaip nors ar juos kompiliuoti i kitus failus na, kad negalimetu ju tiesiog paimti ir pasiziureti kas ir kaip pas ji viduje.

S
  • 28 Grd '08

@Neodan
Kažkoks labai pas tave ne Open Sourcinis požiūris. Jei taip mąstai, tai Python tikrai ne tau, nors Python kodą galima užkoduoti į tam tikrą bytecodą, kuris išsaugomas su .pyc galūne. .pyc kodavimas naudojamas ne dėl kodo paslėpimo, o dėl greitesnio programos paleidimo, kad nereikėtų python sourco kas kart interpretuoti.

Su Java mažai teko susidurti, tačiau su Python gali puikiausiai kurti normalias programas, tiek GTK, tiek Qt, tiek kitiems grafiniams toolkitams.

Kitas klausimas, kodėl gi tu taip bijai, kad kas nors pamatys tavo kodą? Manai kad kažką sukursi tokio, ko dar nėra sukurta?

N
  • 28 Grd '08

Nieko naujo nezadu sukurti, tiesiog cia klausimai susije su poziuriu i ateiti.
odel tu .pyc tai speju juos eina lengvai decompilinti i pradini source faila (panasiai kaip falima ir Java class failus decompilinti).

Tiesa, paklausiu prie to pacio del GUI darymu. Noreciau suzinoti kokia programa ir ka patariat naudoti darant GUI programai, kuri turetu veikti tiek ant Windows tiek ant Linux OS (prioritetai butu GUI sparta, mazas resursu naudojimas +/- vienodas atvaizdavimas ant skirtingu OS) na ir zinoma, kad kuo maziau reiktu knystis clientuj norint susinstalinti ir pasileisti mano programa.

S
  • 28 Grd '08

Dėl .pyc dekompiliavimo tai tiksliai nieko nežinau, bet kaip ir rašiau, tų failų tikslas ne kodo apsauga, o greitaveika.

Šiaip tai Python kodą galima sukompiliuoti į ką tik nori, į EXE, į Javos ar .NET JIT byte kodus ar specialius paleidžiamuosius ZIP konteinerius... Tačiau dažniausiai naudojamas būdas yra paprasčiausiai nekompiliuoti .py failai, kurie pirmo paleidimo metu patys susikompiliuoja į .pyc. Bet kokiu atveju gali plačiau pasiskaityti apie kompiliavimą čia: http://effbot.org/zone/python-compile.htm

Dėl GUI, tai labai priklauso nuo to kokį toolkitą pasirinksi. Jei pavyzdžiui pasirinksi PyGtk, kuris veikia ant visų platformų, tai galėsi naudotis tokių įrankiu kaip Glade, kurio pagalba gali kurti formas ir t.t. Kad programų išvaizda geriau derėtų prie OS, kurioje ji bus paleista, tai geriau tinka WxPython, atitinkamai galėsi naudotis WxGlade įrankiu. Yra žmonių kuriems patinka Qt biblioteka, dėl jo patogaus API, Jei planuoji programuoti tik Windowsams, tai yra win32 toolkitas python'ui. Taip, kad pasirinkimas labai didelis. Plačiau apie viską gali pasikaityti Python svetainėje: http://wiki.python.org/moin/GuiProgramming

N
  • 29 Grd '08

@sirex
Labai aciu uz atsakyma, manau isbandysiu WxPython, nes noriu kad GUI graziai ziuretusi ant ivairiu OS

0
  • 23 Vas '09

@Neodan

Na poreikis sifruoti py skriptus tikrai keistokas Bet jei jau labai labai nori ... ka padarysi Jeigu nori labai primityvaus sifravimo,- galima nesunkiai paciam pasirasyti su XOR operatoriaus pagalba. Kodas butu mazdaug toks:

def Obfuscate(string,key,encrypt):
    rez = ''
    keyfull = key*len(string)
    if encrypt:
        strl = [ord(x) for x in string]
    else:
        strl = [int(c,16) for c in string[1:].split(',')]
    for i in range(len(strl)):
        k = strl[i]^ord(keyfull[i])
        if encrypt:
            rez+= ', ' + hex(k)
        else:
            rez+=chr(k)
    return rez

def ObfuscateTxtFile(file,key,encrypt):
    f=open(file,'r')
    txt = f.read()
    if not encrypt and txt[0] != ',': return
    f=open(file,'w')
    f.write(Obfuscate(txt,key,encrypt))

# Iskoduojamas uzsifruotas modulis
ObfuscateTxtFile('obfuscated.py','password',False)

# Atliekami norimi veiksmai, kaip visada
import obfuscated
# blah, blah, blah

# Uzkoduojame atgal moduli
ObfuscateTxtFile('obfuscated.py','password',True)

Na va ir tiek ziniu. Jei nori kazko rimciau - teks naudoti kokia rimtesne python sifravimo biblioteka,- pvz. PyCrypt.

Sekmes.

0
  • 23 Vas '09

@Admin
tfui, sugadino visa py failu tabuliacija sis forumas, ech...
O gal laikas butu forume ivesti koki nors taga "CODE", kad butu palikta kodo tabuliacija. O dar geriau - kad ir sintakse pagal python paryskintu, na bet cia nebutina

@Neodan
Na va idejau koda i paste.lt,- graziau atrodo su sintakses paryskinimu ir tabuliacija, ziurek cia-

http://www.paste.lt/paste/9654f3b5a7213 ... 01be6cc8e5

S
  • 25 Vas '09

@0x69
Šone, yra tokia nuoroda: [bbcode], o su bbcode gali naudoti code žymę, kuri išlaiko tarpus.

Tikiuosi nieko prieš, kad paredagavau tavo postą ir uždėjau code žymes

D
  • 25 Vas '09

@sirex
kad nerodo man visgi tabuliacijos 0x69 kode :/

@neodan
iš wxPython (šiokia tokia LT intro) serijos anksčiau kažkas rekomendavo PythonCard,
dar man patiko [url=http://wxglade.sourceforge.net/]wxGlade[/ur] , kuris kiek primena Delphi,
dar pagal kodo pavyzdį patiko ir Wax

šiaip, atrodo, QT dabar ant bangos
yra pyQT ir QT Designer, pvz ,
[url=http://www.bawet.org/python_qt/Cours_python_Qt/qtdesigner_eric_intro.pdf]Eric IDE + QT Designer 3 ale Tutorialas[/pvz]
ps.: QT yra minčių ir OOo naudoti

N
  • 26 Vas '09

@dzo
bet ar QT veiks ant ivairiu OS (Win, Linux, MacOS)?

0
  • 26 Vas '09

@sirex

Nieko pries, prasom i sveikata Aisku tabuliacija vis tiek praverstu
Beje pastebejau, kad forumas kiek pagadino koda - masyvo strl indeksas "["i"]" pavirto i html kodo italic elementa, t.y. susikirto su bbcode
Ko gero visas sias problemas issprestu <pre> html tagas. Ar galima cia naudoti si taga ?

T
  • 26 Vas '09

http://www.ubuntu.lt/render/Forum;thread,3448

Šitoj temoj jau buvo šnekėta apie skriptų kompiliavimą, o ji buvo ir dar yra viršuje. Tai kaip jos niekas nepastebėjo.

N
  • 26 Vas '09

@TeaeZ
Sita tema as gerokai seniau uzvedziau nei tu savaja Taigi tu cia patingejai paieskoti pries uzvesdamas savaja

T
  • 26 Vas '09

Praeitą žinutę parašiau ne kad kažkokius ginčus kelt kas ankščiau temą sukūrė. Tik šiaip įdomu, kad niekas naujose žinutėse nenukreipė į tą temą nors joje yra atsakymas. // Dabar pamačiau, kad tu toj temoj jau atsakęs. Tiek to.

S
  • 27 Vas '09

O dėl tabuliacijos, pas mane ją rodo. Gal būt pas jus užkešuoti stilių failai? Nes šiek tiek pakoregavau stilių failą. Ctrl+F5 turėtų pradėti.