Keygen for 1st SMTP Server v2.5 Code: Các vị trí mặc định trong chuỗi Registration code là: S[0] = 0 ; S[2] = 3 ; S[3] = 3 ; S[4] = 1 ; S[7] = 4 ; S[8] = 9 ; S[10] = 5 char reaName[64]={0}; char reaSerial[64]={0}; char DefaultString[20] = "0123456789"; int LenName=0; int i=0 , randomChart = 0; LenName=GetDlgItemText(IDC_NAME,reaName,64); if (LenName < 1) { MessageBox(" ===== Your name atleast 1 chart ===== ","Hey !! Please input your name again !! "); } else { i = 0; while(i < 14) { if (i == 0) { reaSerial[i] = 0x30; i++; } if (i == 2) { reaSerial[i] = 0x33; i++; } if (i == 3) { reaSerial[i] = 0x33; i++; } if (i == 4) { reaSerial[i] = 0x31; i++; } if (i == 7) { reaSerial[i] = 0x34; i++; } if (i == 8) { reaSerial[i] = 0x39; i++; } if (i == 10) { reaSerial[i] = 0x35; i++; } else { reaSerial[i] = DefaultString[randomChart = rand() % 10]; i++; } } } SetDlgItemText(IDC_SERIAL,reaSerial); Keygen for Advanced Emailer v2.6 Code: Cac vi tri mac dinh trong chuoi Registration Code nhap vao la : S[0] = 8 ; S[2] = 6 ; S[3] = 2 ; S[4] = 7 ; S[7] = 9 ; S[8] = 4 ; S[10] = 0 char reaName[64]={0}; char reaSerial[64]={0}; char DefaultString[20] = "0123456789"; int LenName=0; int i=0 , randomChart = 0; LenName=GetDlgItemText(IDC_NAME,reaName,64); if (LenName < 1) { MessageBox(" ===== Your name atleast 1 chart ===== ","Hey !! Please input your name again !! "); } else { i = 0; while(i < 14) { if (i == 0) { reaSerial[i] = 0x38; i++; } if (i == 2) { reaSerial[i] = 0x36; i++; } if (i == 3) { reaSerial[i] = 0x32; i++; } if (i == 4) { reaSerial[i] = 0x37; i++; } if (i == 7) { reaSerial[i] = 0x39; i++; } if (i == 8) { reaSerial[i] = 0x34; i++; } if (i == 10) { reaSerial[i] = 0x30; i++; } else { reaSerial[i] = DefaultString[randomChart = rand() % 10]; i++; } } } SetDlgItemText(IDC_SERIAL,reaSerial); Keygen For Evidence Destructor v2.0 Code: Cac vi tri mac dinh trong chuoi Registration code la: S[0] = 2 ; S[2] = 7 ; S[3] = 0 ; S[4] = 1 ; S[7] = 3 ; S[8] = 3 ; S[10] = 4 char reaName[64]={0}; char reaSerial[64]={0}; char DefaultString[20] = "0123456789"; int LenName=0; int i=0 , randomChart = 0; LenName=GetDlgItemText(IDC_NAME,reaName,64); if (LenName < 1) { MessageBox(" ===== Your name atleast 1 chart ===== ","Hey !! Please input your name again !! "); } else { i = 0; while(i < 14) { if (i == 0) { reaSerial[i] = 0x32; i++; } if (i == 2) { reaSerial[i] = 0x37; i++; } if (i == 3) kienmanowar(REA) Patching, How do it !!! Reverse Engineering Association ****************************** *** Software : #1 Video Converter 3.8.3 *** Download : http://netchua.bizhat.com/softs *** Code by : Microsoft Visual C++ 6.0 *** Protect : Name/Serial *** Packed : N/A *** Tools : OllyDbg 1.10d , Peid 0.93, Diablos2oo2 Universal Patcher. *** Method : Patch. ****************************** Quote: #1 Video Converter is designed to meet all your needs of convert file between AVI, MPEG1,MPEG2, VCD, SVCD, DVD, WMV, ASF formats.Extreme fast conversion speed and friendly user interface let you convert video files between many formats with ease. The powerful features and unbeatable price make #1 Video Converter an affordable and powerful video conversion solution on personal computer. I. Get Information Chạy thử chương trình (prog) , vào phần đăng ký , nhập Name/Serial bất kỳ, nhấn OK. Tất nhiên, một nag văng ra với thông báo ”Invalid username or registration code”, hãy nhớ lấy nó chúng ta sẽ dùng nó để tìm điểm đặt BreakPoint (BP). Bây giờ chúng ta mở PeID 0.93, kiểm tra chương trình. Ta thấy chương trình không bị pack hay encrypt và được code bằng Microsoft Visual C++ 6.0. Như vậy là chúng ta không phải qua bước Unpacking, một bước khá phức tạp đỗi với Newbie chúng ta. Now go to patching. II. Patching Mở OllyDbg 1.10d, và load prog. Đợi cho chương trình load hoàn toàn trong Olly. Chúng ta tiến hành tình tìm chuỗi string của nag theo cách sau : chuột phải ở cửa sổ code, xuất hiện một context-menu (pop-up menu), xem hình sau : Tìm đến mục như hình trên, sẽ xuất hiện cửa sổ ”Text strings referenced in #1_VIDEO:.text”. Ta sẽ tìm được chuỗi string thông báo của nag tại ví trí như hình sau : Nhấp đúp vào dòng lựa chọn, ta sẽ quay lại cửa sổ code tại vị trí sau : Code: 0041D2D8 . 50 PUSH EAX 0041D2D9 . 51 PUSH ECX 0041D2DA . E8 81FAFFFF CALL #1_VIDEO.0041CD60 ; <== gọi hàm test , set BP here 0041D2DF . 83C4 08 ADD ESP,8 0041D2E2 . 85C0 TEST EAX,EAX 0041D2E4 . 75 18 JNZ SHORT #1_VIDEO.0041D2FE 0041D2E6 . 6A 40 PUSH 40 0041D2E8 . 68 70964300 PUSH #1_VIDEO.00439670 ; ASCII "Sorry" 0041D2ED . 68 44964300 PUSH #1_VIDEO.00439644 ; ASCII "Invalid username or registration code " <== you are here 0041D2F2 . 8BCE MOV ECX,ESI 0041D2F4 . E8 EBBB0000 CALL <JMP.&MFC42.#4224> 0041D2F9 . E9 94000000 JMP #1_VIDEO.0041D392 0041D2FE > 8B07 MOV EAX,DWORD PTR DS:[EDI] . 75 18 JNZ SHORT #1_ VIDEO .00 41D2FE 00 41D2E6 . 6A 40 PUSH 40 00 41D2E8 . 68 709 64 300 PUSH #1_ VIDEO .00 4396 70 ; ASCII "Sorry" 00 41D2ED . 68 44964 300 PUSH #1_ VIDEO .00 439644 ; ASCII "Invalid. <== you are here 00 41D2F2 . 8BCE MOV ECX,ESI 00 41D2F4 . E8 EBBB 000 0 CALL <JMP.&MFC42.#4224> 00 41D2F9 . E9 9 400 000 0 JMP #1_ VIDEO .00 41D392 00 41D2FE > 8B07 MOV EAX,DWORD PTR. EAX 00 41D2D9 . 51 PUSH ECX 00 41D2DA . E8 81FAFFFF CALL #1_ VIDEO .00 41CD 60 ; <== gọi hàm test , set BP here 00 41D2DF . 83C4 08 ADD ESP,8 00 41D2E2 . 85C0 TEST EAX,EAX 00 41D2E4 . 75 18 JNZ