Archive for February, 2014


Đây là một tutor của anh Moonbaby viết vào quãng năm 2005.

I – Giới thiệu

1. Tổng Quát :

  • Phương pháp này được Ricardo Narvaja giới thiệu vào 22.Dec.2002  . Phương pháp này được sử dụng cho hệ thống OllyDbg – WindowsXP để xác định một điểm đặc biệt mà ta sẽ gọi là điểm H ( Point-H) có cách thức làm việc tương tự như hàm API Hmemcpy trong Windows98 . Quá trình này sẽ giúp ta xác định địa chỉ lưu trữ Name hay Serial khi thực thi một BreakPoint tại Point-H .
  • Đối với những ai đã từng sử dụng SoftIce trong thời kỳ đầu, chắc hẳn sẽ hiểu rõ tầm quan trọng của hàm API Hmemcpy .
  • Khác với phương pháp STACK, phương pháp này không giúp ta xác định đoạn code mã hoá chính mã chỉ giúp ta xác định đoạn code xử lý chuỗi nhập .

2. Những điểm cần lưu ý :

– Point-H khác nhau trên từng máy tính, và tồn tại trong thư viện USER32.DLL . Tuy nhiên, một khi bạn đã tìm được Point-H trên máy tính của mình thì bạn có thể áp dụng cho bất kỳ loại ngôn ngữ nào mà chương trình sử dụng ( Visual C++, Visual Basic , Borland Delphi, MASM32 / TASM32 … ) .

– Phương pháp này dựa trên hàm API TranslateMessage nên trước khi bạn có ý định sử dụng phương pháp này nên tìm hiểu xem chương trình có sử dụng hàm này hay không ( các chương trình viết bằng Visual Basic có thể không sử dụng hàm này ) . Trên cơ bản mà nói, phương pháp này có ưu thế hơn cho các chương trình được viết bằng Visual C hay MASM32 / TASM32 hơn là các chương trình được viết bằng Visual Basic , Borland Delphi .

– Cũng như phương pháp STACK đã được đề cập trước đây, đây không phải là một phương pháp tối ưu cho mọi trường hợp, bạn chỉ nên xem đây là một trong những sự lựa chọn mà thôi .

– Phương pháp này thực sự có hiệu quả khi và chỉ khi sau khi bạn nhập các thông số Name và/hoặc Serial và nhấn nút đăng ký mà không xuất hiện bất cứ thông báo hay sự kiện nào .

– Trong nhiều trường hợp, phương pháp này sẽ cho ngay Serial tương ứng với Name nhập trong khi đó việc tìm kiếm đoạn code mã hoá lại là chuyện vô cùng phức tạp .

– Một điểm đặc biệt cần lưu ý, phương pháp này không trực tiếp giúp ta xác định đoạn code mã hoá chính của chương trình mà chỉ xác định đoạn code khi chuỗi nhập vào bắt đầu được xử lý . Từ đó, dựa vào khả năng và kinh nghiệm của bản thân, ta xác định đâu là đoạn code mã hoá cần quan tâm .

– Đồng thời, do đặc điểm của phương pháp chỉ thực hiện được khi chương trình thực hiện quá trình xử lý chuỗi nên nếu trong trường hợp chuỗi nhập vào được yêu cầu thoả mãn một vài điều kiện trước khi tiến hành quá trình xử lý thì phương pháp này hoàn toàn không thể áp dụng . Ví dụ chương trình yêu cầu chiều dài chuỗi phải là 16 ký tự, nhưng bạn chỉ nhập 10 hay không đúng 16 ký tự thì chương trình sẽ thoát ra mà không tiến hành quá trình xử lý- vì thế phương pháp Point-H có thể không giúp bạn xác định được đoạn code xử lý chuỗi .

Download toàn bộ bài viết tại đây: http://www11.zippyshare.com/v/7264624/file.html

Regards,
m4n0w4r


Author: Julien (jvoisin) Voisin
ESET1023
I stumbled upon joineset.com, and though this could be a nice pretext to try some reversing under Windows : I never did any on this platform.

Get the crackme and enjoy!
Part One.
PEiD tells us

UPX 0.89.6 – 1.02 / 1.05 – 2.90 -> Markus & Laszlo [Overlay]

I already reversed some UPX things on GNU/Linux (Yes, it’s a multi-platform packer), should be easy on Windows. Of course (it would be too easy), if you try to unpack it using upx -d, you’ll get an error:

upx: EsetCrackme2013.exe: CantUnpackException: file is modified/hacked/protected; take care!!!

Either this is a trick, and the used packer has a false signature, or it’s a modified version of UPX. I go for the later: the “Unpacker for UPX” plugin from PEiD manage to unpack it. Yes, it’s lame, but I rather spend time on interesting things.

If you open the unpacked.exe binary, you’ll see a classic function prelude, and a short loop that push some zeros, followed by some crap, and a mega-shitload of mov. It prints the introduction text, and then it does some classic anti-debugging stuff.

Full article here: http://dustri.org/b/defeating-eset1013-malware-analyst.html

Regards,


Author: Aguila

ImpREC, CHimpREC, Imports Fixer… this are all great tools to rebuild an import table, but they all have some major disadvantages, so I decided to create my own tool for this job.

Scylla’s key benefits are:

– x64 and x86 support
– full unicode support (probably some Russian or Chinese will like this 🙂 )
– written in C/C++
– plugin support
– works great with Windows 7

This tool was designed to be used with Windows 7 x64, so it is recommend to use this operating system. But it may work with XP and Vista, too.

Source code is licensed under GNU GENERAL PUBLIC LICENSE v3.0

Known Bugs
———-

### Only Windows XP x64:

Windows XP x64 has some API bugs. 100% correct imports reconstruction is impossible. If you still want to use XP x64, here are some hints:

* EncodePointer/DecodePointer exported by kernel32.dll have both the same VA.
Scylla, CHimpREC and other tools cannot know which API is correct. You need to fix this manually.
Your fixed dump will probably run fine on XP but crash on Vista/7.

### ImpREC plugin support:

Some ImpREC Plugins don’t work with Windows Vista/7 because they don’t “return 1” in the DllMain function.

Download here:

http://www45.zippyshare.com/v/28627968/file.html

Regards,