LWBlat GUI

If you are currently developing portable freeware or planning to do so, use this forum to discuss technical implementation, seek out like-minded developers for partnership, or solicit interested users for beta testing.
Message
Author
lwc
Posts: 191
Joined: Tue Jun 26, 2012 10:40 pm
Contact:

LWBlat GUI

#1 Post by lwc »

The latest stable version of LWBlat GUI (please vote to make it public) was made for Blat v2.6.2 which was Blat's latest version for years.

I want to update it for Blat's new v3.1.1, but I need help with v3's new Unicode support.
When using non Latin characters in the body, etc., Blat sends them in Gibberish.
It may happen because developers are supposed to use a file called blatdll.h, which is a C++ header file.

But my program was made with AutoIt.

So feel free to either mention here or in AutoIt's official forums how to make it work.

My current relevant code is:

Code: Select all

DllCall("blat.dll,"int","Send","str", "list of Blat parameters...")

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: LWBlat GUI

#2 Post by guinness »

Do you want suggestions other than fixing your issue? As I have a couple I can offer.

lwc
Posts: 191
Joined: Tue Jun 26, 2012 10:40 pm
Contact:

Re: LWBlat GUI

#3 Post by lwc »

Sure, I'm open to suggestions.

In fact, anyone can submit ideas in the program's tracker (see official site in the aforementioned link).

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: LWBlat GUI

#4 Post by guinness »

OK, well what stood out for me was your version of _GetIP is outdated (I updated this in the latest AutoIt beta and it can be found on the Forum.) Secondly, you're including functions from the includes, so why not just include the file and use Jos' Obfuscator to strip the code.

lwc
Posts: 191
Joined: Tue Jun 26, 2012 10:40 pm
Contact:

Re: LWBlat GUI

#5 Post by lwc »

As soon as I'll release the new version, it'll use whatever _GetIP the latest stable AutoIt uses.

What do you mean by "include the file"? Why should I bother to use Obfuscator? This is an open source program anyway so there's nothing to hide. Regarding space, it's less than 0.5 Mb so it's small enough even without Obfuscator.

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: LWBlat GUI

#6 Post by guinness »

I meant just use #include <Inet.au3> instead of directly copying it and you need to do a little bit more studying of what Obfuscator does, I use it in my open source software to strip functions I don't use.

lwc
Posts: 191
Joined: Tue Jun 26, 2012 10:40 pm
Contact:

Re: LWBlat GUI

#7 Post by lwc »

Are you sure you're using the latest version? It does #include <Inet.au3> and does not copy and paste _GetIP(). You can download the source version and see for yourself. So what are you talking about?

If you're interested to know, I can happily tell you the official _GetIP() includes a fix submitted by none other than yours truly. Until they released the fix, I resorted to using my own _GetIP in order to employ the fix manually. Maybe one of the older versions of my program had this manual fix, but I can assure you it's not there since at least 2011.

Regarding Obfuscator, I admit I didn't know it removes unneeded functions. Is there a real benefit in it for a program that's pretty small anyway?

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: LWBlat GUI

#8 Post by guinness »

I'm looking at the source code on google code, which I can only presume is where you keep the source code.

I can assure you that I am aware of your previous Track Ticket(s) and the current _GetIP in AutoIt v3.3.8.1 is different to v3.3.6.1 and in v3.3.9.4 it's >> http://www.autoitscript.com/forum/topic ... ntry858868 as I update the UDFs and help file.

Yes, there is a benefit. Just try it.

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: LWBlat GUI

#9 Post by guinness »

Anyway, your request to the Blat tracker is more than likely to be rejected for reasons which I won't state on a non-AutoIt related site.

If you open up blatdll.h you will notice that for Unicode you should use SendW instead of Send/SendA.

Code: Select all

DllCall("blat.dll,"int","SendW","wstr", "list of Blat parameters...")

lwc
Posts: 191
Joined: Tue Jun 26, 2012 10:40 pm
Contact:

Re: LWBlat GUI

#10 Post by lwc »

Oh, I meant the stable source code (it's a separate download as required by the license). You meant the nighties' source code, which wasn't updated.

I've just updated the nighties' source code. Can you beta test it for me before I release the new version?

Anyway, I was aware of "SendW", but not of "wstr". All I needed to know was "wstr". How did you find it? This word doesn't exist in blatdll.h.
To tell you the truth, I see no logic in ANSI support now that Blat only runs in Unicode systems.

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: LWBlat GUI

#11 Post by guinness »

lwc wrote:Anyway, I was aware of "SendW", but not of "wstr". All I needed to know was "wstr". How did you find it? This word doesn't exist in blatdll.h.
To tell you the truth, I see no logic in ANSI support now that Blat only runs in Unicode systems.
They have ANSI support for systems that are pre-Windows 2000.

Because I work on the UDFs especially WinAPI/WinAPIEx and just know that str is for an ANSI string and wstr is for a wide character string, it's something you just know.

Could you create a compiled version with the dll etc and then I will test. I also see you're using Dim, swap this for Global instead. As to why search the AutoIt Forum for Dim usage, I've discussed many times as to why it shouldn't be used.

lwc
Posts: 191
Joined: Tue Jun 26, 2012 10:40 pm
Contact:

Re: LWBlat GUI

#12 Post by lwc »

guinness wrote:They have ANSI support for systems that are pre-Windows 2000.
Sorry, I misread the following for general support:
ChangeLog.txt wrote: 3.0.4
[+] If 32-bit Unicode code is run with Windows 9x/ME, exit with error code 14
because Unicode is not supported with Windows earlier than Windows 2000.
Anyway, Blat has its own distribution. Can't you just put the AU3 file in Blat's folder and run it? I've not only got rid of the DIMs (mostly leftovers from the original script), but also started using the new built-in _StringEncrypt function.

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: LWBlat GUI

#13 Post by guinness »

_StringEncrypt is old, outdated and not safe. Use the Crypt functions instead.

Try this >> http://www.autoitscript.com/forum/topic ... ?p=1028231

I will wait until you release a stable version as I'm too busy to start messing around with Blat files etc..I have my own projects to contend with tonight.

lwc
Posts: 191
Joined: Tue Jun 26, 2012 10:40 pm
Contact:

Re: LWBlat GUI

#14 Post by lwc »

Fine, using Crypt now.

Wish you'd check the nightly because my stable version wouldn't contain Blat either. Like I said, it has its own distribution.
Having Blat is a requirement. You then just put my EXE/AU3 in the same folder and run it.

P.S.
Got this when trying to use Obfuscator:
-###2 Obfuscation Error: Found Execute() statement which will lead to problems running your obfuscated script.
>### current Func: StringRegExpReplace_callback

User avatar
guinness
Posts: 4118
Joined: Mon Aug 27, 2007 2:00 am
Contact:

Re: LWBlat GUI

#15 Post by guinness »

It's not an error per say, read the documentation carefully of Obfuscator. Just use the /StripOnly command or provide me with the commandline you used?

Also, do I have to install blat on my system?

Post Reply