Guest mcpower Posted September 3, 2007 Share Posted September 3, 2007 (edited) try this, it's for beginners, no special knowledge required.do not patch, make a keygencm260807.zip Edited September 3, 2007 by mcpower Link to comment Share on other sites More sharing options...
zart Posted September 9, 2007 Share Posted September 9, 2007 try this, it's for beginners, no special knowledge required.do not patch, make a keygenBelow is a dump with comments of where the license number is processed and then compared to serial number input by the user.00401077 |> DCC0 FADD ST,ST ; license number ^ 200401079 |. DC05 F0214000 FADD QWORD PTR DS:[4021F0] ; add 7530040107F |. DC0D E8214000 FMUL QWORD PTR DS:[4021E8] ; multiply 33300401085 |. DC25 E0214000 FSUB QWORD PTR DS:[4021E0] ; sub 130040108B |. DC25 D8214000 FSUB QWORD PTR DS:[4021D8] ; sub 1500401091 |. DC5C24 10 FCOMP QWORD PTR SS:[ESP+10] ; compare00401095 |. DFE0 FSTSW AX00401097 |. F6C4 44 TEST AH,440040109A |. 7A 12 JPE SHORT cm260807.004010AE0040109C |. 68 98214000 PUSH cm260807.00402198 ; ASCII "Absolutely correct..."004010A1 |. FFD6 CALL ESI004010A3 |. 83C4 04 ADD ESP,4004010A6 |. 33C0 XOR EAX,EAX004010A8 |. 5F POP EDI004010A9 |. 5E POP ESI004010AA |. 8BE5 MOV ESP,EBP004010AC |. 5D POP EBP004010AD |. C3 RETN004010AE |> 68 B0214000 PUSH cm260807.004021B0 ; ASCII "Wrong answer, have a closer look !So basicly we want to square the license number, multiply by 333, and subtract 13, then 15.So keygen;#include <iostream>#include <string.h>using namespace std;int main(int argc, char* argv[]){ int license; cout << "KeyGen Solution for 'mcpower's Kegenme 260807'" << endl << "cracked/coded by zart" << endl; cout << "Enter a license number: "; cin >> license; cout << "Serial number: " << ((((license*2) + 753) * 333) - 13) - 15 << endl; return 0; Link to comment Share on other sites More sharing options...
Killboy Posted September 9, 2007 Share Posted September 9, 2007 At first you say: FADD ST,ST ; license number ^ 2 Which is err wrong since '^' means 'power' and not *... And: basicly we want to square the license number You did it correctly in your source though Might confuse a few people, just wanted to mention it Link to comment Share on other sites More sharing options...
zart Posted September 9, 2007 Share Posted September 9, 2007 At first you say:FADD ST,ST ; license number ^ 2 Which is err wrong since '^' means 'power' and not *... And: basicly we want to square the license number You did it correctly in your source though Might confuse a few people, just wanted to mention it I know what I wrote. Short hand math for myself, I use the carrot (^) as a 'raise to the power of'... number^2 is squared... which is the same thing as number * 2. which is the same thing as number * number, which is the same as pow(num,2)... Just my math short hand when I'm writing on paper Link to comment Share on other sites More sharing options...
Killboy Posted September 10, 2007 Share Posted September 10, 2007 I still don't get it Of course '^' means 'raise to the power of' (dunno the exact denotation for it) -> x ^ 2 == x * x number^2 is squared... which is the same thing as number * 2 Did I miss something ? x ^ 2 == x * x but x * x != x * 2 That only applies if x is 2 Either you use ^ & * interchangable or I'm too dumb to understand the logic behind your signs... Square means 'times two' for you ? Link to comment Share on other sites More sharing options...
datux Posted September 10, 2007 Share Posted September 10, 2007 Hi. I'm completely new to this. Could you please tell me which tool you used for opening the file the way you did? And can you please explain how you were able to extract numbers from this: 00401077 |> DCC0 FADD ST,ST ; license number ^ 200401079 |. DC05 F0214000 FADD QWORD PTR DS:[4021F0] ; add 7530040107F |. DC0D E8214000 FMUL QWORD PTR DS:[4021E8] ; multiply 33300401085 |. DC25 E0214000 FSUB QWORD PTR DS:[4021E0] ; sub 130040108B |. DC25 D8214000 FSUB QWORD PTR DS:[4021D8] ; sub 15 Thank you so much Link to comment Share on other sites More sharing options...
zart Posted September 12, 2007 Share Posted September 12, 2007 I still don't get it Of course '^' means 'raise to the power of' (dunno the exact denotation for it) -> x ^ 2 == x * x number^2 is squared... which is the same thing as number * 2 Did I miss something ? x ^ 2 == x * x but x * x != x * 2 That only applies if x is 2 Either you use ^ & * interchangable or I'm too dumb to understand the logic behind your signs... Square means 'times two' for you ? Sorry, dumb moment, disregard my "num*2" lol... The program used was Ollydebug Link to comment Share on other sites More sharing options...
datux Posted September 12, 2007 Share Posted September 12, 2007 Got it. Understood the code a little better after watching lena's tut #1. I have now understood why I did what when I wrote a keygen. This was a good exercise, compared to other keygens for noobs I have found up till now. I found one where the key is supposed to be random symbols. I think they were from ASCII >128. That sucked a little. But this one is NICE... Keep up the good work, and thanks for the experience. Link to comment Share on other sites More sharing options...
Guest amirca Posted September 16, 2007 Share Posted September 16, 2007 i wish if there is a simple tool to make patches and kegen instead of lenthy reverse engineering, i dont know if there is any software which help you t o build a patch or keygen . very simple just put the name and of the software you want to make a kegen or patch and click on make keygen or make patch and walahaaaaaaaaaaaaa take care , Link to comment Share on other sites More sharing options...
Guest Stunt Posted September 18, 2007 Share Posted September 18, 2007 i wish if there is a simple tool to make patches and kegen instead of lenthy reverse engineering,i dont know if there is any software which help you t o build a patch or keygen . very simple just put the name and of the software you want to make a kegen or patch and click on make keygen or make patch and walahaaaaaaaaaaaaa take care , where would be the fun then?? Stunt. Link to comment Share on other sites More sharing options...
Guest amirca Posted September 19, 2007 Share Posted September 19, 2007 obviously there wont be any fun but still people are curious. Link to comment Share on other sites More sharing options...
Encrypto Posted October 16, 2007 Share Posted October 16, 2007 hello every one. i am new to the keygenning bit of reversing, so i decided to start east any way heres my keygen. Please make sure you ONLY enter integer values. Keygen By Encrypto Link to comment Share on other sites More sharing options...
Guest amirca Posted November 1, 2007 Share Posted November 1, 2007 is there any ready made patch or crack maker ? Link to comment Share on other sites More sharing options...
Encrypto Posted November 1, 2007 Share Posted November 1, 2007 do you mean for this crackme ?or for general cracking ?for general cracking dUP is quite useful....im sure youll be able to find it in the forum somewhere. Link to comment Share on other sites More sharing options...
ante0 Posted November 18, 2007 Share Posted November 18, 2007 (edited) is there any ready made patch or crack maker ? Almost all licenses uses different algros to generate a valid key, therefore you can't really make a general crack/patch maker. And all coding is different too, unless it's from the same company/an update. You could make a database that it searches through though, but someone still has to make the patches/cracks, and those databases would be rather large since there are lots of software and different versions of everything. And all the fun in Reversed engineering would be lost, and you wouldn't learn anything new Edited November 18, 2007 by ante0 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now