Sublime Text (The latest build: 3059)

Posted: March 6, 2014 in Sublime Text (The latest build: 3059), Uncategorized
Tags:

Đầ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

Comments
  1. ditimmotnua says:

    Ở bản Subline Text 3, phần check serial khi đăng kí:

    004C43CF . E8 D9F1FFFF CALL sublime_.004C35AD –> Gọi hàm check serial
    004C43D4 . 83C4 10 ADD ESP,10
    004C43D7 . 85C0 TEST EAX,EAX
    004C43D9 . 0F9405 908D>SETE BYTE PTR DS:[788D90] –> Hàm này nếu search reference cũng sẽ đến cái địa chỉ 0049CF14 mà anh đề cập trên
    004C43E0 . 85C0 TEST EAX,EAX –> eax = 1 -> bad | eax = 0 reg
    004C43E2 . 0F85 E40000>JNZ sublime_.004C44CC –> Nhảy tới thông báo lỗi đăng kí khi sai.

    Khi trace vào ham call thì ta sẽ có đoạn này:

    004C3D12 |. 8BC7 MOV EAX,EDI —> khi này giá trị EDI = 1, nên nó sẽ gán vào eax. Nếu patch ở đây thì sẽ trả về giá 0 cho eax.
    004C3D14 |. E8 955F0300 CALL sublime_.004F9CAE
    004C3D19 \. C3 RETN

    Cái này áp dụng cho các bản 2, 3 đều ok. Sau này bản V 3059 lại ko hoạt động trên windows 8/8.1
    Trong khi với cách patch đó thì ok trên windows XP. Nên em để lúc nào kiểm tra lại xem :D. Riêng bản 2 thì ok trên mọi windows version. Anh có ý kiến gì cứ nói em rút kinh nghiệm. Lâu lắm rồi không nghiên cứu 😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.