Dać source code ale jednocześnie uniemożliwić działanie..

0

Chodzi o to że kiedyś robiłem program w c# visual studio express pewnej firmie. Program działa super, umowa została podpisana, ale teraz oni chcą go zmodyfikować i potrzebują kodu źródłowego, dlatego mnie o niego poprosili. Wiem że nie muszę im dać, jednak pracują tam osoby które znam i nie chcę im odmawiać, jednocześnie wolałbym żeby to mi zlecili wykonanie tych zmian, ale nie mogą się zgodzić bo z tamtą firmą podpisali jakąś umowę. Nie mogę do końca opisywać więc skupię się na pytaniu: Jak dać im kod ale tak by odechciało im się cokolwiek na nim robić jednocześnie by nie widzieli tego jako coś co zrobiłem specjalnie? Wydruk kodu czcionką 12 albo przekazanie w formacie pdf raczej nie wchodzi w grę. Jak z tego kodu zrobić kosmos, ale czytelny?

1

Skompiluj i poddaj deasemblacji?
Lub po prostu skorzystaj z jakichś obfuskatorów.

1

Zleceniodawca ma w Polsce prawo (AFAIK) zdekodować Twój program.
Jeśli nie określiłeś w umowie czy przekazujesz źródła to można założyć że ich nie musisz przekazywać.
Jeśli klient woli to zmieniać własnymi siłami to możesz mu dać program przemielony obfuscatorem a w przyszłości określaj takie rzeczy w umowie.

Lista tego typu narzędzi:
http://en.wikipedia.org/wiki/List_of_obfuscators_for_.NET
http://www.ssware.com/cryptoobfuscator/obfuscator-net.htm
http://yck1509.github.io/ConfuserEx/

4

nie prościej po prostu przekazać te źródła odpłatnie. Np. w cenie 5x wykonany program i zapomnieć. Jeśli sobie przekalkulują, że im się nie opłaca to albo przeróbkę zlecą Tobie albo ktoś im to napisze od nowa

1

Usuń testy, poważnie przesadź z paternami, usuń komentarze, ustaw dużo konfigów w zewnętrznych plikach xml, dodaj dużo aspektów(w summie to nie wiem czy w c# jest odpowiednik springa) i nie zapomnij o refleksji i oparciu kodu o efekty uboczne funkcji wtedy nawet z normalnym kodem klient będzie się męczył tak, że raczej mu się odechce. W sumie to jeszcze kod przekaż w jednej paczce, a nie jako repo.

0

Bez sensu. Skoro mają binarke to reflektor im ją może dekompilować do źródeł. o nic nie musieli cię prosić, może zrobili to tylko dla picu?

0
.DużaTajemnicaWiedzy napisał(a):

Usuń testy, poważnie przesadź z paternami, usuń komentarze, ustaw dużo konfigów w zewnętrznych plikach xml, dodaj dużo aspektów(w summie to nie wiem czy w c# jest odpowiednik springa) i nie zapomnij o refleksji i oparciu kodu o efekty uboczne funkcji wtedy nawet z normalnym kodem klient będzie się męczył tak, że raczej mu się odechce. W sumie to jeszcze kod przekaż w jednej paczce, a nie jako repo.

Nie jestem jakimś zaawansowanym programistą, raczej bardzo newbie, kiedyś robiłem w Pascalu programy do szkoły a w c# programuję bardziej strukturalnie, początkująco, ale chętnie dowiedziałbym się o tych rzeczach które tu napisałeś bo nie mam o nich pojęcia.

0
ZenekZKomina napisał(a):

Nie jestem jakimś zaawansowanym programistą, raczej bardzo newbie, kiedyś robiłem w Pascalu programy do szkoły a w c# programuję bardziej strukturalnie, początkująco, ale chętnie dowiedziałbym się o tych rzeczach które tu napisałeś bo nie mam o nich pojęcia.

Z tego wynika że aplikacja nie jest jakimś "rocket science" więc dla świętego spokoju zrób jak napisał abrakadaber.
Tylko absolutnie nie dawaj źródeł za darmo (o ile nie było o tym mowy na piśmie wcześniej) i ew. spisz dodatkową umowę przy sprzedaży źródeł.

Określ w niej:

  • czy klient może modyfikować źródła
  • czy klient może sprzedawać Twój program (z lub bez modyfikacji)
  • czy klient ma wyłączne prawa do dysponowaniem programem i jego źródłami
  • czy Twoje nazwisko może zostać usunięte ze źródeł

Jeśli to Ci jest obojętne, to możesz użyć licencji MIT.
Jeśli nie chcesz żeby program był sprzedawany dalej - musisz spisać własną umowę licencyjną.

0

Ja bym po prostu zdekompilował to co mają; sami też to mogą zrobić więc w niczym im nie ułatwiasz. Możesz jeszcze wszystkie pliki wrzucić do jednego folderu i zmienić nazwy zmiennych z "nic nie mówiących" po dekompilacji na "wprowadzające dezinformację" czyli udawać że nazwać je tak żeby myśleli że służą do czego innego ;)

3

Dałeś ciała z umową trudno. Ale takie zaciemnianie i kombinowanie może Ci się odbić czkawką. Jak wykręcisz teraz taki numer to na pewno następnego zlecenia nie dostaniesz. Lepiej dogadać się odnośnie dodatkowej opłaty niż tak mieszać ale jak się nie uda a programu i tak nigdzie indziej nie sprzedaż to daj im te źródła po ludzku, bo i tak sobie je wyciągną tak czy inaczej. A dawanie im wszystkiego w jednym pliku czy w jeszcze inny dziwaczny sposób zostawi tylko nie smak.

1 użytkowników online, w tym zalogowanych: 0, gości: 1