Author Topic: V  (Read 11552 times)

0 Members and 1 Guest are viewing this topic.

Offline GEuserTopic starter

  • Frequent Contributor
  • **
  • Posts: 502
  • Country: 00
  • Is Leaving
V
« on: December 01, 2013, 01:51:54 am »
Q
« Last Edit: August 30, 2016, 12:30:17 pm by GEuser »
Soon
 

Offline mariush

  • Super Contributor
  • ***
  • Posts: 5029
  • Country: ro
  • .
Re: VB6?
« Reply #1 on: December 01, 2013, 02:20:11 am »
It's highly unlikely the default setting for something is stored along with the text ... those are just strings, resources, one after another... there aren't variables and settings intermixed with those strings.
 

Offline PeterG

  • Frequent Contributor
  • **
  • Posts: 831
  • Country: au
Re: VB6?
« Reply #2 on: December 01, 2013, 03:06:19 am »
Looks a lot like a setup file used for VB6 apps. The text you see appear to be menu items.
It is hard to say for sure without seeing more of the file.

Regards
Testing one two three...
 

Offline Neilm

  • Super Contributor
  • ***
  • Posts: 1546
  • Country: gb
Re: VB6?
« Reply #3 on: December 01, 2013, 11:02:25 am »
Chances are the default isn't stored anywhere near this point. If I recall VB correctly, the control is just a list. If the list is populated by its constructor then the default is the first in the list, but if the list is populated as the programme runs I believe the programmer has to hard code a default value.

Also, note that just changing the text shown by that control probably won't change the language shown by the programme. I have never done multi language support but I believe the control will simply select a different set of text strings. Depending on the programmer, it might say "if language = 'English' then use wordseng.txt" Otherwise it might say "if language = option 1 then use wordseng.txt". In the first case changing the word shown by the control will change the language used, in the second case it will not.

If you are lucky, then you might find a separate file with all the text in and simply re-naming the file will solve the problem. The trouble with this is if there are any special characters that are used in either language or if the software re-sizes any text fields dependent on the language.
Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe. - Albert Einstein
Tesla referral code https://ts.la/neil53539
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8275
Re: VB6?
« Reply #4 on: December 01, 2013, 11:23:24 am »
If I remember correctly VB6 and earlier can be easily decompiled... it's been a while since I've seen something written in VB6! As mentioned above the default is very likely stored somewhere else. You will need to figure that out and change it there. Good luck.
 

Offline czdt8m

  • Contributor
  • Posts: 29
  • Country: be
Re: VB6?
« Reply #5 on: December 01, 2013, 11:34:13 am »
I think its VB6 as its mentioned in the file , I know nothing about it and have not enough brain space to absorb/learn anything as such as this btw , so any assistance would be appreciated .

Also I'm not trying to crack it as its free anyway , just trying to set it on a default , there is no chance to find the maker as its old radio software who do not make the models now that are compatible with this version imo .

So in the attached pic , all I want to do is on start-up of the program it is always in another language and I have to pick another every-time , so in the highlighted box I guess? is the option area to have it start-up in English , so the question is , is do I just make the English bit look the same as the chn bit and visa/versa?

thanks for looking ..edit>I have no source code either fyi .

Looks like that is just the menu structure, it shows the internal name (or label) and the text that is displayed to the user.
So the actual language change is being done in the code attached to the label. The startup language is different, how that is done is up to the programmer, and you can just guess at this.

In case the default start-up language is hard coded, I doubt there is much you can do.
You could try to switch the two menu options in case the first one is the default one.
Also maybe do a search for the menu item labels and see what you get.
Software Engineer looking over the fence.
 

Offline mariush

  • Super Contributor
  • ***
  • Posts: 5029
  • Country: ro
  • .
Re: VB6?
« Reply #6 on: December 01, 2013, 03:23:34 pm »
Quote
If I remember correctly VB6 and earlier can be easily decompiled... it's been a while since I've seen something written in VB6! As mentioned above the default is very likely stored somewhere else. You will need to figure that out and change it there. Good luck

VB6 offered compilation as true binary executable etc  or the older type of executable similar to vb5 and older where the executable is basically just a sort of interpreted code that gets further processed by the runtime.

You can get IDA Pro (or another good dissasembler) and dissasemble the application (not the installer) and see where  the variable which holds the language selection gets initialized to a default, or hack the function which reads the selected language from registry or a configuration file ... for example the application may have something like this

Public Sub LoadDefaultSettings()
 dim Languages(0 to 1) as String
 Dim Language as Integer

 Languages(0) = English
 Languages(1) = French
 Language  = 0
 Call LoadTextFromFile(Language)  ; read the texts from a text file based on the language value selected
[...]
End Sub

If you're smart enough, you can dissasemble the application, find out where this "Language = 0" is, or  where the "loadtextfromfile" function/procedure is called  and figure out what bits change in the executable if you change that 0 to 1, or you replace the  register  where the language variable is stored with a constant (1 or what you want)
If you're lucky, it's just a matter of changing 2-3 bytes in the executable... but it's not changing a  "0" to "1"... it's more like changing bits in 2-3 bytes ...
 

Offline PeterG

  • Frequent Contributor
  • **
  • Posts: 831
  • Country: au
Re: VB6?
« Reply #7 on: December 01, 2013, 08:34:35 pm »
If I remember correctly VB6 and earlier can be easily decompiled... it's been a while since I've seen something written in VB6! As mentioned above the default is very likely stored somewhere else. You will need to figure that out and change it there. Good luck.

I am stretching the memory here but i believe VB5 was able to be decompiled back to vb code. However VB6 compiled to native code and could only be decompiled to ASM. There were a few online decompilers that claimed to decompile VB6 but i never had good results.

Regards
Testing one two three...
 

Online PA0PBZ

  • Super Contributor
  • ***
  • Posts: 5129
  • Country: nl
Re: VB6?
« Reply #8 on: December 01, 2013, 08:46:35 pm »
I'm hurting my brain trying to remember if I ever decompiled VB6 code succesfully. I think I did, but since you all seem to think it is not possible I might be wrong. But even then it just gives you a pseudocode file which can show you what is going on but is of no use to recompile the program.
Anyway, this program, is it available for download somewhere? I'm thinking it should not be too hard to change it to have English as the default language (guessing that is what you want). I'd like to give it  a try  :-/O
Keyboard error: Press F1 to continue.
 

Offline PeterG

  • Frequent Contributor
  • **
  • Posts: 831
  • Country: au
Re: VB6?
« Reply #9 on: December 01, 2013, 09:10:18 pm »
I'm hurting my brain trying to remember if I ever decompiled VB6 code succesfully. I think I did, but since you all seem to think it is not possible I might be wrong. But even then it just gives you a pseudocode file which can show you what is going on but is of no use to recompile the program.
Anyway, this program, is it available for download somewhere? I'm thinking it should not be too hard to change it to have English as the default language (guessing that is what you want). I'd like to give it  a try  :-/O

Yes it would be fun to play with. ;D
We may be lucky enough for the OP to post the app for us to play with.

Regards
Testing one two three...
 

Offline marshallh

  • Supporter
  • ****
  • Posts: 1462
  • Country: us
    • retroactive
Re: VB6?
« Reply #10 on: December 01, 2013, 09:14:31 pm »
VB6 learning edition and others only compiled to P-code.
Pro+Enterprise could compile to native.

The language check could be:
1. String compare with listbox entry
2. Integer compare with listbox index
3. A hackier way

Can youpost the EXE here? Try attaching a debugger to the process and trap what happens on the event handlers for the language dropbox change.
Verilog tips
BGA soldering intro

11:37 <@ktemkin> c4757p: marshall has transcended communications media
11:37 <@ktemkin> He speaks protocols directly.
 

Offline Crazy Ape

  • Regular Contributor
  • *
  • Posts: 181
Re: VB6?
« Reply #11 on: December 02, 2013, 04:37:57 am »
GEUser,

Try to understand the 2nd and 4th posts, you should then know that the action in your above post will yield no fruit.
Why so secretive, it's certainly not the best way to find help on a forum. At least name the darn program!  |O

 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8275
Re: VB6?
« Reply #12 on: December 02, 2013, 07:20:46 am »
I don't think anyone here knows any ÖÐÎÄ...

OP, please try to study a little more, others here already did a lot of work for you so at least make a bit more effort to get to the point where you can understand their posts. :)
 

Offline motocoder

  • Supporter
  • ****
  • Posts: 769
  • Country: us
  • Electrical Engineer
Re: VB6?
« Reply #13 on: December 02, 2013, 09:59:19 am »
So in the attached pic , all I want to do is on start-up of the program it is always in another language and I have to pick another every-time , so in the highlighted box I guess? is the option area to have it start-up in English , so the question is , is do I just make the English bit look the same as the chn bit and visa/versa?


Not sure where you change the language, but if it's a drop down list in a typical Windows dialog, you may be able to edit the dialog definition and make english the default item. See if you can open the EXE or DLL in a resource editor. If you have Visual Studio, that has a resource editor built in - just open the EXE/DLL and in the File Open dialog box select "Open With..." and then "Resource Editor" in the resulting window that pops up (that's how it is in VS 2013 - may be slightly different in earlier versions). Then once the resource editor window opens, you should see a tree with a section called "Dialog". Expand this, and you will see the dialog box definitions. Double click them to edit.
 

Offline czdt8m

  • Contributor
  • Posts: 29
  • Country: be
Re: VB6?
« Reply #14 on: December 02, 2013, 10:19:42 am »
I don't think anyone here knows any ÖÐÎÄ...

OP, please try to study a little more, others here already did a lot of work for you so at least make a bit more effort to get to the point where you can understand their posts. :)

Go away , get off that keyboard and do what comes naturally to you , eating Bananas  :-DD

 :wtf:
People on this forum are trying to help you and that is your reaction?
For that reason, I'm out!
« Last Edit: December 02, 2013, 10:21:16 am by czdt8m »
Software Engineer looking over the fence.
 

Offline mrflibble

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: VB6?
« Reply #15 on: December 02, 2013, 10:34:49 am »
So in the attached pic , all I want to do is on start-up of the program it is always in another language and I have to pick another every-time , so in the highlighted box I guess? is the option area to have it start-up in English , so the question is , is do I just make the English bit look the same as the chn bit and visa/versa?

That is relatively easy to fix. You just have to .... ooooh banana!
 

Offline G0HZU

  • Super Contributor
  • ***
  • Posts: 3015
  • Country: gb
Re: VB6?
« Reply #16 on: December 02, 2013, 12:48:25 pm »
I'm actually eating a banana sandwich as I read this thread  :)
 

Offline Druzyek

  • Contributor
  • Posts: 18
Re: VB6?
« Reply #17 on: December 02, 2013, 05:17:49 pm »
I think using Linux for so long has had a negative effect on some of your brains (I assume I am one of the last hacker types loyal to Windows.) I would definitely not use any of the methods discussed here. :palm: Back in the old dial-up days we used Windows API to search through the handles of the child windows and controls of AOL to automate some tasks. Chat rooms had a limit but you could automate trying to enter until you got in. We also made programs that you could type your text into that would insert html between each letter so that the color faded from one color to another then sent that text to the chat for you. Someone even made something that would convert picture files to colored | characters and send them all at once to the chat so that it vaguely resembled the picture.

Get an hWnd Spy program that will show you the control name of the button you need to click. Use that name with the API calls FindWindow and FindWindowEx to get a handle. Use another API call to send a click to the control associated with that handle. Have your program load when the other program loads and when it is ready just have it send a click message to the program with SendMessage.

Option 2 is to get the X,Y coordinates of the program in question and automate mouse clicks to pick the new language. This is much less elegant because you will see the mouse moving and clicking but it will also work.

Either of these programs should be less than 50 lines in VB6.
 

Offline PeterG

  • Frequent Contributor
  • **
  • Posts: 831
  • Country: au
Re: VB6?
« Reply #18 on: December 03, 2013, 08:30:16 pm »
Just for an example i dusted off my VS6 cds and spent some time setting it up in a XP VM. The result is the two apps in this zip file. Both are the same app with different menu indexes. I have also included a link to a free resource tool called ResEdit. Maybe the OP can learn something from this example. And others can play out of curiosity  ;D

http://www.resedit.net/

Regards
Testing one two three...
 

Offline DavidDLC

  • Frequent Contributor
  • **
  • Posts: 755
  • Country: us
Re: VB6?
« Reply #19 on: December 03, 2013, 08:40:24 pm »

For that reason, I'm out!

 :-DD :-+

Good Shark !
 

Offline czdt8m

  • Contributor
  • Posts: 29
  • Country: be
Re: VB6?
« Reply #20 on: December 03, 2013, 08:51:36 pm »
Software Engineer looking over the fence.
 

Online PA0PBZ

  • Super Contributor
  • ***
  • Posts: 5129
  • Country: nl
Re: VB6?
« Reply #21 on: December 18, 2013, 09:45:57 am »
What is the reason you don't use version 6, is it not compatible with your radio?
At least that one starts up in English: http://mw0gkx.co.uk/radprog/files/5555v6/AT5555Setupv6.exe

Edit:  Just tested version 1, also starts up in English here (and it is the only language choise): http://highfields-arc.co.uk/repairs/files/5555v3/at5555setupv1.exe
« Last Edit: December 18, 2013, 09:52:38 am by PA0PBZ »
Keyboard error: Press F1 to continue.
 

Offline Erwin Ried

  • Regular Contributor
  • *
  • Posts: 201
  • Country: no
Re: VB6?
« Reply #22 on: December 21, 2013, 11:00:02 pm »
Can you post the program files here?

I can try to edit the exe for you. Old VB usually is very messy inside, but for sure you can track down the "PUSH <label_english_address>" if the exe isn't heavily protected/obfuscated.
My website: http://ried.cl
 

Online PA0PBZ

  • Super Contributor
  • ***
  • Posts: 5129
  • Country: nl
Re: VB6?
« Reply #23 on: December 22, 2013, 09:12:37 am »
The problem is that English was added as an afterthought, so they load all the chinese labels in the Form_Load, and then use 2 separate calls Language_eng_Click and Language_chn_Click to set the language via the menu. It would have been much easier if they just used Language_chn_Click in the Form_Load. I don't think it is worth the trouble to replace all the strings in the Form_Load with the English text.
Keyboard error: Press F1 to continue.
 

Online Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11643
  • Country: my
  • reassessing directives...
Re: VB6?
« Reply #24 on: December 22, 2013, 11:34:53 pm »
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Offline FearTec

  • Regular Contributor
  • *
  • Posts: 74
  • Country: au
  • Coding Arduinos etc, 90% electronics newbie.
    • Personal Blog
Re: VB6?
« Reply #25 on: March 08, 2014, 12:35:24 pm »
http://www.angusj.com/resourcehacker/ is a great way to extract resources from VB exe's.
Coder and electronics newbie.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf