Join Hands for Open Source Sify Dialer

  • Thread starter Thread starter nishnet2002
  • Start date Start date
  • Replies Replies 36
  • Views Views 15,947
Originally posted by Tushar@Dec 18 2005, 10:01 PM
Using the old login/logout pages works great, currently i'm running Custom Modded version of ES2 on Windows. I'll do a fast php script for login/logout now, coz I really need a way to access internet on ubuntu. Most *nix distros have php installed, so its a good alternate before someone makes a nix client.
[snapback]36307[/snapback]
[/quote]

Does your Custom Modded ES2 work with the new sify client 3.1 protocol? I am badly in need of a client with keep-alive facility like EasySify for my night-time downloads. Plz help! My world has shattered without a functioning keep-alive client! :o
 
Yes it does mate.

Get EasySify.exe from here

http://link-removed.de/files/9488462/EasySify.exe.html

Then just replace the old EasySify.exe in
?:\Program Files\EasySify 2\
with this new one.

Thats it it should now work
 
Originally posted by max@Dec 20 2005, 03:25 AM
I also took a different approach and opened up the DLLs with Sify. You are right about crypt.dll. I can see many functions in the BBApp.dll but one particular function caught my eye (forgot the name). But it had to do something with crypt (encrypt / decrypt?). Also saw many functions including ones like char2byte etc... Dunno what to make of it.
[snapback]36462[/snapback]
[/quote]
Where is the crypt.dll localted? I have no such file within c:\Sify Broadband. Could you please upload it somewhere, I wanna have a look at it.
 
Tushar,
Forget about crypt.dll - it is not installed with the new version of BBClient anymore - it used to be installed with previous versions. So it can't possibly play a part in the encryption. Quite likely it's just BBClient.exe and BBApp.dll
 
Originally posted by infernalproteus@Dec 18 2005, 02:49 PM
A few observations with regards to nishnet's original post.

1) Nishnet, are you sure that the cons string is an encrypted version of the following?
&curservid=.....&prevservid=....&version=....&sessionid=...&srcip=....&username=...&password=..

By sure I mean - did you see all those variables being accessed in code, concatenated in a smilar form and then encrypted? Or this is just an educated guess becuase it was what was being sent for login with the previous protocol and the string still does exist in the new client?

2) Are you sure it's encryption as opposed to a one way hash? I tend to agree with Bhaskar (who said it was a hash [maybe casually]).

3) AFAIK, Crypt.dll is not installed with the new dialer and is a remnant of the older client. It's a right pain installing the new client in a folder of your location (can you?) and when you're not connected to Sify all the time (I have to switch cables and hope Sify is up - which it isn't 50% of the times I try). So I haven't been able to confirm this, but if crypt.dll is not shipped with the new client, then perhaps it should be discounted from our investigation.

My observations:
1) The cons string is the same for each session of BBClient, no matter how many times you attempt to login using that session. If you close BBClient and reopen it - you get a new cons string.

2) I think it is a one way hash formed from your username and password and perhaps the other details specified in the string above. The macid is transmitted in clear text and is used to look up your record in the database, the same hashing function is performed on your records and the results are compared.

Different string each BBClient session? As Nishnet stated, it is quite likely that the session id sent to the client from the server is used to salt the input string. If it's only the session id - then the salt does not need to be transmitted along with the hash, since the server knows it already. If it's something else - like the system clock or a combination, the salt does need to be transmitted to the server in clear text at some time.

The cons string itself could contain the salt, but I'm hardly sure.

Note: This entire theory is backed by intuition, not fact.

3) I think both BBClient.exe and BBAppDll.dll are involved in constructing the cons string.

4) It would be cool if we could somehow spoof the sify server and feed controlled input to BBClient as Nishnet suggested (or intercept and change the packets), the output could then be observed for different cases and give us a better idea of what's goin on.

5) When the app is started and after each login attempt - the SEED value in this key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG is modified. I noticed that this happened in the earlier client as well, and it does not seem to tie in with the fact of a constant cons string per session, as the SEED value changes each time you click Login - probably just a red herring.

6) Apparently the old login pages (validatelogin.php and logout.php) still work, inspite of the server returning validatelogin2.php and logout1.php)
I guess these will work for a little while more until all their servers are uptodate with the new protocol (or maybe until they write the Java client ;) )

No further ideas at this point. I'd vote for making this the thread of choice for protocol discussion. I'm hardly a professional cracker so if anyone can break this and let us all know, awesome. Do share your insights on the issue here.

Best,
Brian.
[snapback]36270[/snapback]
[/quote]


So far I have found that cons string is prepared by bundling login information, salted with session id's and curservid...etc and then encryption is performed.

I think new client is doing things as following:

1) It has Public key embedded in BBClient.exe

2) It requests sessionid from some server.(210.210.4.77 / 202.144.65.70)

3) BBClient.exe encrypts data and prepares "&cons=.." String.

4) As sessionid changes each time the whole cipher text appears scrambled
(If you compare two cipher texts there are no repititions)

5) Server decrypts data using its private key.

** thing that appeared quite unusual was that while sending cons string macaddress was sent but in plain text :) anyways that wont matter much.

**I guess if it would have been hashes instead of encryption then upon comparing two ciphers we would find many correlations.(what say!!)

** Brian I too now feel that crypt.dll is remains of earlier version. But surely BBAppDll.dll or BBClient.exe may be performing encryption.



@@@@@@@@@@@@@@

If some one can make a dummy server it would be grt !!
Dummy server would simply accept the request from BBClient.exe and also provide with dummy sessionid= 000000...etc
 
Ragarding the dummy server you're talking about, I can code it in PHP in just about 2 minutes. Accept user GET, send cookie with phpsess_id and display xml info. Tell me the particulars you want...

I will ofcourse be unable to host the script since I'm on Sify and ports aren't forwarded, so you have to either install PHP and use the script on localhost or ask someone here to host it.

You'll also have to edit your hosts file and assign the SAM IP to localhost, or something similar coz the client is gonna send the request to the SAM server.


As for BBApp.dll, that is called every now and then in BBClient.exe so most probably the crypting algo is within BBApp.dll.

BBClient.exe has two keys or rather md5 hashes embedded

1. 78112794abab85ae89184ed57cbbb54b
2. 29355d121c211de0717c127166713ebb

These keys are embedded into BBClient and are same for all the users.

I'm yet unsure whether the cons string is encrypted or hashed.
 
Back