في بعض الأحيان يتم تحميل أحصنة طروادة من خلال برامج، وعادة ما تكون متخفية في شكل صور. وفيما يلي الكود الخاص باكتشاف أحصنة طروادة المصورة ضمن asp. دفاع طروادة ASP:
انسخ رمز الكود كما يلي:
const adTypeBinary=1
خافت jpg(1):jpg(0)=CByte(&HFF):jpg(1)=CByte(&HD8)
خافت bmp(1):bmp(0)=CByte(&H42):bmp(1)=CByte(&H4D)
خافت png(3):png(0)=CByte(&H89):png(1)=CByte(&H50):png(2)=CByte(&H4E):png(3)=CByte(&H47)
خافت gif(5):gif(0)=CByte(&H47):gif(1)=CByte(&H49):gif(2)=CByte(&H46):gif(3)=CByte(&H39):gif(4) =CByte(&H38):gif(5)=CByte(&H61)
Response.Write CheckFileType(Server.MapPath(2.gif))
وظيفة CheckFileType (اسم الملف)
على خطأ استئناف المقبل
CheckFileType=false
خافت fstream، fileExt، ختم، أنا
fileExt=mid(filename,InStrRev(filename,.)+1)
تعيين fstream=Server.createobject(ADODB.Stream)
fstream.Open
fstream.Type=adTypeBinary
fstream.LoadFromFile اسم الملف
fstream.position=0
حدد ملف القضية
حالة JPG، الحياة السياسية في فرنسا
ختم=fstream.read(2)
لأني = 0 إلى 1
إذا كان ascB(MidB(stamp,i+1,1))=jpg(i) ثم CheckFileType=true وإلا CheckFileType=false
التالي
حالة GIF
ختم=fstream.read(6)
لأني = 0 إلى 5
إذا ascB(MidB(stamp,i+1,1))=gif(i) ثم CheckFileType=true وإلا CheckFileType=false
التالي
حالة بابوا نيو غينيا
ختم=fstream.read(4)
لأني = 0 إلى 3
إذا ascB(MidB(stamp,i+1,1))=png(i) ثم CheckFileType=true وإلا CheckFileType=false
التالي
حالة bmp
ختم=fstream.read(2)
لأني = 0 إلى 1
إذا كان ascB(MidB(stamp,i+1,1))=bmp(i) ثم CheckFileType=true وإلا CheckFileType=false
التالي
حدد النهاية
fstream.Close
تعيين fseteam=لا شيء
إذا كان err.number<>0 فإن CheckFileType=false
وظيفة النهاية
%>