PCPROG.4

22 Apr 1994 - 05 Jan 1995

Topics

  1. algoritmi (153)
  2. comment (15)
  3. ms.dos (123)
  4. windows (304)
  5. asembler (103)
  6. basic (80)
  7. jezici (196)
  8. pascal (880)
  9. cccc (586)
  10. cpp (157)
  11. clipper (1267)
  12. baze.podataka (525)
  13. razno (529)

Messages - razno

razno.410 mmitrovic, -> #402, nbatocanin
Ů█▀█Ţ postojećih. Na primer, kako otkrivate zaštite koje su napravljene da Ů█▀█Ţ okidaju posle određenog vremena (moje omiljene :) )? Prosto. ;) Da bi se nešto aktiviralo posle nekog intervala (ili bilo koja zaštita koja zavisi od vremena) mora da se uradi jedno ili više od sledećeg: - da se preuzme INT 08 (tj. IRQ0, događa se 18.2 puta/sek) - -----//------ INT 1C (koja se poziva iz INT 08) - da se očitava BIOS Clock Count (DWORD koji predstavlja broj otkucaja od ponoći (average 18.2/sek). Ja lično tipujem ovim redom. Postavim se na ulaz u INT 21h i postavim uslovni breakpoint (AX=2508h, set int. vector 08) i pustim program da teče. Ako se upeca, super, imam adresu handlera i ostatak je rutina. Ako ne upali pređem sa istom forom na 1C. Ako nije ni to onda napravim rutinu koja se kači na 1C i dekrementira BIOS counter (standardni INT 08 ga u svakom prolazu inkrementuje), samim tim ga održavam na istom broju i vreme staje. Takođe mogu da postavim hardware breakpoint za čitanje i stavim mu adresu countera (40h:6Ch) i jednostavno dođem do koda koji pravi frku ;). Naravno, ovo je najprostija varijanta, bez dodatnih začkoljica (menjanje breakpointa, otimanje int. vektora, itd.), ali ni to nije ništa strašno.
razno.411 mmitrovic, -> #405, bulaja
Ů█▀█Ţ može biti sasvim dovoljno da opameti "hakera" :). Kad me ni obrisani CMOS nije opametio, ovo neće sigurno. ;) Osim toga, moj BIOS ima potpis na veoma nestandardnom mestu, i nije lako doći do njega.
razno.412 mdrazic, -> #403, bceklic
> No ako je posao u pocetku bio obavljen cisto a to znaci da su u > programu 'sredjena' sva mesta gde se vrse provere u vecini slucajeva > vremenski okidac se nece ni aktivirati. Jer i taj okidac poziva > jednu od provera koje su 'sredjene' tako da prijavljuju samom > programu da je sve ok. Ako u programu imate 150 mesta koje pozivaju > rutinu za proveru poenta je da sredite pomenutu rutinu a ne da > unistavate 150 poziva. Ako se cela zaštita svodi na kraju krajeva na jedan ili par IF-ova onda nema spasa ni programu od 2MB. Nego, kako skidate zaštitu ako u programu NEMA nikakve takve provere? Ja zaštitu (Clipper) programa izvodim kriptografski: na osnovu nekog ključa (jedinstvenog za mašinu) program dekoduje nešto i kao rezultat dobija naziv funkcije, procedure koju treba startovati. Ako ključ nije dobar, dobije neko đubre, startuje to i zakuca mašinu. Milan
razno.413 mdrazic, -> #410, mmitrovic
> Prosto. ;) > Da bi se nešto aktiviralo posle nekog intervala (ili bilo koja zaštita > koja zavisi od vremena) mora da se uradi jedno ili više od sledećeg: > > - da se preuzme INT 08 (tj. IRQ0, događa se 18.2 puta/sek) > - -----//------ INT 1C (koja se poziva iz INT 08) > - da se očitava BIOS Clock Count (DWORD koji predstavlja broj > otkucaja od ponoći (average 18.2/sek). Koliko ja znam, autor nije imao na umu sekunde i minute, već dane, nedelje,... . Za takvu proveru ti i ne treba gore pobrojano, već je dovoljno da samo pročitaš direktorijum (sa datumima), ili kontrolišeš datume na fakturama, ili nešto slično. Milan
razno.414 mdrazic, -> #411, mmitrovic
> Kad me ni obrisani CMOS nije opametio, ovo neće sigurno. ;) Nije štos da mu napraviš trenutnu štetu, već da mu štetu praviš neprimetno u dužem vremenskom trajanju, nepredvidivo, a da sve izgleda da radi OK, tj. da tako i radi, ali ponekad... :)))) Radi onih što zaštite skidaju, ono ponekad se može postaviti da bude relativno retko, pa da se namuče. Milan
razno.415 bceklic, -> #412, mdrazic
> Nego, kako skidate zastitu ako u programu NEMA nikakve takve > provere? Ja zastitu (Clipper) programa izvodim kriptografski: > na osnovu nekog kljuca (jedinstvenog za masinu) program > dekoduje nesto i kao rezultat dobija naziv funkcije, procedure > koju treba startovati. Ako kljuc nije dobar, dobije neko dubre, > startuje to i zakuca masinu. Program mora da se debaguje na masini na kojoj je predvidjen da radi. Samo poznavanja algoritma za dekryptovanje u ovom slucaju hakeru ne znaci apsolutno nista. Isti metodu pri izboru kljuca za sifrovanje koristi i PC GUARD. Naravno kod PC GUARD-a kljuc se koristi za generisanje niza brojeva kako bi 'one time pad' metoda bila bolja i sigurnija. Najveci problem kod tvoje zastite je taj sto potencijalni haker moze da dodje do mesta gde ti vrsis dekryptovanje i prouci algoritam. Naravno pretpostavlja se da radi na masini na kojoj je tvoj program instaliran (sto je u najvecem broju slucajeva nikakav problem). Tu dolazi do izrazaja PC GAURD koji omotava citav program zastitnim slojevima koji ne dozvoljavaju prilaz tvom programu. Tu je i neizbezni CRC 32 koji se aktivira ako je doslo do bilo kakve promene na programu. Pozdrav!
razno.416 omega, -> #410, mmitrovic
Ţ Ja licno tipujem ovim redom. Postavim se na ulaz u INT 21h i postavim Ţ uslovni breakpoint (AX=2508h, set int. vector 08) i pustim program da Bas si mi pao kao kec na 11 ;)) Kako u TD da namestim breakpoint na neku instrukciju? Znaci konkretno bas nesto kao ovo gore navedeno. I oce neko da bude ljubazan i objasni ukratko one hardware breakpoints :)
razno.417 dejanr, -> #415, bceklic
>> Tu dolazi do izrazaja PC GAURD koji omotava citav program zastitnim >> slojevima koji ne dozvoljavaju prilaz tvom programu. Tu je i neizbezni >> CRC 32 koji se aktivira ako je doslo do bilo kakve promene na programu. Hm, deluje da bi trebalo da isprobamo taj PC GAURD, da ne kažem GUARD :)
razno.418 max.headroom, -> #408, goxx
> Ali prodati program za knjigovodstvo; to je već nešto drugo. Istina. Mada mislim da je problem sledeći: do sada sam sreo preko pedeset knjigovođa, i video da koriste pedeset i jedan metod knjiženja. Da ne grešim dušu - sve se to svodi na isto, ali čoveku koju 15-ak godina radi jednom metodom (papirna metoda, recimo), osim što se privikava na kompjuter (užas), mora još da menja i sistem rada. Te, nazovi razlike, i nisu velike, ali je sam tip posla čista kolotečina i zna da te brzo pretvori u automat. Znam ljude koji su nabavili domaćeg softvera na kilo, pa krenuli u "ozbiljan biznis". One osnovne probleme (indeksi popadali, reporti treba da se menjaju) još su i prebrodili koristeći literaturu, ali ih je najviše gnjavila neka sitnica, npr. položaj određene stavke u meniju (nedostupna), ili loše (hmh) organizovan šifarnik komintenata, i tako u krug. Na kraju naručiše softver, i rade pa pevaju. :)
razno.419 bceklic, -> #413, mdrazic
> Koliko ja znam, autor nije imao na umu sekunde i minute, vec > dane, nedelje,... . Za takvu proveru ti i ne treba gore > pobrojano, vec je dovoljno da samo procitas direktorijum (sa > datumima), ili kontrolises datume na fakturama, ili nesto > slicno. Najgori je RND princip, dakle nikakvo vreme,datumi itd. vec se sa odredjenom verovatnocom startuje rutina za proveru. Naravno za sve ima leka... POzdrav!
razno.420 djelovic, -> #415, bceklic
> Tu je i neizbe zni CRC 32 koji se aktivira ako je doslo do bilo kakve > promene na programu. Ne znam da li znas, ali CRC hash je izuzetno lak za prevariti. Mozda bi trebao da koristis neku drugu checksum rutinu, npr. onu Majkrosoftovu sa palindromima.
razno.421 omega, -> #420, djelovic
Ţ Ne znam da li znas, ali CRC hash je izuzetno lak za prevariti. Kako? ;)
razno.422 ikordic, -> #414, mdrazic
RE: Zaštita => Nije štos da mu napraviš trenutnu štetu, već da mu štetu praviš => neprimetno u dužem vremenskom trajanju, nepredvidivo, a da sve => izgleda da radi OK, tj. da tako i radi, ali ponekad... :)))) Nenene, baš je poenta da napravi veću štetu. Ako je manja, papan to može pripisati nekom bugu programa i ne izvući pravilne zaključke. Ali ako program kaže: "žuj dušo, upravo si nepovratno ostao bez svega što si radio od 01.01. ove godine. čelim da znaš da se to desilo zato što ovu kopiju nisi pošteno platio. Ciao babe!" nema šanse da ne shvati poruku! ;) A tvoje nije da se nadmudruješ sa razbivačima nego da ti taj program donese više para. Inače, jako mi se sviđa ova diskusija, konstruktivna je i obiluje korisnim informacijama i zanimljivim stavovima, jedna od svetlijih tačaka u proteklih nekoliko nedelja. Keep it up :)
razno.423 ikordic, -> #418, max.headroom
RE: Domaći softver => Znam ljude koji su nabavili domaćeg softvera na kilo, pa krenuli => i tako u krug. Na kraju naručiše softver, i rade pa pevaju. :) Da, ovo je problem. U velikom broju slučaja, korisnici se tek iz drugog puta uhvate za ono što valja. Zato i izbegavam da prodajem proizvode/usluge ljudima koji nemaju nikakve veze i iskustva sa računarima, jer naprosto ne znaju da cene kvalitet koji dobijaju. S druge strane, kada uletiš u kombinaciju u kojoj je pre tebe bio neki teži diletant .. divota! :)
razno.424 ikordic, -> #410, mmitrovic
RE: Zaštita => Da bi se nešto aktiviralo posle nekog intervala (ili bilo koja => zaštita koja zavisi od vremena) mora da se uradi jedno ili više od => sledećeg: Što bi neko radio to za datumsku zaštitu? Treba samo da proveri aktuelni datum, a to se postizava proverom datoteka koje se tog dana upisuju. Ja ovako radim odavno, isprva zato što mi je bilo komplikovano da rastumačim strukturu koju mi vraćalo očitavanje vremena, a posle sam uvideo još neke prednosti koncepta, tako da njega koristim.
razno.425 bajaga,
B00000000000000 da li neko zna nesto o programiranju VESA video kartica?
razno.426 djelovic, -> #422, ikordic
> Nenene, baš je poenta da napravi veću štetu. Ako je manja, papan to može > pripisati nekom bugu programa i ne izvući pravilne zaključke. Problem je u tome sto brljanje po tvom kodu koje ti detektujes ne mora da uradi direktno neki "razbijac", vec moze i, recimo, neki virus. Ne znam ko ce da te spasi kada ti dodje razjareni korisnik kome si prodao program koji mu je upravo obrisao pola harda? :)
razno.427 ognjen, -> #422, ikordic
)-> "Cuj duso, upravo si nepovratno ostao bez svega sto si radio )-> od 01.01. ove godine. Zelim da znas da se to desilo zato sto )-> ovu kopiju nisi posteno platio. Ciao babe!" Dobro, pa ja sam mislio da hakeri nisu bas sasvim pri svesti, ali sad kad vidim sta programeri umisljaju, hakeri su mala deca. Pa da li si ti (i ne samo ti :) svestan da ako neki covek cuje da u programu postoji kod koji formatira disk, da ga nece omirisati? Kad sam (nekada davno...) bio u klubu.p Bata je pravio neki olr, i trazio je od nekog ortaka da mu napravi OBJ ili sta vec, uglavnom neku zastitu koja ce u slucaju neposlusnosti korisnika (citaj: cackanja po kodu) formatirati disk. Nisam bas siguran da li je to na kraju zaista ubaceno u program, ali je moje dotadasnje odusvljenje sto postoji Pingvin OLR, odjednom splasnulo. Najbolje je u samom upustvu (nikakve okokopajuce poruke) pomenuti da je program registrovan (copyright) i da se njegovim kopiranjem krsi zakon. Steci ces poverenje kupaca (zato sto ti verujes njima) i nece postojati opasnost da unistis (ili dovoljno, iznerviras) potencijalnog kupca.
razno.428 drpr, -> #422, ikordic
-> "žuj dušo, upravo si nepovratno ostao bez svega što si radio -> od 01.01. ove godine. čelim da znaš da se to desilo zato što -> ovu kopiju nisi pošteno platio. Ciao babe!" Davno smo jednom u klubu pricali o ovome. Došli smo do zakljucka da ovo nije lose da se napise ali da podatke ne smes da unistis tj. potrebno je da ih ucinis neupotrebljivim za korisnika ali da si u svakom trenutku sposoban da te podatke povratis. Dovoljan argument za ovo je marfi, desi se da korisnik koji je platio program cacka nesto ili nesto od glavnih fajlova obrise, i ti cap i obrises mu sve, covek ti se javi a ti mu kazes :"pa ko vam je kriv..." a to priznaces bas i nije neka preporuka i poslovna politika. cope
razno.429 cnenad, -> #422, ikordic
ŁŁŁ "žuj dušo, upravo si nepovratno ostao bez svega što si radio od 01.01. ŁŁŁ ove godine. čelim da znaš da se to desilo zato što ovu kopiju nisi ŁŁŁ pošteno platio. Ciao babe!" Zvrnnnnddd ! Škripa vrata... 'Kordić I. ?' 'Da, izvolite...' 'BOOM' >>> Jednoga dana svakome slika izađe u novinama, nekom pre, nekom kasnije <<<
razno.430 beast, -> #407, mdrazic
>> Za naplatu štete se obratite svome omiljenom hackeru ? :)) Sad ne znam ko je započeo ovu diskusiju (a mrzi me da tražim :) al je bilo nešto u stilu 'Program je provalio da je menjan, šta dalje?' i svi ste predložili neku svoju 'podlost' :) potencijalnom hakeru. Mislim da je ipak pametnije uložiti svo znanje u zaštitu programa od patch-a, a ne u što destruktivnije i neprovaljivije :) osvete onom ko je menjao program. Lično kada naiđem na program koji u sebi ima neke destruktivne rutine (a postoje i programi koji to gledaju, npr. chk4bomb.exe, mada je njihova korisnost diskutabilna) ne koristim ga, ma kakav bio, jer nikad se ne zna šta će sve da se desi sa memorijom i da li će možda pod nekim uslovima program da ode na baš tu adresu. Dakle, što više skremblovanja, rnd if-ova i sl., a što manje kojekakvih brisanja, formatiranja itd. Postoje tehnike zaštite koje čoveku ostavljaju na izbor da li će da plati softver ili da ne spava jedno mesec dana bez garancije da će išta provaliti (hint: Telemate, CatDisk i sl.). :) Pozdrav, Dejan
razno.431 mdrazic, -> #422, ikordic
> Nenene, baš je poenta da napravi veću štetu. Ako je manja, papan to može > pripisati nekom bugu programa i ne izvući pravilne zaključke. Ali ako > program kaže: > > "žuj dušo, upravo si nepovratno ostao bez svega što si radio od 01.01. > ove godine. čelim da znaš da se to desilo zato što ovu kopiju nisi > pošteno platio. Ciao babe!" Pogrešno se izrazih: ne veću štetu, nego manje primetnu u prvo vreme kao: u platama prebaciš nekih 200 dinara od Pere Miki, pa da vidiš štete koju papanu nisi ti napravio veš Pera (još kada bi znao koji su jači tipovi u firmi :)), a usput malo promeniš podatke koji krajem godine daju zbir plaćenog poreza, rate kredita i slično. Spolja gladac,... Milan
razno.432 mdrazic, -> #415, bceklic
> Najveci problem kod tvoje zastite je taj sto potencijalni haker moze > da dodje do mesta gde ti vrsis dekryptovanje i prouci algoritam. Naravno > pretpostavlja se da radi na masini na kojoj je tvoj program instaliran > (sto je u najvecem broju slucajeva nikakav problem). Dobro, i otkriješ kako za poznat ključ i algoritam koji čak i saznaš kako radi dobiješ nešto upotrebljivo. Na drugoj mašini znaš algoritam i šta treba dobiti na nekim primerima sa prve mašine, ali ne znaš kojim ključem to treba da se dobije! A način dobijana ključa nigde u kodu i nije primenjen pa ga odatle i ne možeš otkriti (postoji odvojen program za generisanje upotrebljivog ključa koji ti nije dostupan). Pa i RSA algoritam je već svima poznat kako radi ali to ne pomaže da se otkrije ključ. Naravno i mnogo slabiji, ali da nije baš trivijalan, algoritam je dovoljan za ovu namenu. Milan
razno.433 nbatocanin, -> #407, mdrazic
> BTNJ. Dovoljno je samo da mu pogrešno proknjižiš 1% naloga Da, to je otprilike najbolji metod zaštite složenih programa: ugurati zaštitu u sredinu logike programa. Tako bi provalnik morao da nauči rad sa programom (ima li nešto surovije nego terati okorele hakere da uče šta je to porez ;> ), ako hoće da skine zaštitu. Primer: ako statusna funkcija koja ispituje legalnost kopije vraća 0 kada je sve OK, a slučajan broj kada nije, sabrati taj broj sa tekućim iznosom ;>
razno.434 omega, -> #430, beast
Ţ Sad ne znam ko je zapoceo ovu diskusiju (a mrzi me da trazim Ţ :) al je bilo nesto u stilu 'Program je provalio da je Ţ menjan, sta dalje?' Krivac se uvek vrlo brzo nadje ;) Ok, dosta sam slusao podlosti ;>, idemo sad sa lepsim pitanjem: Kako sto bolje zastiti program? Ţ :) potencijalnom hakeru. Mislim da je ipak pametnije uloziti Ţ svo znanje u zastitu programa od patch-a, a ne u sto Ţ destruktivnije i neprovaljivije :) Btw, a ne pricas sta ste ti i Zak smislili kada korisnik petlja po ZBTET-u? ;)
razno.435 ikordic, -> #427, ognjen
RE: Zaštita => Dobro, pa ja sam mislio da hakeri nisu bas sasvim pri svesti, => ali sad kad vidim sta programeri umisljaju, hakeri su mala deca. E bre, polako. Niti ja koristim pomenute metode u svojim kreacijama, niti se zalažem za njihovu implementaciju. Radilo se o tome da je neko rekao da program treba da pravi neku sitnu štetu ako primeti da je čačkan. Ja sam samo rekao da treba praviti vidljivu štetu, kako bi korisnik/razbivač ukapirao zašto se dešavaju veselja, da ne pripiše štetu nekom bagu programa. Time se gubi efekat koji pomenuta šteta treba da izazove, a to je anader kupac :) Daklem, ono je bio primer, maalko :) predimenzioniran radi efekta. Sistem koji ja koristim obuhvata sve meni znane načine za verifikaciju autentičnosti instalacije i integriteta programa plus kriptovanje podataka o korisniku. Ako se programu učini da nešto nije u redu, odbija da se startuje i ispiše "nema više - internal error #nn, javite se onom ko Vam je prodao program". Do sada su samo dvojica dobila ovu poruku, u pitanju je bila neka pretumbacija diska od strane drugih paketa. Sve u svemu, za sada najbolji odnos uloženi trud/ne boli glava :) => >>> Jednoga dana svakome slika izađe u novinama, nekom pre, nekom => >>> kasnije <<< ;))) Smanji doživljaj ;)
razno.436 beast, -> #434, omega
>> Btw, a ne pricas sta ste ti i Zak smislili kada korisnik petlja >> po ZBTET-u? ;) Stvar je bezbolna (?) i jedno copy rešava stvar (jer su autoexec i config pomereni iz roota, za one koji ne znaju). Uzmi u obzir da je zbtet star skoro dve godine i da su se od onda mnoge stvari promenile.... (iliti we were young and naive... :) Pozdrav, Dejan
razno.437 spantic,
Kolegama Goranu Stevanoviću, Aleksandru Mićiću i Darku Marinkovu čestitke na plasmanu u ekipu ETF-a za takmičenje ACM-a u programiranju koje će biti u Rumuniji pod pokroviteljstvom Microsofta. Aplauz i za one koji su za "dlaku" izgubili mesto u ekipi. Dejane više sreće drugi put :) Srećan put im želimo uz pesmu: "Ne vraćajte se bez Bilijevih nagrada".a 4
razno.438 bceklic, -> #432, mdrazic
> Dobro, i otkrijes kako za poznat kljuc i algoritam koji cak i > saznas kako radi dobijes nesto upotrebljivo. Na drugoj masini > znas algoritam i sta treba dobiti na nekim primerima sa prve > masine, ali ne znas kojim kljucem to treba da se dobije! A > nacin dobijana kljuca nigde u kodu i nije primenjen pa ga > odatle i ne mozes otkriti (postoji odvojen program za > generisanje upotrebljivog kljuca koji ti nije dostupan). Pa i > RSA algoritam je vec svima poznat kako radi ali to ne pomaze da > se otkrije kljuc. Naravno i mnogo slabiji, ali da nije bas > trivijalan, algoritam je dovoljan za ovu namenu. Ajmo ponovo, ;) U ovakvoj situaciji kao sto rekoh program se mora sredjivati na masini na kojoj je instaliran i na kojoj !radi!. To znaci da je kljuc na neki nacin dostupan programu bilo da ga korisnik sam unosi pre pocetka rada ili se on nalazi u nekom fajlu ili je patchovan u samom programu. Dakle kljuc mi je !dostupan! jer mi je i dostupna masina na kojoj program radi! Napomenuh da nije nikakav problem doci u ovu situaciju. Iskreno ova situacija je najcesca. Kupac tvog programa hoce da ima verziju koju moze dalje da po volji distribuira,koristi itd... i onda zove nekog hakera da bi mu pomogao u toj zamisli... Sam algoritam za generisanje kljuca moze ali i ne mora biti dostupan hakeru. Ako i ovo nije uspelo pokusacu da pomognem pitanjem: Odakle tvoj program koji je instaliran na klijentovoj masini i RADI uzima kljuc za dekryptovanje dela svog koda? 1. Sam ga generise algoritmom koji je ugradjen u program. 2. Koristi vec gotov kljuc koji se nalazi kodu samog programa dakle nema algoritma za generisanje ali kljuc postoji. 3. Klijent unosi kljuc svaki put pri pokretanju programa. 4. Kljuc se nalazi u posebnom fajlu. U sva 4 slucaja kljuc postoji! na toj masini jer program RADI! Pozdrav! [A]
razno.439 bceklic, -> #430, beast
> Licno kada naidem na program koji u sebi ima neke > destruktivne rutine (a postoje i programi koji to gledaju, > npr. chk4bomb.exe, mada je njihova korisnost diskutabilna) U danasnje vreme upotrebljivost ovakvih programa je skoro beskorisna... Pozdrav!
razno.440 omega, -> #436, beast
Ţ Stvar je bezbolna (?) i jedno copy resava stvar (jer su Ţ autoexec i config pomereni iz roota, za one koji ne znaju). Ma nije poenta u bolu ;) vec o destrukciji. To jedno copy rusi sistem.
razno.441 szeman, -> #412, mdrazic
>> Nego, kako skidate zaštitu ako u programu NEMA nikakve takve provere? >> Ja zaštitu (Clipper) programa izvodim kriptografski: na osnovu nekog >> ključa (jedinstvenog za mašinu) program dekoduje nešto i kao rezultat !!!!!!!!!!!!!!!!!!!!!!! To "jedinstvenog za mašinu" svodi se uglavnom na disk, egzistiranjem raznih fajlova, startovanjem externih fajlova uz dobijanje željnih podataka za proveru: tip mat. ploče, podaci o BIOS-u, itd.. Medjutim, samim tim je i put za "razbijanje" programa olakšan. Ovako, skoro svaka zaštita (za Clipper) je veoma sumnjivog kvaliteta. Jedino su zaštite sa "odloženim dejstvom" uz istovremeno egzistiranje ostalih metodama i njihova medjusobna korelacija, manje-više, prihvatljivo rešenje i hakera bar malo više pomuče (ako ovaj ne odustane ;), mada se ne sme potcenjivati ni njegova/naša želja za samopotvrdjivanjem. U krajnoj liniji, sujeta igra presudnu ulogu, pa ko koga... ;) Pozdrav, Saša
razno.442 obrada,
RE: ZASTITA DOMACEG SOFTVERA Sto se tice zastita, mislim da je najbezbolnija hardverska zastita. Korisnik moze slobodno da napravi koliko hoce rezervnih kopija instalacionih disketa. A ako promeni plocu ili hard disk ili racunar, samo prebaci hard lock i ponovo instalira i nema problema. Tako ne moras da ides kod njega ako promeni hardver. To nije tako strasno ako je u tvojoj blizini. Medjutim ako je u drugom gradu, onda ne bi bilo zgodno da mu svaki put kad promeni racunar lil neku komponentu, dolzis i naplatis put i dnevnicu. U principu, bar ne bi bilo fer. Naravno, kada mislim na hardversku zastitu, ne mislim da je program samo detektuje, vec i da radi neispravno ako je nema. Jos i to da cena ne bude prevelika i da se radi od malo nestandardnih komponenti, bar u nasim krajevima. Tako da se ne isplati razbijati cisto softverski, vec se mora praviti i hardver da bi razbijeni program radio. Takva zastita bi trebala biti iz vise nivoa. 1. Prosta detekcija hard locka 2. Ako to provali da pogresno racuna neke operacije (++, +) ako nema hard locka, odnosno da sam hard lock radi neke od tih operacija (prostih) 3. Slicno kao 2 ali da povrmeno prepusta te operacije hard locku To znaci, da razbijac nikad nije siguran da li je razbio sve zastite, jer nema nikakvog upozorenja. Za korisnika koji koristi takav softver, najveca steta je ako su mu pogresni podaci. Za to je sam odgovoran. Sto se tice hard locka, treba izbrati komponente koje su programibilen i koje se ne mogu lako provaliti. Uz to mozda bi se u kutiju za hard lock mogao ugraditi mehanizam da spali kola ako se nasilno otvori. Mozda i malo eksploziva. Ali samo malo. Uz to i prefarbati da se nevide oznake. Jos jedan dilema u vezi hard locka: da li da se kaci ha paralelni port i da transparentan (malo nezgodnija varijanta, treba i kutija) ili da se kaci u slot (onda je manje "pokretljiva"). Dragan
razno.443 obrada,
RE: ZASTITA DOMACEG SOFTVERA, MREZNE VERZIJE Kako uspesno zastiti softver koji radi pod mrezom. Stavljati hard lock na svaku radnu stanicu, ili uopste vezati da radi na odredjenoj stanici, nije resenje. Dragan
razno.444 vlador, -> #428, drpr
> javi a ti mu kazes :"pa ko vam je kriv..." a to priznaces bas i > nije neka preporuka i poslovna politika. A koliko ja znam, nije ni po zakonu.
razno.445 nbatocanin, -> #410, mmitrovic
> Da bi se nešto aktiviralo posle nekog intervala (ili bilo > koja zaštita koja zavisi od vremena) mora da se uradi > jedno ili više od sledećeg: Vidim ja da bi ti totalno zalutao ;) Samo kratki i naivni programi koriste ovakve brojače. Kad imaš velike količine podataka onda se lako nalazi daleko sigurniji brojač. Ali, pazi sad dodatnu začkoljicu: zašto bi taj brojač odmah aktivirao minu i počeo naivno da zapomaže kako je program iskopiran? Zar nije daleko lukavije samo da mrdne koji svič kako bi ubuduće program po _malo_ za*ebuckavao?
razno.446 dejanr, -> #442, obrada
>> Sto se tice hard locka, treba izbrati komponente koje su programibilen i >> koje se ne mogu lako provaliti. Uz to mozda bi se u kutiju za hard lock >> mogao ugraditi mehanizam da spali kola ako se nasilno otvori. Mozda i >> malo eksploziva. Ali samo malo. Uz to i prefarbati da se nevide oznake. Nema potrebe, dosta je da se uzme neki od industrijskih procesora koji imaju na sebi EPROM. Većina takvih procesora danas ima mogućnost da se, po upisu softvera, "sprži" nekakav interni osigurač, i više od spolja ne može da se pročita upisani softver. Obzirom da je zaštita u samom čipu, veoma je jaka.
razno.447 ikordic, -> #433, nbatocanin
RE: Zaštita => > BTNJ. Dovoljno je samo da mu pogrešno proknjižiš 1% naloga => => Da, to je otprilike najbolji metod zaštite složenih programa: ugurati => zaštitu u sredinu logike programa. Tako bi provalnik morao da nauči žekaj, bre, poenta je da potencijalni kupac ukapira da MORA da ti dođe i ostavi novce, a ne da gubiš vreme nadigravajući se sa hakerom. Mislim da je idealna stvar sredina, odn. da pravi opisane greškice ali da pritom povremeno kaže "alooo, zato što sam ilegalan zato sam i bugovit", ili slično, uglavnom da čovek ukapira da se pomenute greškice ne dešavaju zato što je program bugovit, već da tako treba ;) Odo ja da preradim postojeće sorseve :) P.S.: U PC.PROG je postojala i tema zaštita. Di se dela? :)
razno.448 vitez.koja, -> #433, nbatocanin
#=>> BTNJ. Dovoljno je samo da mu pogrešno proknjižiš 1% #=> naloga #=> #=> Da, to je otprilike najbolji metod zaštite složenih #=> programa: ugurati Samo, tada moraš da računaš i na negativnu propagandu...
razno.449 kriss, -> #435, ikordic
˙˙ čačkan. Ja sam samo rekao da treba praviti vidljivu štetu, ˙˙ kako bi korisnik/razbivač ukapirao zašto se dešavaju veselja, ˙˙ da ne pripiše štetu nekom bagu programa. Time se Maksimalno rešenje za koje se ja zalažem je onesposobljavanje sopstvenog programa tako što će se recimo izmeniti početak da pokazuje na kraj. Pa dobijemo jedan veliki EXE koji vrati DOS prompt. I tako dok lopovu ne dosadi da ga vraća sa diskete. Ovim se ne radi ništa loše - mnogi programi menjaju direktno EXE fajl, pa može i taj. To što se samouništi je lopovov problem. Naravno ovo sve po random funkciji koja ne bi trebala da se spušta ispod odnosa 1/3 (u 33% slučajeva se samouništi). Pa onda dodaj u onih 67% malo lažnih ili nemogućih rezultata, pa neću da radim i slično. No nije problem u tome, najlakši deo je napraviti štetu. Mnogo teži (nemoguć?) deo je napraviti pouzdanu zaštitu.
razno.450 kriss, -> #439, bceklic
˙˙ U danasnje vreme upotrebljivost ovakvih programa je skoro ˙˙ beskorisna... Zavisi, zaista zavisi. Za nekog ko _zna_ za takve programe i ko ume da napiše _solidnu_ zaštitu, jeste. Za mnoge, mnoge koji to rade laički misleći da su iskopali Veliki Kanjon nije. Baveći se virusima, shvatio sam jedno - dokle god bude bilo komjutera, biće i boot virusa koji su stvar prošlosti, i to već daleke (da ne kažem da je sramota ako se uvuče neki boot virus ;). Zašto? Zato što će uvek biti novih ljudi koji pojma neće imati, zato što će se na nekoj zagubljenoj disketi pojaviti mikelanđelo, i zato što će to biti butabilna disketa sa nekim specifičnim autoexec-om. E tako će još uvek biti ljudi koji će podmetati 'format c:' u program i misliće da su taj deo zaštitili. Zato chk4bomb i slične programe nikako ne bacajte - vršiće još oni posao dokle god je DOS-a. :)
razno.451 cnenad, -> #442, obrada
ŁŁŁ Sto se tice zastita, mislim da je najbezbolnija hardverska zastita. Kako kad, ali zamisli sad za jedno 10 programa kobasicu iza kućišta računara od HARD LOCK-ova ? Dalje ispostavlja se da ti HL-ovi prave velike probleme, ili ne radi štampač, ili ne radi drugi HL. Veoma je mutna situacija oko ovoga. Uostalom, što bi ja još bio prinuđen da kačim tamo neke kutijice ? Dalje, koliko je meni poznato i za AUTOCAD i za 3DStudio su potrebni HL-ovi pa su se opet pojavile razbijene verzije.
razno.452 mdrazic, -> #438, bceklic
> 1. Sam ga generise algoritmom koji je ugradjen u program. > 2. Koristi vec gotov kljuc koji se nalazi kodu samog programa dakle nema > algoritma za generisanje ali kljuc postoji. > 3. Klijent unosi kljuc svaki put pri pokretanju programa. > 4. Kljuc se nalazi u posebnom fajlu. > > U sva 4 slucaja kljuc postoji! na toj masini jer program RADI! > Pozdrav! ŠAĆ Da pojednostavim proces do kraja: recimo samo da čitam neke delove memorije koji su recimo jedinstveni za mašinu (nije samo to, ali zamislite da je tako). Kombinacijom tih podataka i malo dužeg ključa koji je na disku zapisan (može se lako videti) dobijaš nekim algoritmom nalik na razvlačenje lisnatog testa novi ključ koji se ustvari koristi za dekodiranje. Onaj prvi ljuč na disku menjaš za razne aplikacije/instalacije tako što ga generišeš posebnim programom koji koristi (iste kao gore) podatke sa mašine i neki tvoj interni ključ da znaš kojoj implementaciji pripada. Šta ti možeš otkriti: ključ na disku nije tajna (K1), kodirani podaci koji se dekodiraju (P1) imaš u formi đubreta na ekranu, nije teško ni pohvarati šta se sa mašine čita (K2). Na instaliranoj mašini vidiš i šta treba da se dobije (P2). P2 se dobija tako što prvo K1 i K2 daju u kombinaciji K3 kojim se dekodira P1 u P2. Recimo otkriješ i K3. Tvoj je zadatak na drugoj mašini da nekako iščitaš K2 na način kako ja to radim (nije veeliki problem) i da otkriješ: šta da uzmem za K1 da bih za tuce-dva raznih P1 dobio opet odgovarajuće P2. Algoritam za prelaz K1+K2-->K3 može čak i da ti je poznat (a nije) pa opet da ne znaš da rešiš problem. Milan
razno.453 evlad, -> #449, kriss
>> No nije problem u tome, najlakši deo je napraviti štetu. Mnogo teži >> (nemoguć?) deo je napraviti pouzdanu zaštitu. Stvarno pouzdano je HardLock sa PAL-om ... Sve ostalo se može 'razvaliti' pre ili posle ... E sad se svodi na ono: Da li se isplati razbijati ? Odnos uloženog vremena i živaca kroz novčanu dobit i ličnu satisfakciju ! Naši zakoni se menjaju vrlo često (knjigovodstveni programi) tako da dok razbiješ jednu verziju izađe druga itd ... Jedino ako autor koristi uvek istu zaštitu onda je lako ... Lično više volim da 'njuškam' po programu da bih nešto naučio ... Shvatite ovo kao jedno neutralno razmišljanje. žinjenica je da treba program zaštiti, bez da pravi štetu ! (kojekava formatizovanja brisanja ...) Izbaciš kopirajt poruku i pustiš ga da falično radi sa napomenom da ima grešaka, i ukoliko kupac želi ispravnu verziju nek zove tel ... traži .... To je najpoštenije i prema kupcu i prema hakeru. Lično postavim nekoliko flag-ova, pa gde se zalomi ... Svaki put na drugo mesto ... Najviše mi se sviđa kad izađe iz aplikacije i ostavim mu poruku: Sve što ste danas radili ima sitne greške ... (inače program se sasvim normalno ponašao O:)
razno.454 ognjen, -> #442, obrada
)-> Za korisnika koji koristi takav softver, najveca steta je ako )-> su mu pogresni podaci. Za to je sam odgovoran. Bolje je da ipak keze 'Necu da radim sa tobom, kupio si me kod ilegalaca'. Jer, ako neki posten knjigovodac kupi softver kod nekog preprodaca, misleci da je sve legalno placeno 10 din, i program mu radi pogresno, on ce pogledati ko je autor, i njegove pregrame ce izbegavati i praviti im anti-reklamu.
razno.455 mdrazic, -> #443, obrada
> Kako uspesno zastiti softver koji radi pod mrezom. Stavljati hard lock > na svaku radnu stanicu, ili uopste vezati da radi na odredjenoj stanici, > nije resenje. Jedna je mogućnost da znaš na kom si serveru i to kontrolišeš. Druga je mogućnost da ispituješ svaku stanicu i/ili mrežnu karticu. Treća je mogućnost da im podeliš 50 hard-lockova. žetvrta mogućnost je da ako pišeš softver koji nikom drugom ne treba ili je malo potencijalnih korisnika, zaštita ti i ne treba. Peta mogućnost je da prodaš paket sa svim pravima na dalju prodaju za veće pare (kao 4dos Nortonu) pa posle izdaš 'novu verziju'. Treba nekako vezati mušterije održavanjem softvera koje može raditi samo onaj ko poznaje projekt. Milan
razno.456 mdrazic, -> #445, nbatocanin
> da zapomaže kako je program iskopiran? Zar nije daleko lukavije samo > da mrdne koji svič kako bi ubuduće program po _malo_ za*ebuckavao? recimo umesto seek da počne da koristi moćnu komandu locate :))) Milan
razno.457 mdrazic, -> #447, ikordic
> žekaj, bre, poenta je da potencijalni kupac ukapira da MORA da ti dođe i > ostavi novce, a ne da gubiš vreme nadigravajući se sa hakerom. Da je hteo, ostavio bi novce odmah u zamenu za miran san i održavanje. A sa hakerom gubi vreme on, a ne ti. > Mislim da je idealna stvar sredina, odn. da pravi opisane greškice ali da > pritom povremeno kaže "alooo, zato što sam ilegalan zato sam i bugovit", > ili slično, uglavnom da čovek ukapira da se pomenute greškice ne dešavaju > zato što je program bugovit, već da tako treba ;) Ili, program registruje da je 'nešto trulo u državi Danskoj', nastavi da radi ali pri sledećim startovanjima paketa prvo izlista da je u nekom od ranijih seansi otkrio nešto strašno, što neizostavno zahteva intervenciju stručnog lica, pljuneš neki petocifreni kod greške i obaveštenje da se ne garantuje dalji korektan rad paketa. Ono registrovanje 'truleži' ide po nekom rnd. momentu da se hakeri malo načekaju. Milan
razno.458 dejanr, -> #451, cnenad
>> Dalje, koliko je meni poznato i za AUTOCAD i za 3DStudio su potrebni HL-ovi Samo za evropske verzije. U Americi su probali da "uvale" ACAD sa dongle-om, i na to je valjda IEEE rekao da takve programe neće uopšte da uzme u razmatranje, a kamoli da preporuči svojim članovima. Potom se munjevito pojavio nezaštićeni ACAD. Uzgred, dongle nije savršena zaštita zato što se obično "kalemi" na program. Ljudi napišu program, onda od nekoga kupe dongle i prateće biblioteke i nekako ih ulinkuju, najčešće "površinski". Zato se to posle lako uklanja. Ako bi neko u startu pisao program tako da bude zaštićen dongle-om, naročito nekim novijim koji može da procesira podatke, bilo bi jako teško razbiti zaštitu. Naravno, ne nemoguće, ali jako teško. Lično mislim da je sasvim dovoljna neka zaštita koja će da spreči da disketa prekopirana sa DISKCOPY ili COPYIIPC bude operativna. Dalje se truditi nema svrhe - 99% potencijalnih pirata biće zaustavljeno, a onaj 1% koji ume da razbije neku elementarnu zaštitu (ili da nađe nekoga ko bi to uradio za njih) verovatno će razbiti i neku znatno složeniju.
razno.459 bceklic, -> #450, kriss
> Zavisi, zaista zavisi. Za nekog ko _zna_ za takve programe i ko > 'format c:' u program i mislice da su taj deo zastitili. Zato > chk4bomb i slicne programe nikako ne bacajte - vrsice jos oni > posao dokle god je DOS-a. :) I najgori pisac trojanca zna da svoje 'delo' kompresuje nekim od izvrsnih kompresora i po potrebi zastiti nekim od SW programa. Ovo dovodi do neupotrebljivosti programa kao sto je cjk4bomb. Na to sam mislio...:) Naravno to ni u kom slucaju ne znaci da ovakve programe ne treba koristiti. Naprotiv, pokazalo se da su moderni pisci trojanaca lose obradili tematiku pa je njihove proizvode zbog toga moguce detektovati. Pozdrav!
razno.460 bceklic, -> #451, cnenad
> Dalje, koliko je meni poznato i za AUTOCAD i za 3DStudio su > potrebni HL-ovi pa su se opet pojavile razbijene verzije. Obican patcher po izvrsnom fajlu i hard lock puca (nazalost). Primeri za to su gore navedeni programi... POzdrav!
razno.461 bceklic, -> #452, mdrazic
> Sta ti mozes otkriti: kljuc na disku nije tajna (K1), kodirani > podaci koji se dekodiraju (P1) imas u formi dubreta na ekranu, > nije tesko ni pohvarati sta se sa masine cita (K2). Na > instaliranoj masini vidis i sta treba da se dobije (P2). P2 se > dobija tako sto prvo K1 i K2 daju u kombinaciji K3 kojim se > dekodira P1 u P2. Recimo otkrijes i K3. Tvoj je zadatak na > drugoj masini da nekako iscitas K2 na nacin kako ja to radim > (nije veeliki problem) i da otkrijes: sta da uzmem za K1 da bih > za tuce-dva raznih P1 dobio opet odgovarajuce P2. Algoritam za > prelaz K1+K2-->K3 moze cak i da ti je poznat (a nije) pa opet > da ne znas da resis problem. Na masini na kojoj je program instaliran mogu da dodjem do: K1,K2,(naravno i K3 ako se poznaju prva dva imam i K3) P1 (normalno..) P2 (DOBIJA SE POSREDNO...) Dakle mogu da dodjem do svega...(O tome sam ti govorio u prethodnoj poruci) Dakle posedujem sve sto mi je potrebno da program uspesno radi na toj masini. E sad, cini mi se da ti hoces da me pitas kako cu naterati taj isti program da radi na bilo kojoj masini? Izvrsicu potrebne izmene u tvom programu i naterati ga da radi na bilo kojoj masini. Na taj nacin tvoj program nece raditi ono za sta je predvidjen vec sasvim suprotne stvari. Sam algoritam je sasvim dobar ali je u potpunosti bezvredan ako ja mogu da pridjem tvom kodu. Ovo je bio nedostatak svih zastita na koje sam do sada nailazio. PC GUARD pruza i jednu i drugu zastitu. Pozdrav!
razno.462 cira, -> #437, spantic
Ja sam jedan od tih za "dlaku", ali i onako po propozicijama ne bih mogao da ucestvujem (samo oni koji su presli polovinu studija imaju pravo ucesca, i to samo dva puta). Nasa ekipa je upala u gornju polovinu vecinom zbog neodgovarajuceg test primera, tako da je prva bila ekipa iz Ukrajine (valjda). Najtezi zadatak je bio : Dato je m grana i n cvorova. Naci takav raspored grana i cvorova da zbir kvadrata stepena cvorova bude maksimalan (stepen cvora je broj grana koji ulazi u cvor). Na takmicenju su provaljene dve metode, koje je (za najbolje resenje) potrebno udruziti i uzeti najbolji rezultat. Nasi su uzeli samo drugu metodu (mada su otkrili i prvu), a test primer je bio namesten za prvi postupak. Zalim sto zadatak nisam bolje definisao "al' i ja sam ga tek onomad cuo".
razno.463 obrada, -> #453, evlad
> Stvarno pouzdano je HardLock sa PAL-om ... > Sve ostalo se moze 'razvaliti' pre ili posle ... Ali obavezno bar PAL sa registrima. 16L8 se ili slicni se cas posla izvrti i moze se zameniti ovbcinim EPROM-om, s obzirom na namenu.
razno.464 obrada, -> #458, dejanr
> Licno mislim da je sasvim dovoljna neka zastita koja ce da spreci da > disketa prekopirana sa DISKCOPY ili COPYIIPC bude operativna. Tu je problem ako se osteti originalna instalaciona disketa. Onda korisniku ne omogucavas da rezervne kopije originalnih disketa. Sve to nije problem ako je korisnik u tvojoj blizini, ali ako je malo dalje od tebe, onda moras da mu saljes diskete ili a ides do njega da se uveris da li su diskete stvarno neispravne. U principu, nije lose zastiti instaliran softver, tako da ga ne vredi uzimati sa harda. Pitanje zastite i stepena zastite je stvar konpromisa: 1. Koliko je program upotrebljiv za siru publiku (da li je pozeljno zastititi) 2. Komfora i sigurnosti rada korisnika sa zasticenim softverom 3. Cene razvoja zastite, kao i odnosa cene prema zasticenom programu Mislim da je najbolja zastita svest korisnika, koja ipak postoji kod onih koji se ozbiljno bave poslom za koji su narucili program. Uostalom, ponekad i nije lose da ukradeni program radi makar kao demo program. Neka vrsta besplatne reklame. Piratske vezijame domaceg softvera (pre svega knjigovodstvenog), uglavnom koriste (od kojih ozbiljno rade) ljudi koji pocinju sa poslom. Imaju relativno velike izdatke za racunar, stampac, pa jos i program. Medjutim, vremenom... Valjda ce doci i taj dan. Dragan
razno.465 obrada, -> #446, dejanr
> Nema potrebe, dosta je da se uzme neki od industrijskih procesora > koji imaju na sebi EPROM. Vecina takvih procesora danas ima > mogucnost da se, po upisu softvera, "sprzi" nekakav interni > osigurac, i vise od spolja ne moze da se procita upisani softver. I jos ako procesor ili neki PLD obavlja neke operacije (sabiranje...) onda je zastita teska za razbijanje. Mnogo je lakse napraviti HL, nego program koji zaobilazi zastitu. Mali problem je sto te operacije rade sporije, ali ako se koriste povremeno onda je to zanemarljivo usporenje. Jedino ostaje problem prevelikog broja HL-ova.
razno.466 max.headroom, -> #431, mdrazic
> u platama prebaciš nekih 200 dinara od Pere Miki, pa da > vidiš štete koju papanu nisi ti napravio veš Pera (još > kada bi znao koji su jači tipovi u Princip: uporediš datume i aktiviraš svič mesec dana pred kraj poslovne godine. Onda svi reporti počnu da izbacuju poruku "Plati softver, pa će i reporti biti OK" umesto podataka. žovek zna šta mu je raditi u takvom slučaju: ili plati i nastavi sa radom, ili ne plati pa mora da juri novi program da bi uneo podatke i odštampao potrebno.
razno.467 mdrazic, -> #461, bceklic
> Dakle posedujem sve sto mi je potrebno da program uspesno radi na > toj masini. E sad, cini mi se da ti hoces da me pitas kako cu naterati > taj isti program da radi na bilo kojoj masini? > > Izvrsicu potrebne izmene u tvom programu i naterati ga da radi na bilo > kojoj masini. Na taj nacin tvoj program nece raditi ono za sta je > predvidjen vec sasvim suprotne stvari. Ako će da radi baš suprotne stvari, zaštita je bila uspešna :) Nego, problem ti je u tome što se SVE procedure iz menija startuju sa samo jednog mesta pomoću makro operatora u Clipperu (zamisli ga kao run-time prevodilac). Na tom jednom mestu, sa jednim ključem koji nažalost ne znaš, treba 20tak raznih kodiranih imena procedura dekodirati u nešto što prevodilac razume. Baš zbog ovog uskog grla je problem patch-ovati program. Šta patchovati? Znači problem se svodi na otkrivaje ključa (generator nije u programu) koji še više (poznatih) đubreta dekodirati u isti broj upotrebljivih imena procedura. > Sam algoritam je sasvim dobar ali je u potpunosti bezvredan ako ja mogu > da pridjem tvom kodu. Ovo je bio nedostatak svih zastita na koje sam do žak da ti i dam source (samo da brže zaključiš kako program radi, ne da menjaš sistem pozivanja procedura, pa prevedeš) gornji problem ti ostaje nerešen pošto je generisanje ključa na drugom mestu. Milan
razno.468 spantic, -> #462, cira
> pravo ucesca, i to samo dva puta). Nasa ekipa je upala u gornju polovinu > vecinom zbog neodgovarajuceg test primera, tako da je prva bila ekipa To "gornja polovina" je koje mesto? :)
razno.469 jkpbvk,
Dali neko zna kako ubaciti gif,pcx ili bilo koji tip formata slike u jedan exe fajl,znaci recimo napraviti jednostavan program koji bi prikazao sliku koja bi bila u samom fajlu a ne ucitana iz drugog fajla.
razno.470 andrejt, -> #469, jkpbvk
__> Dali neko zna kako ubaciti gif,pcx ili bilo koji tip formata slike u __> jedan exe fajl,znaci recimo napraviti jednostavan program koji bi __> prikazao sliku koja bi bila u samom fajlu a ne ucitana iz drugog fajla. Koristiti neku od verzija Graphics Workshopa :)
razno.471 bceklic, -> #467, mdrazic
>> Izvrsicu potrebne izmene u tvom programu i naterati ga da radi >> na bilo kojoj masini. Na taj nacin tvoj program nece raditi >> ono za sta je predvidjen vec sasvim suprotne stvari. > > Ako ce da radi bas suprotne stvari, zastita je bila uspesna :) Ha, razumeli smo se :) Naravno neke stvari bi bile eliminisane neke dodate itd. sve u cilju optimizacije koda i brzeg rada, zastita je uspesna sve dok radi...:) > Nego, problem ti je u tome sto se SVE procedure iz menija > startuju sa samo jednog mesta pomocu makro operatora u Clipperu > (zamisli ga kao run-time prevodilac). Na tom jednom mestu, sa > jednim kljucem koji nazalost ne znas, treba 20tak raznih > kodiranih imena procedura dekodirati u nesto sto prevodilac > razume. Bas zbog ovog uskog grla je problem patch-ovati > program. Sta patchovati? Znaci problem se svodi na otkrivaje > kljuca (generator nije u programu) koji se vise (poznatih) > dubreta dekodirati u isti broj upotrebljivih imena procedura. Jasna mi je poenta, pretpostavljam da makro prvo izvrsi dekryptovanje imena procedura a po zavrsetku rada pozvane procedure ponovo kryptuje nazive procedura da pri ponovnom pozivu makroa ne bi dobio pocetno djubre ukoliko postoji samo jedna kopija naziva procedura u memoriji. Sve ovo za sam proces razbijanja zastite i nije toliko bitno. Kljuc na masini na kojoj program radi nije problem otkriti, posle toga se pristupa sredjivanju samog programa, bilo da se otkriju dekriptovani nazivi procedura a zatim patchuju preko starih (kryptovanih) i u samom programu iskljuci procedura za dekryptovanje naziva, bilo da se primeni neki drugi nacin, zastita pada... > Cak da ti i dam source (samo da brze zakljucis kako program > radi, ne da menjas sistem pozivanja procedura, pa prevedes) > gornji problem ti ostaje neresen posto je generisanje kljuca na > drugom mestu. Kao sto rekoh vec ranije sam algoritam za generisanje kljuca nije ni potreban. Potreban je samo jedan kljuc za verziju koja radi a potom.. Pozdrav...
razno.472 sslavko, -> #464, obrada
>> Tu je problem ako se osteti originalna instalaciona >> disketa. Onda korisniku ne omogucavas da rezervne kopije >> originalnih disketa. A da li Microsoft vodi računa o tome šta će se desiti ako oštetiš originalne diskete? Oni doduše nemaju takvih zaštita ali mislim da to ide isključivo na dušu korisniku. Uostalom on će taj program instalirati jednom i sledeći put, eventualno, u slučaju havarije diska ili promene diska-računara. A u međuvremenu neka disketu ne drži u frižideru i sl.
razno.473 maksa, -> #472, sslavko
>> A da li Microsoft vodi računa o tome šta će se desiti ako >> oštetiš originalne diskete? Vodi računa, i to tako što ti, ne samo dozvoljava, nego i eksplicitno kaže da napraviš kopiju instalacionih disketa.
razno.475 cnenad, -> #473, maksa
ŁŁŁ Vodi računa, i to tako što ti, ne samo dozvoljava, nego i ŁŁŁ eksplicitno kaže da napraviš kopiju instalacionih disketa. I da se sa kopija izvrši instalacija ;)
razno.476 mdrazic, -> #471, bceklic
> Jasna mi je poenta, pretpostavljam da makro prvo izvrsi dekryptovanje > imena procedura a po zavrsetku rada pozvane procedure ponovo kryptuje > nazive procedura da pri ponovnom pozivu makroa ne bi dobio pocetno > djubre ukoliko postoji samo jedna kopija naziva procedura u memoriji. Nije tako. Makro samo startuje dekriptovanu proceduru, a ako nije dobro dekriptovano startuje nepostojeću proceduru i tras. Poenta i jeste u tome što je ovde usko grlo koje startuje sve procedure i što tu nema nikakvih if-ova. Milan
razno.477 maksa, -> #475, cnenad
>> ŁŁŁ Vodi računa, i to tako što ti, ne samo dozvoljava, nego i >> ŁŁŁ eksplicitno kaže da napraviš kopiju instalacionih disketa. >> >> I da se sa kopija izvrši instalacija ;) E, da, i to. ;)
razno.479 bceklic, -> #476, mdrazic
>> Jasna mi je poenta, pretpostavljam da makro prvo izvrsi >> dekryptovanje imena procedura a po zavrsetku rada pozvane >> procedure ponovo kryptuje nazive procedura da pri ponovnom >> pozivu makroa ne bi dobio pocetno djubre ukoliko postoji samo > jedna kopija naziva procedura u memoriji. > > Nije tako. Makro samo startuje dekriptovanu proceduru, a ako > nije dobro dekriptovano startuje nepostojecu proceduru i tras. > Poenta i jeste u tome sto je ovde usko grlo koje startuje sve > procedure i sto tu nema nikakvih if-ova. Nisam ni ja bas Ljubisa Trgovcevic...;) Poznato mi je da Clipper vrsi prevod macroa u toku izvodjena programa i ono je bila moja pretpostavka na osnovu podataka koje si izneo. Ovo je jos jednostavniji slucaj. Dakle sam makro nije nikakav problem i ne treba ga dirati. Treba mu samo obezbediti ispravnu (tacno dekryptovanu) listu procedura i sve ce raditi kako treba. O tome da je do ove liste lako doci na masini na kojoj program radi vec sam govorio pa da se ne ponovljam. POzdrav!
razno.480 valeksa,
Imam jednu molbu. Imam fajl u kome su numeričke vrednosti koje odgovaraju intenzitetu osvetljenja skenirane tačke na papiru. Treba mi program ili bilo kakva informacija, kojim ovaj niz tačaka pretvaram u bilo koji standardni grafički format. Duzina jedne linije je 1200 bytes (1 byte po pixelu). Pozdrav.
razno.481 mdave,
Subject: Free Compilers Last-modified: 1994/11/16 Version: 7.0 ------------------------------------------------------------------------------- Catalog of Free Compilers and Interpreters. ------------------------------------------------------------------------------- Copyright (c) 1993, 1994, David Muir Sharnoff, All Rights Reserved Copyright (c) 1994, Steven Allen Robenalt, All Rights Reserved This list catalogues freely available software for language tools, which includes the following: compilers, compiler generators, interpreters, translators, important libraries, assemblers, etc. -- things whose user interface is a language. Natural language processing tools may also be included. compiler.zip
razno.482 mdave,
Subject: Modula-2 FAQ Last-modified: 1994/11/17 Version: 1.10 Originally-By: mgallo@iptech.com (Mike Gallo) Maintained-By: randy@psg.com (Randy Bush) Copyright 1992-4, M Gallo and R Bush. All rights reserved. May be distributed for free only in toto, including this notice. CONTENT 1) What is comp.lang.modula2? 2) What is Modula-2? 3) What about Modula-2 standardization? 4) What are Oberon and Oberon-2? 5) What about Modula-3, Object Oberon, and Seneca? 6) Where can I find implementations of Modula-2? 7) Where can I find implementations of Oberon[-2]? 8) Where can I find interesting libraries and sources? 9) Some popular FTP sites mod-2.zip
razno.483 mdave,
Newsgroups: comp.lang.c,comp.lang.c++,comp.lang.misc,comp.lang.pascal,comp.unix. programmer,comp.programming From: tomas@softwell.se Subject: Re: Animals V1.00 - AI program that guesses the animals player has thou ght of! Message-ID: <1994Nov16.121216.425@softwell.se> Organization: SoftWell AB References: <392q8j$nrh@oak63.doc.ic.ac.uk> <GENE.94Nov7131023@insti.physics.sun ysb.edu> <3a0l4e$2eb@nutmeg.csv.warwick.ac.uk> Date: Wed, 16 Nov 1994 12:12:16 GMT Lines: 28 In article <3a0l4e$2eb@nutmeg.csv.warwick.ac.uk> csusb@csv.warwick.ac.uk (Jules ) writes: >In article <GENE.94Nov7131023@insti.physics.sunysb.edu>, > gene@insti.physics.sunysb.edu (Eugene Tyurin) writes: >>>>> "PB" == Predrag Bjelanovic <pb1@doc.ic.ac.uk> writes: >> >> PB> It's a (small) attempt on A(rtificial)(un)I(nteligence) - >> PB> the computer tries to guess an animal the player has thought >> PB> of, by asking yes/no type of questions. >> >>What? You wrote it in Pascal? Should have used Lisp instead (as I >>did when I wrote it). >>-- > >If you can find a copy, there is a version of it in BASIC in the back of the >Sinclair ZX Spectrum user's manual. >Now that's ancient history for you... > I think this program has been written in several flavors. I have written it in: BASIC, from a Creative Computing book, just to get it running; C, while learning C; C with a tree structured database; C with database on disk using record-locking to making it multi-user; client-server in C using Unix System V IPC; client-server in C using UDP. -- Tomas Ruden, tomas@softwell.se | Opinions expressed above are my SoftWell AB, Box 47007, 100 74 Stockholm | own and is not necessarily shared SWEDEN | by SoftWell AB. ph: +46 8 19 52 90, fax: +46 8 19 52 53 | "For a nice date: call strftime(3C)"
razno.484 mdave,
From: ichudov@wiltel.com (Igor Chudov) Newsgroups: comp.lang.c,comp.lang.c++,comp.lang.misc,comp.lang.pascal,comp.unix. programmer,comp.programming Subject: Re: Animals V1.00 - AI program that guesses the animals player has thou ght of! Followup-To: comp.lang.c,comp.lang.c++,comp.lang.misc,comp.lang.pascal,comp.unix .programmer,comp.programming Date: 16 Nov 1994 15:43:37 GMT Organization: WilTel Lines: 32 Message-ID: <3ad9b9$a1u@gateway.wiltel.com> References: <392q8j$nrh@oak63.doc.ic.ac.uk> <GENE.94Nov7131023@insti.physics.sun ysb.edu> <3a0l4e$2eb@nutmeg.csv.warwick.ac.uk> <1994Nov16.121216.425@softwell.se > Reply-To: igor_chudov@wiltel.com (Igor Chudov) X-Newsreader: TIN [version 1.2 PL2] tomas@softwell.se wrote: : In article <3a0l4e$2eb@nutmeg.csv.warwick.ac.uk> csusb@csv.warwick.ac.uk (Jul es) writes: : >In article <GENE.94Nov7131023@insti.physics.sunysb.edu>, : > gene@insti.physics.sunysb.edu (Eugene Tyurin) writes: : >>>>> "PB" == Predrag Bjelanovic <pb1@doc.ic.ac.uk> writes: : >> : >> PB> It's a (small) attempt on A(rtificial)(un)I(nteligence) - : >> PB> the computer tries to guess an animal the player has thought : >> PB> of, by asking yes/no type of questions. : >> : >>What? You wrote it in Pascal? Should have used Lisp instead (as I : >>did when I wrote it). : I think this program has been written in several flavors. I have written : it in: BASIC, from a Creative Computing book, just to get it running; C, : while learning C; C with a tree structured database; C with database on : disk using record-locking to making it multi-user; client-server in C : using Unix System V IPC; client-server in C using UDP. I wrote it in the special dialog language for which I wrote a compiler (to test the compiler:), and also in C to make use of my own user interface library. Isn't the idea of this program great? It is so simple and so much fun.... ---------------------------------------------------------------------------- Igor Chudov, Resource Solutions Intl office (918)588-2309 Consultant, for WilTel. home (918)585-5862 E-mail: igor_chudov@wiltel.com http://m-net.arbornet.org/~ichudov 1819 South Jackson #32-P Tulsa OK 74107 f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng.
razno.485 mdave,
From: thant@ahclem.rd.wdi.disney.com (Thant Tessman) Newsgroups: comp.lang.misc,comp.lang.perl,comp.lang.scheme,comp.lang.tcl,comp.la ng.python Subject: Re: What language would you use? Date: 18 Nov 1994 00:21:14 GMT Organization: WDI Lines: 21 Message-ID: <3ags1qINNhtt@ford.is.wdi.disney.com> References: <39b7ha$j9v@zeno.nscf.org> <JGOODSEN.94Nov10173231@trinidad.radsoft. com> <id.L6NE1.1W5@nmti.com> <3a68n9$15j@avocado.pc.helsinki.fi> <3aagv3$pcp@jab ba.cybernetics.net> In article <3aagv3$pcp@jabba.cybernetics.net>, ckp@cybernetics.net writes: > I've been taking a stab at some class libraries, to try to make some > of the interesting software around more reusable. Before I put in > too much effort, I would like to make sure that C++ is not a stupid > choice for doing it. [...] C++ is often the correct decision, but the factors that go into a decision leading to the adoption of C++ are usually driven by politics and/or the market (and/or ignorance), not by anything inherently recommendable about C++. If your concern is packagability alone, I think the designers of SML and its functors had the best grasp of the issues I've seen. I'm told Modula-3 is good that way too (and Modula-3 is more OO-ish than SML), but I don't have any experience with it myself. The designers of Dylan have also expressed their intent to facilitate modular software. thant ------------------------------
razno.486 mdave,
Newsgroups: comp.lang.misc From: howardp@aston.ac.uk (P HOWARD) Subject: Your perfect language. Message-ID: <CzHD3v.Kon@aston.ac.uk> Sender: usenet@aston.ac.uk Reply-To: howardp@aston.ac.uk Organization: Aston University Date: Fri, 18 Nov 1994 20:33:31 GMT Lines: 41 I've been avidly following this newsgroup for some time, and have noted with interest the conversation about language syntaxes. Well, these are really nothing more than quibbles (IMHO). So I ask this: what would you like to see in your dream programming language? I'm not just talking about minor syntactic points (though syntax plays a part, of course). I'm talking about semantic concepts as well. So, it's an open question - what do you say? What groundbreaking idea do you feel has been left out of the languages you use, and might do better to include it? Be as theoretical (or otherwise) as you like. Any programming paradigm: procedural, functional, logic, object-oriented. What are your proposals? If you like, post your own ideas, perhaps as an extension to a language you know. Even include some supporting syntax features, perhaps. Here's one from me: why do languages hold all their variables in main memory? Variables held on disk, but behaving in an identical manner to ordinary variables - anything from a single integer to an enormous array of records (ie a database!). This would remove the need for clumsy IO routines that simulate the same effect. I should say that this idea isn't mine - it's due to D.A. Watt in "Programming Language Concepts and Paradigms." Well, it's just an idea, and not fully developed. There needs to be a way to declare such variables, or to declare that this program will access a variable that is already existing. And then there's the mutual exclusion problem if you're multitasking. What are your thoughts, people? --- ========================================================================= ..Paul Howard, Computing Science, Aston University, Birmingham, ENGLAND. . ..Internet: howardp@aston.ac.uk . ------------------------------------------------------------------------- ..The opinions expressed in this message are my own, unless something's . ..happening that I don't know about... . ------------------------------------------------------------------------- .. computer::sanity->insanity->total_despair . .. || Internally defined... . =========================================================================
razno.487 mdave,
POPL '95 Advance Program 22nd Annual ACM SIGACT-SIGPLAN Symposium on PRINCIPLES OF PROGRAMMING LANGUAGES (tm) San Francisco, California 22-25 January 1995 Sponsored by ACM SIGPLAN and SIGACT ........ Pročitajte...ima i pozivnica. ;) popl.zip
razno.488 djelovic,
> 13.481 razno mdave 25.11.Pet 18:41 compiler.zip > 13.482 razno mdave 25.11.Pet 18:41 mod-2.zip > 13.483 razno mdave 25.11.Pet 18:41 > 13.484 razno mdave 25.11.Pet 18:42 > 13.485 razno mdave 25.11.Pet 18:42 > 13.486 razno mdave 25.11.Pet 18:42 > 13.487 razno mdave 25.11.Pet 18:42 popl.zip Hvala na zanimljivim prilozima. Mogu li samo da zamolim da sledeci put kada ih ostavljas skines zaglavlje i potpis sa svake poruke? Tako ce u porukama biti mnogo manje "suma", pa ce biti lakse za citanje.
razno.489 jkpbvk,
Pitah pre jedno mesec dana ali ajde jos jednom, dakle zanima me kako se ubacujslike (gif,pcx ...) u jedan exe fajl. Koje su to biblioteke (ako ih ima),isto tako me zanima i za muziku. Primera ima mnogo,najcesce demoa i raznih trainera za igre gde se u jednom fajlu mogu videti i flicovi,moduli,gifovi .. , znaci moguce je. Ima na sezamu biblioteka za C za rad sa gifovima,ako neko zna dali je moguce sa njom uraditi to zamolio bih ga da pomogne.
razno.490 omega, -> #489, jkpbvk
Ţ dakle zanima me kako se ubacujslike (gif,pcx ...) u jedan exe fajl. Hint: BGIOBJ
razno.491 vitez.koja, -> #490, omega
#=> Ţ dakle zanima me kako se ubacujslike (gif,pcx ...) u #=> jedan exe fajl. #=> #=> Hint: BGIOBJ Hint: ne valja ti hint. Kao što je već nţN puta rečeno, na kraj .exe fajla može se upisati bilo šta, i ti podaci se kasnije mogu koristiti. Postoji i drugi način (BC), a to je binobj, koji će bilo šta (tekst, sliku, arhivu, ...) prevesti u .obj modul koji se uključuje u tvoj program prilikom linkovanja, čime se omogućava da podacima pristupiš direktno iz programa preko labele, umesto da ih 'ručno' čitaš iz fajla. Ovo drugo rešenje je za male količine podataka lepo i elegantno, ali ako imaš npr. tekst od 1 MB koji hoćeš da ubaciš u .exe fajl nije upotrebljivo. E, da. bgiobj služi za ubacivanje BGI objekata (drajveri, fontovi, ?) u izvršni fajl.
razno.492 omega, -> #491, vitez.koja
Ţ#=> Hint: BGIOBJ Ţ Ţ Hint: ne valja ti hint. Ne bih bas rekao. Ja sa tim radim stalno i funkcionise. Ţ Postoji i drugi nacin (BC), a to je binobj, koji ce bilo sta U BC-u NE postoji binobj. Samo u BP-u. Ţ E, da. bgiobj sluzi za ubacivanje BGI objekata (drajveri, Ţ fontovi, ?) u izvrsni fajl. I nista drugo ne moze da se ubaci? Vazi ako ti tako kazes.....NOT :>
razno.493 jkpbvk, -> #491, vitez.koja
>< Kao sto je vec nţN puta receno, na kraj .exe fajla moze se >< upisati bilo sta, i ti podaci se kasnije mogu koristiti. Bojim se da te nisam dobro razumeo,znaci uzmem neki exe fajl, editujem ga,ubacim mu na kraj fajla sta god hocu i pozovem taj deo kad hocu. Kako ?? :)) >< Postoji i drugi nacin (BC), a to je binobj, koji ce bilo sta >< (tekst, sliku, arhivu, ...) prevesti u .obj modul koji se >< ukljucuje u tvoj program prilikom linkovanja, cime se omogucava >< da podacima pristupis direktno iz programa preko labele, umesto >< da ih 'rucno' citas iz fajla. To mi vec zvuci logicnije samo sto malopre probah sa par bmp-ova i pcx-ova i nista,u kom formatu treba da bude slika da bi je bgiobj progutao.
razno.494 vision, -> #493, jkpbvk
>> Pitah pre jedno mesec dana ali ajde jos jednom, >> dakle zanima me kako se ubacujslike (gif,pcx ...) u jedan exe fajl. >> Koje su to biblioteke (ako ih ima),isto tako me zanima i za muziku. HI :). Ja bih prvo napravio .C za citanje grafickog formata i prebacivanje istog file-a u ukran (ili u zvucnik :)), e zatim bih napravio drugi program - takozvani instalacioni, on ce u stvari da pita koji file treba sa kojim file-om da se ulinkuje :), npr: giflink ime.exe slika.gif. Ovaj program bi mi radio sledece: Prvo program bi uzeo duzinu .exe file-a (4 byte-a), iskopirao bi mi ceo file (.gif, .wav, ...) u .exe file, zatim u .exe file bih na kraju upisao ona 4 byte-ova :). E sada pre citanja sa file-a (iz programa ime.exe) znaci nemas vise slika.gif vec argv[0], onda ides sa fseek(in, -4L, SEEK_END) i procitas ona 4 byte-a sa fread(&sz, 4, 1, in), onda ides sa fseek(in, sz, SEEK_SET) i tu ti je pocetak slike.gif file-a. P.S. Za neupucene :), sve ovo je na C-u :)). Da ne bi ostalo sve ovo crno slovo na papiru (u comp-u ne bas :)), evo ti na source za nesto ..... :) inwavgif.zip
razno.495 dejanr,
Kako se programira na sistemu koji ima malo memorije? NOVOSTI/microb 4.2834.
razno.496 vision,
.LSP problem. Dali neko oce da mi kaze zasto primer 1. ne radi, a drugi radi?? Ovo mi treba zbog crtanja npr. mreze sa while-om i promenljivom <<i>>, ali izgleda "i" je kriva :). /////////////////////////////////////////// (setq i 1) (setq x1 '(i 0)) (setq y1 '(i 9)) (command "line" X1 Y1 "") /////////////////////////////////////////// (setq x1 '(1 0)) (setq y1 '(1 9)) (command "line" X1 Y1 "") ///////////////////////////////////////////
razno.497 superhik,
Jel može neko da me uputi na poruke gde je objašnjeno kao se pravi probot!?
razno.498 mjova, -> #495, dejanr
> Kako se programira na sistemu koji ima malo memorije? > NOVOSTI/microb 4.2834. na 'kant' ;)
razno.499 mboban, -> #497, superhik
**> Jel može neko da me uputi na poruke gde je objašnjeno kao se **> pravi probot!? Uff.. Ne znam tačno. Lupi LIST pascal /a/t i nađi gde je zakačen fajl probots.arj pa dalje prati diskusiju...
razno.500 spece,
HI imam jedan problem treba da uradim ozbiljnu bazu (ne preveliku, ali 'preciznu') - radi se o katalogizaciji nekih umetnickih predmeta (kartoni sa memo poljima, itd, sa dosta pretrazivanja i muzickim zeljama tipa 'ako trazim ovo ili ono, hocu da nadjem i to...'). Polja na kartonima ima nekih 30 komada. Program treba da radi na DOSu pod mrezom. Ne zahteva se arhiviranje slika (samo tekstualnih podataka). Ide se do brojke od maksimalno 10 000 komada (rekorda). Baza bi bila staticna (samo pretrazivanje), malo dodavanja. Problem je to, sto bi to trebalo i naplatiti. Posto necu da napravim damping cene ;) interesuje me koliko se moze tu traziti od drustvene firme za neki takav posao? Dali da covek trazi preduljam, i ako da, koliko % ? e da, ponudu treba da dam sto hitnije...
razno.501 nbatocanin,
Sveže vesti sa strane: moj prijatelj je u timu koji testira beta verziju novog Microsoft proizvoda: Visual FoxPro! Po njegovim rečima, radi se o izuzetnom proizvodu i (navodno) to Microsoft još uvek drži u strogoj tajnosti. Novi Fox ima niz novosti, od kojih su najznačajnije da je jezik drastično izmenjen. Postoji puna implementacija OOP-a. Ono što se najviše svidelo mom prijatelju je novi pristup bazi podataka. Sad se menja terminologija i uvodi se pojam "table" koji je DBF datoteka i "database" koji predstavlja skup tabela. Naime, sada pored standardnog USE/REPLACE pristupa, postoji mogućnost definisanja "pogleda" koji se iz programa koriste kao jedna tabela, a u stvari se sastoje iz više DBF tabela koje su povezane relacijama. Takođe postoji mogućnost korišćenja trigera prilikom raznih operacija sa bazom podataka. Na primer, triger funkcija se aktivira prilikom upisa novog sloga u bazu, brisanja postojećeg i sl.
razno.502 duzle, -> #497, superhik
>**> >**> Jel može neko da me uputi na poruke gde je objašnjeno kao se >**> pravi probot!? co jo pc.pr co re 7.699 :) O.K. ?
razno.503 vision,
Ima li ovde .LSP programera ???
razno.504 pedjak,
Jes' da je bajato, ali možda može nekom biti interesantno.. -------------------- April 16, 1987 Microcom MNP Library (Microsoft C Version) This diskette contains code and documentation for an IBM PC/compatible implementation of Class 2 of the MNP link protocol. This is suitable for use with a Microsoft C application using the small code/small data model. See the programmer's manual, in file 'mnpc.doc', for further details. These files are in the public domain and may be copied, distributed, etc. Note, however, that these materials are made available by Microcom, Inc., on an 'as is' basis and, while it is believed that the code here is a correct implementation, Microcom does not warrant them to be error- free or suitable for any particular purpose. mnpc12.zip
razno.505 dr.grba,
E, šta mi se danas desilo.... Zove me finansijski direktor da dođem u njegovu kancelariju... A tamo došli tip i cura iz neke eminentne šklj beogradske firme i kaže mi da ako firma kupi poslovni adresar njegove firme dobijam gratis program za proveru kontrolnog broja žiro računa, pretvaranje starog žiro računa u novi... Prekidam ga i odgovaram: - Znam o čemu se radi. Pet sekundi dramska pauza... - ...To je napravio Dejan Ristanović, ne znam da li ste čuli za njega. - žuo sam. - E, pa onda je možda moguće da znate šta on radi. - Ja sam član Sezama. Tip se preznojava. Ne dam mu da udahne. Nastavljam: - Prošle godine sam sa kolegom izboksovao algoritam kontrolnog broja, pa poslao na Sezam. Objavljeno je u "Računarima". Imam razvijenu rutinu. (idem do kraja, baš da mu vidim facu) Od vas očekujem tantijemu za distribuciju moje rutine (paz' ovo: "moje" (((: ), ali verujem da neću videti ni konte za to. Jadnik se toliko spleo i pocrveneo da mi ga je bilo žao... (((: - Ali mi to ne prodajemo, mi to dajemo gratis, ko kupi adresar.... - Zar je adresar toliko neažuran da vam treba konverzija starih u nove žiro račune? (već bih se smejao, ali smeje se cura koja je došla sa tipom (:, pa mi žao da joj kvarim ugođaj) Koliko ste primeraka programa dosada podelili? Tada uleće direktor sa pitanjem o ceni i objašnjenjem da je konkurent bio brži. Poslednji, očajnički argumenat: - Ali mi ćemo štampati logotipe firmi svih kupaca, i to u boji!!! Tada sam se pozdravio sa genijem i preporučio mu svoje usluge (((: ==================== Deki, je l' to stvarno tvoj program? (((:
razno.506 duzle,
Tehnicke specifikacije Gravis Ultrasounda, njegovo programiranje, faq o zvucnim karticama, soundex algoritam itd... Enjoy. Ogi sndspecs.arj
razno.507 duzle,
Tekstovi o soundblaster programiranju. Mislim da je sada sve jasno, ne ? :)) Ogi
razno.508 duzle,
Sorry ako sam promasio conf., ali stvarno ne znam gde da ga stavim :). Radi se o fajlu PCX2DXF. Ogi pcx2dxf.zip
razno.509 djelovic, -> #508, duzle
Hvala na veoma zanimljivim prilozima!
razno.510 evlad, -> #505, dr.grba
>> E, šta mi se danas desilo.... Što me nisi zvao da dođem, pa tek ondak da vidiš znojenja O;)
razno.511 nebul, -> #496, vision
> (setq i 1) > (setq x1 '(i 0)) > (setq y1 '(i 9)) > (command "line" X1 Y1 "") Izraz '(i 0) je navedena lista. AutoLisp ne vrsi vrednovanje njenog sadrzaja. Zato prvi clan liste x1 vidi kao i, a ne kao vrednost uz koju je ova promenljiva prikljucena. Ako se iz komandne linije isproba: Command:!i 1 <- vracena vrednost za promenljivu i Command:!x1 (I 0) <- vraceno (I 0), a ne (1 0) za promenljivu x1 Kada se funkciji command kao prvi argument zada "line" onda je drugi ili "", ili koordinata tacke. Ocigledno da x1 ovde nije ispravan argument. Jedno od resenja jeste funkcija list. (setq x1 (list i 0)) Ona formira listu (i 0). Evaluator ce prepoznati promenljivu i u njoj i izvrsiti njeno vrednovanje. Command:!x1 (1 0)