Quote:
|
Originally Posted by winndy
It should be symmetrical cipher .
cipher(username)=Registrationcode
|
Actually you are not right

This is asymmetric crypto
These three calls look like BigCreate or smth like that:
Code:
.text:0041C2ED call sub_401974
....
.text:0041C300 call sub_401974
....
.text:0041C317 call sub_401974
and for the third call you have this parameter
This is typical value for public exponent (E) for RSA cryptosystem.
on this line
Code:
0041C289 . E8 E8280100 CALL <JMP.&MFC42.#537>
in esp+60 you have:
Code:
0012CDF4 6B 04 49 CD CB 80 9A 82 kI����Ђљ‚
0012CDFC C0 57 51 3F 84 63 0C B5 ��WQ?„c.µ
0012CE04 50 D5 56 AA 71 DF 5A B0 P��VЄq��Z��
0012CE0C D4 3C 2E 7B C3 9A B6 CF ��<.{��љ¶��
Code:
6B 04 49 CD CB 80 9A 82 C0 57 51 3F 84 63 0C B5 50 D5 56 AA 71 DF 5A B0 D4 3C 2E 7B C3 9A B6 CF
if we remove spaces we get this:
Code:
6B0449CDCB809A82C057513F84630CB550D556AA71DF5AB0D43C2E7BC39AB6CF
Now paste it in RSA Tool in Modulus (N) field and push 'Reverse'. Now you've got public key:
Code:
CFB69AC37B2E3CD4B05ADF71AA56D550B50C63843F5157C0829A80CBCD49046B
To create keygen you have to find factors (find
p and
q that
p*q=N). For this needs you can use RSA Tool, but when you have modulus > 200 bits (in your case you have 256 bits) RSA Tool is too slow. So you should better use tools by Satoshi Tomabechi.
You can get these tools here:
Code:
http://www.asahi-net.or.jp/~KC2H-MSM/cn/
When you get
p and
q you can calculate
D.
When you have
N &
D you can code keygen