' |
<- Main page |
|
from chat 6/4/2014 20:37:03 AM [20:37] zipguy I've got a question. Is there any way, in Tkchat to modify the 'Google selection' right-click option (on Windoze)? [20:38] * zipguy not to 'Bing'! [20:42] zipguy Or is there anyway to change the menu that pops-up, and add command to it? [20:42] zipguy er, commands [21:13] kbk Of course there is. You have the source code.. [21:17] zipguy kbk All I have is tkchat.exe, not the source code, so I don't [21:17] kbk It's a starpack. Unwrap it [21:18] zipguy Ok I'll give it a try. Thanks kbk |
||
|
From the sdx page at http://wiki.tcl.tk/3411 "sdx unwrap yourstarkit Extract the contents of a starkit into a file system. Creates a directory with the name [file root starkit].vfs The directory must not already exist." It does not make any mention of 'unwrap'ing a foobar.exe, of the type, starpack. |
||
So I did search http://wiki.tcl.tk, looking for 'unwrap' and did not find any mention, that you can unwrap a starpack! It did take me a while to do that. I did find out today, that there at least one that I missed namely sdx, in it's explanation of the mksplit command which says:
That got me into another couple of problems.
Some of them are unanswered... but most are solved! As far as 'unwrap'ing starpacks, would this be a problem for other foobar.exe's which are starpacks? In other words, what if the author did not want you to be able to 'unwrap' a .exe (starpack), and have a look at their code? Some author's don't want you having a look at their source code, which seems like a minority, except in commercial applications, which I do understand, is a majority. I won't try to see the source code, if the author doesn't want me to see it. Most author's, of non-commercial applications, don't mind you having a look at their source code, some encourage that, like I do. :) I learn a lot from well written programs. They can teach you a whole bunch, how to do things better, by example. |
|||
To my surprise, I tried it (unpacking the ezsdx.exe), by using a modified version of EasySDX to unwrap itself (which would accept either .kit or .exe to unwrap) which it DID unwrap ezsdx.exe (which is a Windows starpack). When I tried unpacking the ezsdx.exe and it did work, but had a lot of 'extra' tcl folders in there. Hehe, the buttons on that looked awful, because the only button I had, in the modified version of EasySDX, was the 'Exit EasySDX' one (but that's my problem :)). Here's what it looks like when using the modified version of EasySDX to unpack itself (ezsdx.exe). Screenshot at http://www.geocities.ws/thezipguy//tcl/misc/EasySDX_unpack_on_itself_01.png, on Windows 7. Further, it may be extemely useful for .kit's that have been made into .exe's (as a starpack), if that's all you have, the .exe, which is old and useful, AND you do not have the source code for it. You can get back the source code (with a lot of 'extra' tcl folders in there)! Then you can delete the 'extra' folders, and with a little work, get it back to a .kit state. Then someone, whom I respect a lot in chat, mentioned about tkchat: 6/6/2014 14:24 am [14:24] zipguy, you were looking at augmenting tkchat? You can put scripts in .tkchat_plugins and they will be sourced on startup. That remark got me thinking about lots if things.... After reading that, I also thought more about SDX, and other SDX commands... Then, after thinking about my changes to EasySDX, I wondered what would happen if I tried the 'Lsk (List .kit Contents)' function which is in there? So it failed at first, until I changed the routine, just like I had to the unwrapit procedure. Then, Lo and Behold, it did work also! Have a look at it below. So I went back to the sdx page at http://wiki.tcl.tk/3411 and found, as expected, "sdx lsk yourstarkit List the contents of a starkit" Once again, it does not make any mention of 'List the contents' a foobar.exe, of the type, starpack. |
|||
After going back
into chat to find what the chatters thought about this
page..... 6/6/2014 [07:51] kbk zipguy - have you read http://equi4.com/papers/skpaper1.html ? [07:52] zipguy nope, I'll have a look... [07:56] zipguy kbk I like the questions/issues raised in http://equi4.com/papers/skpaper3.html... continuing reading [08:04] zipguy From http://equi4.com/papers/skpaper4_6.html - "Note that the contents of Starpacks can be listed and extracted with the SDX utility, since they use the same packaging mechanism as Starkits. The main difference between a Starpack and a Starkit is that the "header" (i.e. the piece of code that is executed on start-up) is a large binary executable file (the Tcl/Tk interpreter) and the files stored inside its VFS include all the standard Tcl/Tk runtime support files." [08:05] zipguy actually, it has a lot of extra tcl folders in there too! [[08:05] kbk tkchat depends on a lot of libraries [08:06] zipguy I haven't yet tried to SDX unwrap Tkchat.exe [08:07] zipguy although it should work fine. [08:07] kbk Oh, what were you unwrapping? [08:08] zipguy If you look at the link I posted above, namely http://www.geocities.ws/thezipguy/freeware/SDX_more.html, you'll see what I did last night [08:09] zipguy I ask questions in there too! [08:10] kbk What do you think is 'extra' there? [08:10] <frerich> left [08:10] zipguy from that page 'Screenshot at http://www.geocities.ws/thezipguy//tcl/misc/EasySDX_unpack_on_itself_01.png, on Windows 7.' [08:11] kbk Anyway... it's common knowledge among Tclers that starpacks can be unwrapped. Starpacks are for convenience in deployment, not for code obfuscation. [08:12] zipguy yuppers, I'd agree on the later point you just made. [08:13] kbk Code obfuscation is more often done using the bytecode compiler in TDK, and the resulting .tbc files can also be wrapped. [08:13] zipguy I was unaware of it. And I could not find it anywhere on wiki.tcl.tk [08:17] kbk I guess it's kind of implied... Starkit and Starpack are really the same thing; it's just that one starts with a short Tcl script and needs a stand-alone Tcl interpreter to launch, while the other starts with a Tcl executable. The rest of the content is the same, and the tools deal equally with either. [08:18] kbk (Plus a couple of 'gotcha's' like the fact that you can't write to a running executable on Windows, so Starkits can be self-updating, but Starpacks need to jump through hoops to change themselves. [08:18] kbk But that's a platform issue, not fundamental to the format.) After reading that There does appear to be a very old paper in PDF, about Starkits called ''tclkit2.pdf', which was written in 2002, by which does mention... 'Note that since Starpacks use the same packaging mechanism as Starkits, their content can be listed and extracted with the SDX utility. The main difference is that the "header" (i.e. the piece of code that is executed on startup) is a large binary executable file, and that the files stored inside include all the standard Tcl/Tk runtime support files.' That's the only reference I've found for 'unpack'ing a starpack. You can download it at http://www.digital-smarties.com/Tcl2002/tclkit.pdf which is a great read, if you're going to try to make a starkit, all the way up to 'Advanced topics '. I wish I had been aware of it earlier. It is a well written paper, also available online, if you prefer that kind of site at http://equi4.com/papers/skpaper1.html. |
|||
06/06
03:20:26AM| --- List Contents ezsdx.exe 06/06 03:20:26AM| sdx::sdx lsk ezsdx.exe ezsdx.exe: 5114 2010/07/16 08:44:15 boot.tcl 37 2010/07/16 08:44:15 config.tcl dir lib/ 80 2012/02/24 16:37:17 main.tcl 57022 2006/06 03:20:26AM| --- List Contents ezsdx.exe 06/06 03:20:26AM| sdx::sdx lsk ezsdx.exe ezsdx.exe: 5114 2010/07/16 08:44:15 boot.tcl 37 2010/07/16 08:44:15 config.tcl dir lib/ 80 2012/02/24 16:37:17 main.tcl 57022 2009/10/11 06:51:19 tclkit.ico ezsdx.exe/lib: dir Itcl/ dir Mk4tcl/ dir app-ezsdx/ dir dde/ dir included/ dir itcl3.4/ dir poToolbar/ dir progressbar/ dir rechan/ dir registry/ dir reqfiles/ dir tcl8/ dir tcl8.6/ dir thread2.6.5/ dir tk8.6/ dir vfs1.4/ ezsdx.exe/lib/Itcl: 42 2012/12/20 19:37:58 pkgIndex.tcl ezsdx.exe/lib/Mk4tcl: 50 2012/12/20 19:37:58 pkgIndex.tcl ezsdx.exe/lib/app-ezsdx: 9630 2005/08/05 23:58:02 dlprogress.tcl 57229 2014/05/22 23:41:45 ezsdx.tcl 11590 2013/10/10 02:31:26 help.tcl 33052 2014/05/17 15:08:01 icons.tcl 5673 2014/01/28 15:26:37 makeToolbar.tcl 250 2013/09/09 17:44:23 pkgIndex.tcl ezsdx.exe/lib/dde: 42 2012/12/20 19:37:58 pkgIndex.tcl ezsdx.exe/lib/included: 3403 2013/02/16 15:28:52 included.tcl 75 2003/07/17 12:54:22 pkgIndex.tcl ezsdx.exe/lib/itcl3.4: 9130 2012/07/11 18:01:20 itcl.tcl ezsdx.exe/lib/poToolbar: 147 2012/03/13 21:04:50 pkgIndex.tcl 2338 2012/03/21 02:34:27 poToolHelp.tcl 3277 2013/03/05 13:32:08 poToolbar.tcl ezsdx.exe/lib/progressbar: 81 2003/07/13 15:56:30 pkgIndex.tcl 1620 2003/07/13 15:57:26 progressbar.tcl ezsdx.exe/lib/rechan: 46 2012/12/20 19:37:58 pkgIndex.tcl ezsdx.exe/lib/registry: 52 2012/12/20 19:37:58 pkgIndex.tcl ezsdx.exe/lib/reqfiles: 1204 2013/09/07 12:52:31 ezsdx_license.txt 200 2012/02/24 15:24:33 ezsdxc.dat 539 2012/03/15 00:30:13 ezsdxh.dat 3700 2013/03/04 13:59:32 get_from_console.tcl 105528 2012/02/15 13:45:09 sdx.kit 1451787 2013/07/08 16:30:56 tclkit-8.6.0-runwin32.upx.exe ezsdx.exe/lib/tcl8: dir 8.4/ dir 8.5/ dir 8.6/ ezsdx.exe/lib/tcl8.6: 20488 2012/06/26 09:59:02 auto.tcl 129704 2012/06/26 09:59:02 clock.tcl dir encoding/ 7328 2012/06/26 09:59:02 history.tcl 25170 2012/11/13 16:30:38 init.tcl dir opt0.4/ 23141 2012/06/26 09:59:02 package.tcl 803 2012/06/26 09:59:02 parray.tcl 33447 2012/06/26 09:59:02 safe.tcl 5415 2012/06/26 09:59:02 tclIndex 11317 2012/06/26 09:59:02 tm.tcl 4659 2012/06/26 09:59:02 word.tcl ezsdx.exe/lib/thread2.6.5: 1558 2012/12/20 19:24:44 pkgIndex.tcl 30233 2010/07/16 08:44:13 thread.n 75776 2012/12/20 19:24:45 thread26.dll 15807 2010/07/16 08:44:13 tpool.n 20380 2010/07/16 08:44:13 tsv.n 14859 2010/07/16 08:44:13 ttrace.n 29076 2010/07/16 08:44:14 ttrace.tcl ezsdx.exe/lib/tk8.6: 8259 2012/11/09 08:32:52 bgerror.tcl 20029 2012/11/09 08:32:52 button.tcl 9660 2012/11/09 08:32:52 choosedir.tcl 21446 2012/11/09 08:32:52 clrpick.tcl 8232 2012/11/09 08:32:52 comdlg.tcl 32061 2012/11/09 08:32:52 console.tcl 6050 2012/11/09 08:32:52 dialog.tcl 16779 2012/11/09 08:32:52 entry.tcl 4857 2012/11/09 08:32:52 focus.tcl 15611 2012/11/09 08:32:52 fontchooser.tcl 15978 2012/11/09 08:32:52 iconlist.tcl 10883 2012/11/09 08:32:52 icons.tcl dir images/ 14301 2012/11/09 08:32:52 listbox.tcl 3499 2012/11/09 08:32:52 megawidget.tcl 37756 2012/11/09 08:32:52 menu.tcl 29355 2012/11/09 08:32:52 mkpsenc.tcl 16487 2012/11/09 08:32:52 msgbox.tcl dir msgs/ 5594 2012/11/09 08:32:52 obsolete.tcl 1586 2012/11/09 08:32:52 optMenu.tcl 7928 2012/11/09 08:32:52 palette.tcl 5176 2012/11/09 08:32:52 panedwindow.tcl 40 2012/12/20 19:37:59 pkgIndex.tcl 7381 2012/11/09 08:32:52 safetk.tcl 7639 2012/11/09 08:32:52 scale.tcl 12434 2012/11/09 08:32:52 scrlbar.tcl 14821 2012/11/09 08:32:52 spinbox.tcl 20270 2012/11/09 08:32:52 tclIndex 5143 2012/11/09 08:32:52 tearoff.tcl 31573 2012/11/09 08:32:52 text.tcl 22673 2012/11/09 08:32:52 tk.tcl 38137 2012/11/09 08:32:52 tkfbox.tcl dir ttk/ 10253 2012/11/09 08:32:52 unsupported.tcl 26045 2012/11/09 08:32:52 xmfbox.tcl ezsdx.exe/lib/vfs1.4: 16579 2011/06/14 19:25:50 mk4vfs.tcl 457 2012/12/20 19:37:58 pkgIndex.tcl 4809 2008/12/03 09:34:24 starkit.tcl 12120 2008/11/04 06:49:59 tarvfs.tcl 13154 2009/01/24 04:55:52 vfsUtils.tcl 9263 2011/12/12 18:03:05 vfslib.tcl 23473 2011/12/12 18:03:55 zipvfs.tcl ezsdx.exe/lib/tcl8/8.4: dir platform/ 9855 2012/06/26 09:59:02 platform-1.0.10.tm ezsdx.exe/lib/tcl8/8.5: 16214 2012/10/03 11:30:43 msgcat-1.5.0.tm 100762 2012/12/04 15:12:29 tcltest-2.3.5.tm ezsdx.exe/lib/tcl8/8.6: 41506 2012/11/06 08:48:48 http-2.8.5.tm ezsdx.exe/lib/tcl8.6/encoding: 1090 2011/04/26 11:14:03 ascii.enc 1091 2011/04/26 11:14:03 cp1250.enc 1091 2011/04/26 11:14:03 cp1251.enc 1091 2011/04/26 11:14:03 cp1252.enc 1091 2011/04/26 11:14:03 cp1253.enc 1091 2011/04/26 11:14:03 cp1254.enc 1091 2011/04/26 11:14:03 cp1255.enc 1091 2011/04/26 11:14:03 cp1256.enc 1091 2011/04/26 11:14:03 cp1257.enc 1091 2011/04/26 11:14:03 cp1258.enc 1090 2011/04/26 11:14:03 cp437.enc 1090 2011/04/26 11:14:03 cp737.enc 1090 2011/04/26 11:14:03 cp775.enc 1090 2011/04/26 11:14:03 cp850.enc 1090 2011/04/26 11:14:03 cp852.enc 1090 2011/04/26 11:14:03 cp855.enc 1090 2011/04/26 11:14:03 cp857.enc 1090 2011/04/26 11:14:03 cp860.enc 1090 2011/04/26 11:14:03 cp861.enc 1090 2011/04/26 11:14:03 cp862.enc 1090 2011/04/26 11:14:03 cp863.enc 1090 2011/04/26 11:14:03 cp864.enc 1090 2011/04/26 11:14:03 cp865.enc 1090 2011/04/26 11:14:03 cp866.enc 1090 2011/04/26 11:14:03 cp869.enc 1090 2011/04/26 11:14:03 cp874.enc 48207 2011/04/26 11:14:03 cp932.enc 1093 2011/04/26 11:14:03 dingbats.enc 1054 2011/04/26 11:14:03 ebcdic.enc 1091 2011/04/26 11:14:03 gb1988.enc 192 2011/04/26 11:14:03 iso2022-jp.enc 115 2011/04/26 11:14:03 iso2022-kr.enc 226 2011/04/26 11:14:03 iso2022.enc 1094 2011/04/26 11:14:03 iso8859-1.enc 1095 2011/04/26 11:14:03 iso8859-10.enc 1095 2011/04/26 11:14:03 iso8859-13.enc 1095 2011/04/26 11:14:03 iso8859-14.enc 1095 2011/04/26 11:14:03 iso8859-15.enc 1095 2011/04/26 11:14:03 iso8859-16.enc 1094 2011/04/26 11:14:03 iso8859-2.enc 1094 2011/04/26 11:14:03 iso8859-3.enc 1094 2011/04/26 11:14:03 iso8859-4.enc 1094 2011/04/26 11:14:03 iso8859-5.enc 1094 2011/04/26 11:14:03 iso8859-6.enc 1094 2011/04/26 11:14:03 iso8859-7.enc 1094 2011/04/26 11:14:03 iso8859-8.enc 1094 2011/04/26 11:14:03 iso8859-9.enc 1092 2011/04/26 11:14:03 jis0201.enc 1091 2011/04/26 11:14:03 koi8-r.enc 1091 2011/04/26 11:14:03 koi8-u.enc 1096 2011/04/26 11:14:03 macCentEuro.enc 1096 2011/04/26 11:14:03 macCroatian.enc 1096 2011/04/26 11:14:03 macCyrillic.enc 1096 2011/04/26 11:14:03 macDingbats.enc 1093 2011/04/26 11:14:03 macGreek.enc 1095 2011/04/26 11:14:03 macIceland.enc 1093 2011/04/26 11:14:03 macRoman.enc 1095 2011/04/26 11:14:03 macRomania.enc 1092 2011/04/26 11:14:03 macThai.enc 1095 2011/04/26 11:14:03 macTurkish.enc 1095 2011/04/26 11:14:03 macUkraine.enc 1091 2011/04/26 11:14:03 symbol.enc 1091 2011/04/26 11:14:03 tis-620.enc ezsdx.exe/lib/tcl8.6/opt0.4: 32720 2012/06/26 09:59:02 optparse.tcl 607 2012/06/26 09:59:02 pkgIndex.tcl ezsdx.exe/lib/tk8.6/images: 8203 2012/12/19 10:39:13 lamp.png 1670 2012/12/19 10:39:13 logo64.gif ezsdx.exe/lib/tk8.6/msgs: 4158 2012/12/19 10:39:13 cs.msg 3909 2012/12/19 10:39:13 da.msg 4823 2012/12/19 10:39:13 de.msg 8698 2012/12/19 10:39:13 el.msg 3286 2012/12/19 10:39:13 en.msg 63 2012/12/19 10:39:13 en_gb.msg 3916 2012/12/19 10:39:13 eo.msg 3950 2012/12/19 10:39:13 es.msg 3805 2012/12/19 10:39:14 fr.msg 4600 2012/12/19 10:39:14 hu.msg 3692 2012/12/19 10:39:14 it.msg 4466 2012/12/19 10:39:14 nl.msg 4841 2012/12/19 10:39:14 pl.msg 3913 2012/12/19 10:39:14 pt.msg 7216 2012/12/19 10:39:14 ru.msg 3832 2012/12/19 10:39:14 sv.msg ezsdx.exe/lib/tk8.6/ttk: 3342 2012/11/09 08:32:52 altTheme.tcl 2001 2012/11/09 08:32:52 aquaTheme.tcl 2978 2012/11/09 08:32:52 button.tcl 4261 2012/11/09 08:32:52 clamTheme.tcl 3520 2012/11/09 08:32:52 classicTheme.tcl 12394 2012/11/09 08:32:52 combobox.tcl 4007 2012/11/09 08:32:52 cursors.tcl 3684 2012/11/09 08:32:52 defaults.tcl 16015 2012/11/09 08:32:52 entry.tcl 5571 2012/11/09 08:32:52 fonts.tcl 4886 2012/11/09 08:32:52 menubutton.tcl 5619 2012/11/09 08:32:52 notebook.tcl 1920 2012/11/09 08:32:52 panedwindow.tcl 1089 2012/11/09 08:32:52 progress.tcl 2583 2012/11/09 08:32:52 scale.tcl 3097 2012/11/09 08:32:52 scrollbar.tcl 2392 2012/11/09 08:32:52 sizegrip.tcl 4255 2012/11/09 08:32:52 spinbox.tcl 8859 2012/11/09 08:32:52 treeview.tcl 4546 2012/11/09 08:32:52 ttk.tcl 8562 2012/11/09 08:32:52 utils.tcl 9349 2012/11/09 08:32:52 vistaTheme.tcl 2643 2012/11/09 08:32:52 winTheme.tcl 1920 2012/11/09 08:32:52 xpTheme.tcl ezsdx.exe/lib/tcl8/8.4/platform: 5977 2012/06/26 09:59:02 shell-1.1.4.tm |
|||