vscode-ibmi icon indicating copy to clipboard operation
vscode-ibmi copied to clipboard

Graphical debugger

Open szsascha opened this issue 3 years ago • 8 comments

Are some sort of VS Code integrated graphical debugger planned? Maybe in the pro version?

szsascha avatar Jun 04 '21 18:06 szsascha

Yes. It will be open source. I am currently waiting on IBM to share some of the host debug server APIs so we can implement remote debugging.

No idea when that will be. Been wanting it for years.

worksofliam avatar Jun 04 '21 18:06 worksofliam

Are there any serious plans from IBM to make this public? Today I've been messing around with the graphical debugger from i Access and Wireshark. I think it should be also possible without public informations.

szsascha avatar Jun 04 '21 19:06 szsascha

I thought about reverse engineering it also, but I only have so much time in the day.

I think if you did that you should document as much as possible. I'd love to share all that information as we learn about it.

IBM are not likely going to release anything anytime soon. I just asked 3 days ago if they could share anything and they were not able to.

worksofliam avatar Jun 04 '21 20:06 worksofliam

Today I've done some more research on the debugging server. I was definitely able to achieve some good results.

But now I'm at a point where I can't get further without cracking the authentication algorithms. This is not a problem, because there are jar files with unobfuscated Java classes from IBM in which the algorithms can be found (for example tes.jar).

Unfortunately, I'm pretty sure we'll run into legal problems if we publish the results from this. Therefore, I don't see any major benefit from pursuing the issue further at this time. Even though it interests me very much.

I will follow up on the issue when there is an official, public statement that it is allowed from IBM. But I think that will never happen.

szsascha avatar Jun 05 '21 14:06 szsascha

That is understandable. I will keep poking the people at IBM regularly to see if they can help us.

Also, I believe the auth is similar to how it works for JDBC. See here: https://github.com/worksofliam/node-db2fori/blob/893639aee70f85d81d519833abc6fe6850a5d442/lib/driver/Connection.js#L44

worksofliam avatar Jun 05 '21 15:06 worksofliam

I thought the same and was too optimistic :D

In simple terms, I've understood that you have to send a "Hello" message with your username and a id generated by yourself. You'll get a response with a id generated by the server and a sort of "authentication type". Now you have to generate and salt your password with all informations, depending on the authentication type. So there are countless possibilities how the password can be encrypted. You can get the right algorithm only by decompiling. Servers from many online games are working in the same way.

For me it seems now much more unrealistic that IBM will share some informations on the debugging server because I think the same algorithms are used for the authentication server. They will probably not share it for security reasons.

szsascha avatar Jun 05 '21 15:06 szsascha

I am also interested in a debugger, any news here? How does the COBOL-IT application do it?

merhovon avatar Apr 04 '22 15:04 merhovon

@merhovon No updates here. IBM still has nothing to share with us. It's frustrating.

COBOL-IT uses a local COBOL debugger. As we know, IBM has remote debugger APIs but they aren't sharing any info on it.

worksofliam avatar Apr 04 '22 15:04 worksofliam

I'm also really hoping for a debugger. I stumbled across this the other day. Maybe there's a reason to hope!?

https://www.itjungle.com/2022/06/08/ibm-looking-to-open-up-debugging-on-ibm-i/

@worksofliam, if you do end up implementing it, I'd be glad to help with testing and bug reporting.

krisbaehr avatar Oct 21 '22 18:10 krisbaehr