Hi Stef,

I don't know what's the demand for such a feature.

In the Windows and Desktop era it might have been very important, but
I don't see that kind of integration these days, when most system
integrations happen at the HTTP level.

For my particular case I don't need a DLL.

Regards!

Esteban A. Maringolo

On Mon, Sep 7, 2020 at 1:55 PM Stéphane Ducasse
<stephane.duca...@inria.fr> wrote:
>
> I would like also to be able to deploy a pharo app as a dll juts time and 
> money.
>
> S.
>
> On 7 Sep 2020, at 17:28, Esteban Maringolo <emaring...@gmail.com> wrote:
>
> Hi Davide,
>
> Thanks for the thorough response, but I think you're over
> dimensioning, and to some extent missing, my initial purpose and
> intention.
>
> I don't want to protect from somebody attempting to reverse engineer
> my application, that's impossible (more so given your references).
> I simply want to disable the option to open the IDE, even with all
> tool menus disabled.
>
> In Java if I deliver a .jar or .war anybody could reverse engineer it,
> but launching it won't open the development environment.
>
> For comparison with other Smalltalks I've used:
> * VisualWorks enables the distribution of a "headless" IMAGE (and
> parcels) without sources, if you revert that image to be headful all
> source code will be decompiled using meaningless variables.
> * Dolphin has the concept of SessionManager that is the entry point to
> the image startup, if you save your image with a Headless Session
> manager, then no GUI loop will start, same thing if you deploy as a
> COM component.
> * VAST produces its own ICX file where you can choose what to include
> in it, it's not simply saving the image but building a new one from
> within the development image, it's one step further.
> * VSE had the SLL (similar to DLLs), if you don't bind the IDE's SLLs
> then there is no way to start the IDE (I never built a headless VSE
> app though).
>
> So what I'd like is an always Pharo headless image or Pharo headless
> vm, instead of being controlled by a parameter in the VM.
>
> Regards,
>
> Esteban A. Maringolo
>
> On Mon, Sep 7, 2020 at 12:04 PM Davide Grandi <davide.gra...@email.it> wrote:
>
>
> Ok, I'll give you a result, meanwhile fixing some imprecisions.
>
> The "class" is CogVmSimulator but it's use is very far from my knowlegde,
> I recalled having seen a picture of Pharo-in-Pharo (or Squeak-in-Squeak)
> running under this simulator.
> It lives near the Cog side (or the OpenVM side) of Squeak/Pharo
> (If I'm not wrong Squeak ran into an emulator, before walking on his
> legs-his VM).
>
> There are many of these simulator, for other Smalltalk :
> - Hobbes and others for Xerox (thanks to files of Mario Molczko and/or
>   Bitsavers
> - Dan Ingalls Apda Smalltalk + old Smalltalk -72 /-76
> and maybe others I don't yet know about
>
> The reason is quite simple : the object memory is written to disk
> and the spec of executing Smalltalk are known either from the books
> or by the source.
>
> The root is Xerox's SystemTracer, a class that wrote a running image
> to disk, optionally changing object format (see the Green Book).
>
> So :
> - if you can read the image
> - you can run into a simulator
> - or decode it without to much effort (5 emulators for Xerox V2 image,
> so far).
> (try to open an image with a text editor : intriguing !)
>
> I don't know how Cincom or Instantiations protect the released st code,
> but for Pharo and Squeak this is not a point : they are all open.
>
> So, as if you wanna "protect" names and methods of a running image ...
> ... you have to (IMHO) :
> - encrypt executable and image (and modify the VM)
> - or obfuscate your classes and methods renaming it to
>   C1, C2, ..., m1:p1:p2: and so on (keeping a map for debugging)
>
> Sorry to be imprecise about names and locations
> apart from suggest to see 4 emulators 4 running in a squeak image
> running ... in javascript in your browser (so total is 5) at :
> https://smalltalkzoo.thechm.org/HOPL-Squeak.html?earlyst80
> (thanks to Vanessa Freudemberg & Dan Ingalls).
>
> Sorry again & best regards,
>
>     Davide Grandi
>
> On 06/09/2020 23:51, Esteban Maringolo wrote:
>
> If somebody gets to open the image and loads it with an Smalltalk
> Emulator to execute it I'll ask him/her to start working together, and
> even teach me how to do it.
>
> I don't want to shield the image from being accessed, just want to
> make it harder than simply removing the '--headless' parameter to the
> VM executable.
> Of course removing sources is a plus (I do for a VW deployed image),
> but even for this particular piece of software that I'm asking for, I
> don't need it.
>
> If I wanted to make the source public, I'll publish it in
> Github/Gitlab, otherwise I'd rather keep the code private.
>
> Regards,
>
> Esteban A. Maringolo
>
> On Sun, Sep 6, 2020 at 6:29 PM Davide Grandi <davide.gra...@email.it> wrote:
>
> I mean that with SmalltalkEmulator, the Smalltalk interpreter
> written in Smalltalk, one can execute an image looking at
> classes, methods and maybe executing code at will.
>
> And the only practical form of protection I see in Squeak/Pharo
> is to obfuscate code.
>
> Maybe I'm wrong.
>
>      Davide Grandi
>
> On 06/09/2020 22:27, Esteban Maringolo wrote:
>
> On Sun, Sep 6, 2020 at 12:52 PM Davide Grandi <davide.gra...@email.it> wrote:
>
> Does "competition" has SmalltalkEmulator ?
> A Smalltalk-written VM will defeat any simple obfuscation scheme.
>
> Sorry, but I don't understand what you  mean.
>
> Best regards,
>
> --
> Ing. Davide Grandi
> email    : davide.gra...@email.it
> mobile   : +39 339 7468 778
> linkedin : http://linkedin.com/in/davidegrandi
>
>
> --
> Ing. Davide Grandi
> email    : davide.gra...@email.it
> mobile   : +39 339 7468 778
> linkedin : http://linkedin.com/in/davidegrandi
>
>
>
>
> --------------------------------------------
> Stéphane Ducasse
> http://stephane.ducasse.free.fr / http://www.pharo.org
> 03 59 35 87 52
> Assistant: Aurore Dalle
> FAX 03 59 57 78 50
> TEL 03 59 35 86 16
> S. Ducasse - Inria
> 40, avenue Halley,
> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
> Villeneuve d'Ascq 59650
> France
>

Reply via email to