Archive for the ‘Sublime Text (The latest build: 3059)’ Category


Đầu tiên phải xin lỗi tác giả của Sublime Text, nếu anh em nào có ý định dùng nên mua bản quyền để ủng hộ tác giả phát triển. Tải bản Sublime.Text3.Build.3047 của yoza[UpK] về thì file crack bị pack bởi VMProtect, ESET trên máy nó cho vào Quarantine luôn. Trên UpK mình nể lão yoza này, release như điên, không hiểu các release của lão này có găm hàng không 🙂

Download bản portable version, sau khi extract xong chạy sublime_text.exe. Chọn File > New File (Ctrl + N) để tạo một file mới, nhập đại một số kí tự vào, sau đó nhấn Ctrl + S để lưu file. Sau khoảng vài lần nhập và nhấn Ctrl+S sẽ nhận được thông báo sau:

sublime err

Ghi nhớ thông tin trên, thoát chương trình và load sublime_text.exe vào OllyDBG. Đợi OllyDBG load xong sẽ dừng lại tại đây:

3-6-2014 12-21-08 AM

Tại OllyDBG, nhấn chuột phải và chọn Search for > All referenced text strings. Tại màn hình Text strings referenced, cuộn chuột lên trên cùng, nhấn chuột phải chọn search for text. Nhập nội dung tìm kiếm như sau:

3-6-2014 12-27-28 AM

Nhấn OK sẽ tìm được tại:

3-6-2014 12-30-03 AM

Nhấp đúp chuột tại 004C3FE2 sẽ tới đoạn code sau:

3-6-2014 12-32-25 AM

Tại đây nhấn “Ctrl+-” để trở về đầu của hàm/thủ tục tại địa chỉ 004C3F71  /$  55            push    ebp

Quan sát bên dưới sẽ thấy có đoạn so sánh như sau:

3-6-2014 12-43-07 AM

Dừng lại phân tích một chút. Với thông tin trên có thể tạm suy luận tại [0x788D90] sẽ lưu thông tin về việc chương trình đã được đăng kí hoặc chưa. Nếu tại đó nó có giá trị khác 0x0 (thường là 1) thì tức là chương trình đã được đăng kí và sẽ bỏ qua đoạn code show ra cái pop up như đã gặp ở trên. Vậy phải đi tìm đoạn code nào đã làm thay đổi giá trị tại [0x788D90]

Trong OllyDBG, nhấn chuột phải tại đoạn code 004C3F76  |.  803D 908D7800>cmp     byte ptr [0x788D90], 0x0, chọn Find references to > Address constant. Kết quả có được như sau:

3-6-2014 12-53-58 AM

Tại đỉa chỉ đầu tiên 0049CF14 có được thông tin mov byte ptr [0x788D90], al. Nhấp đúp chuột tại địa chỉ đó sẽ tới đây:

3-6-2014 12-59-17 AM

Phân tích đoạn code trên sẽ nôm na như sau:

0049CF06   .  E8 A2660200   call    004C35AD ;  <== Check serials. Set eax=1 if bad; 0 if good
0049CF0B   .  83C4 14       add     esp, 0x14
0049CF0E   .  F7D8          neg     eax      ;  <== If bad, set eax=-1; else eax=0
0049CF10   .  1AC0          sbb     al, al   ;  <== If bad still set eax = -1; else eax=0
0049CF12   .  FEC0          inc     al       ;  <== If bad al=0; else al=1
0049CF14   .  A2 908D7800   mov     byte ptr [0x788D90], al   ;  <== [0x788D90] = al
0049CF19   .  75 4E         jnz     short 0049CF69            ;  <== If (al!=0) then Registered

Như vậy, để Registered tiến hành patch như sau:

3-6-2014 10-15-21 AM

Patch xong save lại thành sublime_text_Reg.exe. Chạy thử file sublime_text_Reg.exe để kiểm tra kết quả. Chọn Help > About:

3-6-2014 10-21-17 AM

Regards,

m4n0w4r

PS: Với bản cài đặt x86 của Sublime Text 2 v2.0.2, patch tại đoạn 004CAD59      8AC3          mov     al, bl thành 004CAD59      8AC3          mov     al, 0x1