1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 173 docx

6 316 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 101,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chúng ta nhấn tiếp F7 và đến đây: 003BEC4C A1 8CF13E00 MOV EAX,DWORD PTR DS:[3EF18C] 003BEC51 C3 RETN The memory direction can vary, with F8 we arrive until the RETN, if we see EAX = 0A2

Trang 1

In that direction we put a F2 and we give F9, once for we cleared Breakpoint giving F2 again and once again we put a F2 in the section text of the Mamory Map,

we give F9 and for here

Tại direction mà chúng ta đã dò xuống vùng code theo lệnh thẩm tra 00604943, chúng ta put F2(tại dòng đánh dấu vàng như trên), rồi F9, sau đó clear Breakpoint mà chúng ta nhấn F2 ở trên, một lần nữa chúng ta nhấn F2 tại section text trong Memory Map, nhấn F9 thực thi tiếp, chúng ta đến đây:

00514CB5 55 PUSH EBP

00514CB6 8BEC MOV EBP,ESP

00514CB8 6A FF PUSH -1

00514CBA 68 80885700 PUSH uedit32.00578880

00514CBF 68 A0855100 PUSH uedit32.005185A0

00514CC4 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]

00514CCA 50 PUSH EAX

00514CCB 64:8925 00000000 MOV DWORD PTR FS:[0],ESP

In the state bar [ 00514CB5 says "Break-on-Access when executing ]" and that is our OEP

Trong thanh state dưới Olly [ 00514CB5 says "Break-on-Access when executing

“] và đó chính là OEP

Once obtained our OEP we pointed it for future references, before closing the Olly

we see that information gives the Armadillo us, we give F8 until arriving at the direction

Chúng ta hảy ghi nhớ chỉ thị này để dùng nó sau này, trước khi close Olly, chúng ta hảy tìm hiểu một số thông tin của Armadillo, chúng ta nhấn F8 cho đến chỉ thị này:

00514CDB FF15 9019F800 CALL DWORD PTR DS:[F81990]

Let us follow it with F7 and it took a to us

Trang 2

Chúng ta nhấn tiếp F7 và đến đây:

003BEC4C A1 8CF13E00 MOV EAX,DWORD PTR DS:[3EF18C]

003BEC51 C3 RETN

The memory direction can vary, with F8 we arrive until the RETN, if we see EAX

= 0A280105, for which do not have much very observant experience or they are not east is the value that gives back to the API kernel32.GetVersion, therefore this

is the first call to the IAT, but the memory direction of which is called is [ 00F81990 ], if they see the Memory Map will see that the memory of ours begins

in 00400000 and finishes in 007D0000, which means that ours IAT was redirected to a zone of memory outside our feasible one

Direction trong memory của bạn có thể khác, nhấn F8 đến RETN, chúng ta thấy EAX = 0A280105, với kinh nghiệm ta nhận thấy chúng là giá trị trả về của hàm API kernel32.GetVersion, vì vậy đây là hàm gọi đầu tiên đến IAT, nhưng memory direction của call lại là [ 00F81990 ], chúng ta nhìn vào Memory Map

sẽ thấy memory của chúng ta bắt đầu từ 00400000 và kết thúc tại 007D0000, vì vậy có nghĩa là IAT được redirected đến vùng memory ngòai vùng code thực thi

We will treat that subject but late, first we are going to obtain our IAT with the correct entrances, in the Olly we fence to the direction 00F81990 in the Dump and will see

Chúng ta sẽ nghiên cứu chủ đề này sau, trước tiên chúng ta sẽ thu được IAT của chúng ta với các thành phần hợp lệ, trong Olly chúng ta nhảy đến direction 00F81990 trong Dump window và sẽ thấy: (click phải direction 00514CDB, Follow in Dump, Memory address)

00F81970 0C 9B D1 77 56 46 D1 77 ›ÑwVFÑw

00F81978 50 16 0F 77 66 94 D1 77 Pwfӄw

00F81980 B4 6A D1 77 B3 7B D1 77 ´jÑw³{Ñw

00F81988 DB 7B D1 77 E0 20 C4 77 Û{Ñwà Äw

00F81990 4C EC 3B 00 5F 3C D1 77 Lì;._<Ñw

00F81998 96 9C D1 77 DC 79 D1 77 –œÑwÜyÑw

00F819A0 D0 2B 00 10 10 A5 00 10 Ð+.¥

00F819A8 0C 15 F4 77 22 5F D1 77 ôw"_Ñw

Trang 3

00F819B0 EB E0 3B 00 71 EB D1 77 ëà;.qëÑw

As it is possible to be observed are several correct entrances, in the personnel I prefer to put a Breakpoint, Hardware, on write, Dword in a correct entrance, this case we put it in 00F81970

Có thể quan sát thấy các thành phần khác đều correct, một cách tổng quát, tui put 1 Breakpoint, Harware, on write, Dword cho 1 thành phần correct của IAT, trường hợp này tui put bp tại 00F81970

We closed the Olly, we return to load ours app, we hide dbg we give F9 and one will stop several times in which sweepings will be griten

Chúng ta close Olly lại và load lại app của chúng ta, chúng ta hide dbg, nhấn F9

và sẽ dừng lại vài lần cho đến khi write vào memory tại 00F81970 như sau: (ở case người dịch là 1 lần)

00F81970 EE FE EE FE EE FE EE FE îþîþîþîþ

00F81978 EE FE EE FE EE FE EE FE îþîþîþîþ

(để dump ta click phải vào EDI và dump, hay goto cũng được, vì đang trong hàm API)

Let us continue pressing F9 until in the memory direction 00F81970 is written a value that is resembled an entrance of the IAT

Chúng ta tiếp tục nhấn F9 (khỏang 21 lần) cho đến khi memory được writen 1 giá trị giống như 1 thành phần của IAT

00F81970 0D F0 AD BA 0D F0 AD BA ðº.ðº

00F81978 EE FE EE FE EE FE EE FE îþîþîþîþ This and other but is sweepings

(lướt qua)

00F81970 FE AE 3B 00 0D F0 AD BA þ®; ðº

Trang 4

00F81978 0D F0 AD BA 0D F0 AD BA ðº.ðº

This I complete is seen well but the other directions of the IAT even have value 0DF0ADBA, so we give another F9 and stops in

Ở đây ta thấy được memory có giá trị rất well , các giá trị khác trong IAT cũng đều có giá trị 0DF0ADBA, vì vậy nhấn F9 (khỏang 2 lần) tiếp và dừng lại tại đây:

003D6DE5 8B85 0CC8FFFF MOV EAX,DWORD PTR SS:[EBP-37F4]

003D6DEB 8B8D 60C2FFFF MOV ECX,DWORD PTR SS:[EBP-3DA0] 003D6DF1 8908 MOV DWORD PTR DS:[EAX],ECX

003D6DF3 8B85 0CC8FFFF MOV EAX,DWORD PTR SS:[EBP-37F4]

003D6DF9 83C0 04 ADD EAX,4

003D6DFC 8985 0CC8FFFF MOV DWORD PTR SS:[EBP-37F4],EAX

003D6E02 ^E9 CEFCFFFF JMP 003D6AD5

003D6E07 FF15 80F03D00 CALL DWORD PTR DS:[3DF080] ; kernel32.GetTickCount

00F81970 1E E1 3B 00 CE AD 3B 00 -á;.Î;

00F81978 07 AE 3B 00 68 58 AA 71 ®;.hXªq

If we see the memory direction we see that the entrance is not correct like was it at the moment for putting the Breakpoint Hardware, this is so that the table to the being redirected outside the memory takes advantage of so that this zone of redireccionamiento is variable and potentially different whenever ours is executed app, as it is, if we above see a little the zone of our Breakpoint we see that already there are correct entrances, reason why go by good way, we clear our Breakpoint Hardware and we give F8 until arriving a

Chúng ta thấy memory direction của các thành phần ko phải đúng y giống như lúc chúng ta đặt Breakoint Hardware, table được redirect bên ngòai vùng nhớ thực thi thay đổi và khác nhau một cách tiềm tàng bất cứ khi nào ứng dụng chúng ta thực thi, như chúng ta đã thấy nó như vừa rồi.nếu chúng ta nhìn lên

Trang 5

trên trong win Dump chúng ta sẽ thấy các thành phần đều correct, chúng ta đã

đi đúng hướng rồi các bạn, bây giờ clear Breakpoint Hardware và nhấn F8 đến đây:

003D6C00 FFB5 78C8FFFF PUSH DWORD PTR SS:[EBP-3788]

003D6C06 FF15 ECF23D00 CALL DWORD PTR DS:[3DF2EC] ; msvcrt.strchr

003D6C0C 59 POP ECX

003D6C0D 59 POP ECX

003D6C0E 40 INC EAX

003D6C0F 8985 78C8FFFF MOV DWORD PTR SS:[EBP-3788],EAX

003D6C15 83BD 94C4FFFF 00 CMP DWORD PTR SS:[EBP-3B6C],0

003D6C1C 74 71 JE SHORT 003D6C8F

003D6C1E 8B85 94C4FFFF MOV EAX,DWORD PTR SS:[EBP-3B6C]

003D6C24 8985 54C2FFFF MOV DWORD PTR SS:[EBP-3DAC],EAX

003D6C2A EB 0F JMP SHORT 003D6C3B

003D6C2C 8B85 54C2FFFF MOV EAX,DWORD PTR SS:[EBP-3DAC]

003D6C32 83C0 0C ADD EAX,0C

003D6C35 8985 54C2FFFF MOV DWORD PTR SS:[EBP-3DAC],EAX

003D6C3B 8B85 54C2FFFF MOV EAX,DWORD PTR SS:[EBP-3DAC]

003D6C41 8378 08 00 CMP DWORD PTR DS:[EAX+8],0

003D6C45 74 48 JE SHORT 003D6C8F

003D6C47 68 00010000 PUSH 100

003D6C4C 8D85 54C1FFFF LEA EAX,DWORD PTR SS:[EBP-3EAC]

003D6C52 50 PUSH EAX

003D6C53 8B85 54C2FFFF MOV EAX,DWORD PTR SS:[EBP-3DAC]

003D6C59 FF30 PUSH DWORD PTR DS:[EAX]

003D6C5B E8 8B14FEFF CALL 003B80EB

003D6C60 83C4 0C ADD ESP,0C

003D6C63 8D85 54C1FFFF LEA EAX,DWORD PTR SS:[EBP-3EAC]

003D6C69 50 PUSH EAX

003D6C6A FFB5 5CC2FFFF PUSH DWORD PTR SS:[EBP-3DA4]

003D6C70 FF15 58F33D00 CALL DWORD PTR DS:[3DF358] ; msvcrt._stricmp

003D6C76 59 POP ECX

Trang 6

This zone is a standard of the Armadillo and it says us that we are closely together

of Magical Salto that repaired the IAT, I stood out both indicating main of the zone, if the jump of direction 003D6C45 is followed took a to us

Vùng này là vùng standard của Armadillo và nó nói cho chúng ta biết vị trí của cặp lệnh jump gọi là Magical Jumps, dùng để sửa chửa IAT, Tôi đang đứng ở giữa vùng chính của cặp lệnh jump Magical, nếu chúng ta theo code của direction 003D6C45(ko thực thi), chúng ta sẽ đến :

Ngày đăng: 03/07/2014, 17:21

TỪ KHÓA LIÊN QUAN