Non recoverable manager.dat

126 views
Skip to first unread message

OVE Contact

unread,
May 9, 2019, 1:58:26 AM5/9/19
to VA Smalltalk

Hello,

I have a Smalltalk image with a lot of code. I don't have any backup of the library (manager.dat) but I would like to recover the source code of my applications from my image abt.icx, anyone could help me ?
Thanks in advance

Seth Berman

unread,
May 9, 2019, 6:45:42 AM5/9/19
to VA Smalltalk
Greetings,

With the image, all you have to work with is the bytecodes.  So the only real possibility is a bytecode decompiler which can generally give one possible source that maps to the bytecodes (though generally an obfuscated one).
I know one used to exist a long time ago for 32-bit VisualAge Smalltalk but Instantiations is not in possession of it.

- Seth

Joachim Tuchel

unread,
May 10, 2019, 7:56:33 AM5/10/19
to VA Smalltalk
Seth,

now that you mention it, I seem to remember a topic like this has once been discussed on either this forum or comp.lang.smalltalk many, many moons ago. I am not even completely sure it was a thread on VisualWorks or VisualAge. I wouldn't be surprised if this thread dates back to the last millenium...

So it may be worth DuckDuckGoing for a few keywords like 'Bytecode decompiler', 'Smalltalk lost source' and the like. Not sure I have much more helpful to add here...


Joachim

Seth Berman

unread,
May 10, 2019, 8:20:13 AM5/10/19
to VA Smalltalk
Thanks Joachim,

I'll also take a look in the "archives".  I've seen this work before and I've seen the output from it.
I don't know if there are certain methods it can't do, but from the methods I saw it looked horribly obfuscated.
I would imagine any sizable codebase reconstructed from this means is going to get interesting.
But if we can find it, at least it may give hope.  I'll report back if I find anything.

- Seth

Louis LaBrunda

unread,
May 10, 2019, 9:01:05 AM5/10/19
to VA Smalltalk
Hi,

Do you have any library at all, even if it is damaged?

Lou


On Thursday, May 9, 2019 at 1:58:26 AM UTC-4, OVE Contact wrote:

Olivier Picot

unread,
May 10, 2019, 10:20:47 AM5/10/19
to VA Smalltalk
In fact, when I say "lost", it means that I don't even have the .dat file ....

Olivier Picot

unread,
May 10, 2019, 10:21:30 AM5/10/19
to VA Smalltalk
Thank you for your answer, if you find anything, this would be very helpful !!!

Richard Sargent

unread,
May 10, 2019, 4:12:05 PM5/10/19
to VA Smalltalk
On Friday, May 10, 2019 at 5:20:13 AM UTC-7, Seth Berman wrote:
Thanks Joachim,

I'll also take a look in the "archives".  I've seen this work before and I've seen the output from it.
I don't know if there are certain methods it can't do, but from the methods I saw it looked horribly obfuscated.
I would imagine any sizable codebase reconstructed from this means is going to get interesting.
But if we can find it, at least it may give hope.  I'll report back if I find anything.

There is a K9 tool available. In earlier versions, it would add a tab to the bottom pane and show a byte code disassembly of the method. But, no reverse engineering to Smalltalk.
I don't recall the details of that now.

Richard Sargent

unread,
Jun 7, 2019, 1:37:33 PM6/7/19
to VA Smalltalk
Correction and details; see below.


On Friday, May 10, 2019 at 1:12:05 PM UTC-7, Richard Sargent wrote:
On Friday, May 10, 2019 at 5:20:13 AM UTC-7, Seth Berman wrote:
Thanks Joachim,

I'll also take a look in the "archives".  I've seen this work before and I've seen the output from it.
I don't know if there are certain methods it can't do, but from the methods I saw it looked horribly obfuscated.
I would imagine any sizable codebase reconstructed from this means is going to get interesting.
But if we can find it, at least it may give hope.  I'll report back if I find anything.

There is a K9 tool available. In earlier versions, it would add a tab to the bottom pane and show a byte code disassembly of the method. But, no reverse engineering to Smalltalk.
I don't recall the details of that now.

K8Disassembler. I guess I had dogs on my mind when I wrote K9.

You can enable it via EtVMTools class>>#displayBytecodes:. When enabled, subsequent newly opened browser windows will include a second text pane beside the source showing the byte code disassembly. As far as I have seen, there is no way to toggle the pane on and off in a browser.

Olivier Picot

unread,
Jun 7, 2019, 1:44:13 PM6/7/19
to va-sma...@googlegroups.com
Thanks a lot, I will try that and let you know !!!
--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to va-smalltalk+unsubscribe@googlegroups.com.
To post to this group, send email to va-sma...@googlegroups.com.
Visit this group at https://groups.google.com/group/va-smalltalk.
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/3ca009b1-d9e9-412d-a837-706b4519ca72%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--

Olivier Picot

unread,
Jun 14, 2019, 8:11:16 AM6/14/19
to va-sma...@googlegroups.com
Richard, 

I didn't succeed in finding the K8Disassembler library, would you have an url / pointer ?
Thanks in advance

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to va-smalltalk...@googlegroups.com.

Richard Sargent

unread,
Jun 14, 2019, 12:21:25 PM6/14/19
to VA Smalltalk
On Fri, Jun 14, 2019 at 5:11 AM Olivier Picot <opi...@object-ive.com> wrote:
Richard, 

I didn't succeed in finding the K8Disassembler library, would you have an url / pointer ?

It is a class, which should be loaded in your image since EtTools depends on it.

image.png
You received this message because you are subscribed to a topic in the Google Groups "VA Smalltalk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/va-smalltalk/LH8bi1c0lNo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to va-smalltalk...@googlegroups.com.

To post to this group, send email to va-sma...@googlegroups.com.
Visit this group at https://groups.google.com/group/va-smalltalk.

Adriaan van Os

unread,
Jun 14, 2019, 2:06:46 PM6/14/19
to va-sma...@googlegroups.com
You can enable it via EtVMTools class>>#displayBytecodes:. When enabled, subsequent newly opened browser windows will include a second text pane beside the source showing the byte code disassembly. As far as I have seen, there is no way to toggle the pane on and off in a browser.

Thanks. I always forget where that thing lives after a while. Now I'm trying it in 9.1 (Win64) and, if enabled, all the panes are kinda minimized and byte codes pane is not showing.....

Cheers,
Adriaan.

Richard Sargent

unread,
Jun 18, 2019, 3:31:31 PM6/18/19
to VA Smalltalk
On Friday, June 14, 2019 at 11:06:46 AM UTC-7, Adriaan van Os wrote:
You can enable it via EtVMTools class>>#displayBytecodes:. When enabled, subsequent newly opened browser windows will include a second text pane beside the source showing the byte code disassembly. As far as I have seen, there is no way to toggle the pane on and off in a browser.

Thanks. I always forget where that thing lives after a while. Now I'm trying it in 9.1 (Win64) and, if enabled, all the panes are kinda minimized and byte codes pane is not showing.....

Oh, that *is* a mess. I hadn't seen that before. (And I don't remember which version I last tried it in.)


Seth, in your infinite free time, perhaps you could look into this.




Cheers,
Adriaan.

Seth Berman

unread,
Jun 18, 2019, 3:44:05 PM6/18/19
to VA Smalltalk
Hi Richard,

I believe this is in our support queue and being looked at.

- Seth

Olivier Picot

unread,
Jun 19, 2019, 2:34:46 AM6/19/19
to va-sma...@googlegroups.com
Effectively, in VAST 9.x, I have the same problem.
In vast 6.0, this works correctly.
What I would need now is the byte code decompiler, do you have any idea ?
Thanks in advance

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to va-smalltalk...@googlegroups.com.
To post to this group, send email to va-sma...@googlegroups.com.
Visit this group at https://groups.google.com/group/va-smalltalk.

For more options, visit https://groups.google.com/d/optout.

Richard Sargent

unread,
Jun 19, 2019, 3:00:20 AM6/19/19
to VA Smalltalk
On Tue, Jun 18, 2019, 23:34 Olivier Picot <opi...@object-ive.com> wrote:
Effectively, in VAST 9.x, I have the same problem.
In vast 6.0, this works correctly.
What I would need now is the byte code decompiler, do you have any idea ?

Study the K8Disassembler class. There is the broken GUI, but as far as I know, the disassembler works. (GUI vs model, if you would)


Thanks in advance

Le mar. 18 juin 2019 à 23:44, 'Seth Berman' via VA Smalltalk <va-sma...@googlegroups.com> a écrit :
Hi Richard,

I believe this is in our support queue and being looked at.

- Seth

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to va-smalltalk...@googlegroups.com.
To post to this group, send email to va-sma...@googlegroups.com.
Visit this group at https://groups.google.com/group/va-smalltalk.
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/cb4b4126-80e2-4bb8-8f68-17082c2ae732%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--

--
You received this message because you are subscribed to a topic in the Google Groups "VA Smalltalk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/va-smalltalk/LH8bi1c0lNo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to va-smalltalk...@googlegroups.com.

To post to this group, send email to va-sma...@googlegroups.com.
Visit this group at https://groups.google.com/group/va-smalltalk.
Reply all
Reply to author
Forward
0 new messages