Jednoduchy Unpacker/Packer – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jednoduchy Unpacker/Packer – .NET – Fórum – Programujte.comJednoduchy Unpacker/Packer – .NET – Fórum – Programujte.com

 

Mutagen0
Super člen
26. 8. 2010   #1
-
0
-

Zdravím ...
Chtel bych se zeptat jak fungujou unpackery/packery protoze rad bych si chtel nakej jednoduchej napsat ale problem je v tom ze vubec nevim jak :-( jestli nevite jak to funguje jestli by jste mi to nekdo nemohl napsat ci poslat nakej jednoduchej kod jak to funguje tak bych byl docela vdecny ... (Jde mi o Unpacker/Packer jak do 1 neznamyho souboru zapise treba 10 dalsich souboru a nebudou se dat nijak prohlizet pouzivat apod .. Jenom pres ten Unpacker) Dekuji moc za nejaky rady ...

Nahlásit jako SPAM
IP: 88.101.160.–
illioner0
Stálý člen
26. 8. 2010   #2
-
0
-

A umíš načíst obsah těch souborů a spojit ho za sebe, respektive za nějakou hlavičku o těch souborech(s určitým formátem kde bude jmeno,velikost každýho souboru, + jejich pošet). Jde ti o kompresi? Pak existuje třeba LZ77, Huffmanovo kódování. V opačnym případě ten jejich vastní obsah můžeš prostě jen přelít nějakými "náhodnými" čísly.

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
Mutagen0
Super člen
26. 8. 2010   #3
-
0
-

No prave ja vubec nevim jak to udelat takze ani nevim co to obnasi ... No je mi jedno jakou kompresi bych to pakoval do nakyho souboru to by se vytvorilo hlavne jde o to aby to neslo otevrit nijak jinak nez pres ten unpacker ... vlastne jde mi presne o to co jsi psal neboli
Vypis Souboru co jsou v tom souboru zapakovany
Kolik jich tam je
A pak to hlavni pridat do souboru a pak zase vyndat
a aby to neslo jinak otevrit nez pres Program

Nahlásit jako SPAM
IP: 88.101.160.–
Mutagen0
Super člen
26. 8. 2010   #4
-
0
-

jeste sem zapomnel odpovedet ... O kompresi mi nejde ani o velikost danyho souboru -> zapisu tam treba 4mb fotek (treba) a ten soubor by byl stejnej o kompresi ne jenom o zapakovani a pak unpakovani..

Nahlásit jako SPAM
IP: 88.101.160.–
illioner0
Stálý člen
26. 8. 2010   #5
-
0
-

napíšeš kde konkrétně ses zasek v kódu(snad ne na 1. řádku...)? Nebo očekáváš od kolemjdoucích i vypsat funkce pro načtení binárního souboru do bufferu? Práci s bufferem pak snad zvládneš, formát zápisu je k diskuzi...
Jinak to plánuješ s UI a registrovanou vlastní příponou souboru nebo ti de jen o volání skrz funkci (knihovna-dll), pak to je na pár chvil..

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
Mutagen0
Super člen
26. 8. 2010   #6
-
0
-

Reknu to takhle Ano jeste sem nezacal protoze nevim jak zacit praci s bufferem sice neumim tolik ale to se da jeste napravit ... Jinak Chtel bych vlastni priponu ... Jak uz sem psal jde mi jen o par veci -> Pridavat , Vyextrahovat , A zapisovani vic souboru do 1
Edit : To pridavani a vyextrahovani bych rad po 1 souboru ci vic ale to se da "casem" pridat tedka jenom ty zakladni veci

Nahlásit jako SPAM
IP: 88.101.160.–
illioner0
Stálý člen
27. 8. 2010   #7
-
0
-

sem si nasel tvuj dotaz na nejaky XML veci. Takze asi nehovoris pro .net v reci Borland C++ VCL jako ja. Ja bych udelal se soubory treba 10x open() read() v cyklu a pak lepeni hlavicky a zapis + close. Neni C# o :smile10: ?? :D

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
Mutagen0
Super člen
27. 8. 2010   #8
-
0
-

Takze sem si nejak rozmyslel co a jak a zacal jsme pracovat ... Lepe receno udelal jsem to zakladni a tedka mam problem ....
Jak nactu soubor do Bufferu
Jak ho z Bufferu predam do Myho souboru
Jak ten urcitej soubor Poznam jak oddelit od ostatnich

Nahlásit jako SPAM
IP: 88.101.160.–
illioner0
Stálý člen
28. 8. 2010   #9
-
0
-

ohledne souboru - zapracuj s datovym objektem Stream, jeho metodou read, najdi v Helpu FileStream nebo co ja vim.
Mas nejaky potom nejspis i dalsi Array.Copy pro manipulaci pri kopirovani bufferu.
Sestaveni vyslednyho souboru si predstav jako jak jsem psal hlavicka tu seskladas napriklad:
1.polozka - pocet souboru - velikost Long
2.polozka - Xkrat(podle poctu souboru) neboli pole Long velikosti
3.polozka - pole Stringu se jmeny ovsem musis to kopirovat a orezavat na nejakou konstatni velikost
treba 300 bytes
4.polozka - samotna data
potom pri 5 souborech mas prvni ukladany soubor se svymi daty na 1*4+5*4+300*5=1524 B
no a tam to zapises (pokud by mel soubor moc zapises postupne po castech - nejaky write)
dalsi soubor je na adrese 1524+delka prvniho souboru , tu znas z Polozky c.2

Klidne si to namaluj..

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
Mutagen0
Super člen
28. 8. 2010   #10
-
0
-

To illioner :
Pani kdyby si todle napsal hnedka na zacatku tak jak blazen neschanim na netu naky informace ktery me zabraly hodiny hledani :-D Jinak to rozaznani nechapu jak udelat protoze kdyz prece zapisu ten muj soubor do toho a pridam k nemu neco tak pak ve vysledku kdyz bych to chtel zobrazit tak to nepujde protoze bude mit uplne jinak stavenou hex soustavu (myslim tim ze tam rpidam jmeno) Jinak ptal jsem nactu soubor do bufferu ... Dik

Nahlásit jako SPAM
IP: 88.101.160.–
illioner0
Stálý člen
28. 8. 2010   #11
-
0
-

.. no ano kde je jenom to dokonale borgske sdileni vedomi/vedomosti :-)

O cem to pises? Ty mas tyhle 2 moznosti zapisu:
1. bud String prevedeny pomoci/pres tochararray zapises do Streamu metodou Write tak uplne stejne jako predchozi Longy, Pole, atd.
Neboli kazdou polozku das rovnou Write do Streamu, zadny problem nenastane (jenom prebrodit pretypovani)
2. vsechno budes davat do char* pole, pomoci toho arraycopy (nebo jestli umis pracovat primo s ukazateli tak i bez) a posunujes se pres nejaky ukazatel. Kod je unsafe.
Promenna cele char* Pole; najednou zapises do toho 1 pakovaneho souboru naraz..
(nebo misto char* Pole; stvoris byte[] Pole; a nejaky to pretypovani)

uz to mas mit davno 100x hotovy

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
Mutagen0
Super člen
28. 8. 2010   #12
-
0
-

No pisu o tom ze kdyz si prevedu 1 soubor + zapisu do nej nazev nebo neco takovyho tak je pak problem v tom ze kdybych ho otevrel v tom mym souboru tim urcitym programem co bych otviral treba fotky tak uz me to nepujde protoze tam bude uz pripsana hodnota "nazvu"

Nahlásit jako SPAM
IP: 88.101.160.–
illioner0
Stálý člen
28. 8. 2010   #13
-
0
-

blbost, kdo tady pise ze ti bude stacit otevrit soubor, musis ho vytvori z tech dat na ty pozici co si vypocitas.
Pri Unpack funkci prijmes jako parametr cislo (index), z toho cisla si spocitas pozici dat souboru a jeho jmeno. Data nactes (seek,read), jmeno nactes(seek,read).
Read ti to da do nejakyho char[] pole a z toho neni problem vytvorit String, resp. to osekane misto na pozici 1524+index*velikost_predchozich_souboru a zbytek kopirovat do Nove tvoreneho originalniho (puvodniho) souboru. Pripadne predas jako result ty funkce jen ta orezana data, kdyz se ti nelibi vytvaret soubor na Disk. No a mas Buffer s daty te fotky.

hele uz jsem si pred lety spousty takovejch blbosti naprogramoval a nikdy problem nebyl :DD

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 32 hostů

Podobná vlákna

Unpacker — založil player

Jednoduchy for — založil Durza

Jednoduchý zásobník — založil kadet

Jednoduchý košík — založil mich

Jednoduchý shoutbox — založil takinoo

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý