مهران رسا
چهارشنبه 23 تیر 1389, 14:06 عصر
سلام ؛
در Indy با استفاده از متد WriteLn برخی رشته های ارسالی در زمان دریافت در سرور دچار مشکل میشن . برای مثال من سعی کردم محتویات یک فایل اجرایی رو به صورت زیر ارسال کنم :
Ms.LoadFromFile(FileAddress);
Ms.Read(B, Chunk);
for j := low(B) to high(B) do
begin
Part := Part + chr(B[j]);
end;
FileClient.IOHandler.WriteLn(Part);
هم زمان با زیر نظر گرفتن عملیات با یک Sniffer نتایج زیر حاصل شد :
MZ?.........yy..,.......@......................... ..........,.....o..?.I!,.LI!This program cannot be run in DOS mode....$.......??uUEe??Ee??Ee??H???Ee??co??Ee??"o??Ee??RichEe??........PE..L...y.AK........a...... ...... ......(........ ....@..........................@......IO.......... ............................t...(....0..,......... .................................................. ........(... .......t............................text...A...... ..................... ..`.data...U.... ....... ..............@..A.rsrc...,....0.......0.......... ....@..@lU[J............MSVBVM60.DLL......................... .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .....................
همونطور که مشاهده میکنید کاراکتر هایی که به شکل استاندارد خود نیستن در قالب "?" در اومدند . ضمناً این Sniffer به طور خودکار کاراکترهایی که در صفحه نمایش قابل مشاهده نباشند رو با نقطه(.) مشخص میکنه . برای مثال ممکنه یکی از اون نقطه ها اسکی صفر(0) باشه .
شاید هم روش دسترسی به فایل و خواندن از اون اشتباه باشه اما در کل هدف این هست که اطلاعات بدون هیچگونه تبدیلی در همین قالبی که در فایل هستند ارسال بشند .
http://plogger.ir/up/2010-7/3836953313275.png
ممنون میشم راهنمایی بفرمایید .
در Indy با استفاده از متد WriteLn برخی رشته های ارسالی در زمان دریافت در سرور دچار مشکل میشن . برای مثال من سعی کردم محتویات یک فایل اجرایی رو به صورت زیر ارسال کنم :
Ms.LoadFromFile(FileAddress);
Ms.Read(B, Chunk);
for j := low(B) to high(B) do
begin
Part := Part + chr(B[j]);
end;
FileClient.IOHandler.WriteLn(Part);
هم زمان با زیر نظر گرفتن عملیات با یک Sniffer نتایج زیر حاصل شد :
MZ?.........yy..,.......@......................... ..........,.....o..?.I!,.LI!This program cannot be run in DOS mode....$.......??uUEe??Ee??Ee??H???Ee??co??Ee??"o??Ee??RichEe??........PE..L...y.AK........a...... ...... ......(........ ....@..........................@......IO.......... ............................t...(....0..,......... .................................................. ........(... .......t............................text...A...... ..................... ..`.data...U.... ....... ..............@..A.rsrc...,....0.......0.......... ....@..@lU[J............MSVBVM60.DLL......................... .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .....................
همونطور که مشاهده میکنید کاراکتر هایی که به شکل استاندارد خود نیستن در قالب "?" در اومدند . ضمناً این Sniffer به طور خودکار کاراکترهایی که در صفحه نمایش قابل مشاهده نباشند رو با نقطه(.) مشخص میکنه . برای مثال ممکنه یکی از اون نقطه ها اسکی صفر(0) باشه .
شاید هم روش دسترسی به فایل و خواندن از اون اشتباه باشه اما در کل هدف این هست که اطلاعات بدون هیچگونه تبدیلی در همین قالبی که در فایل هستند ارسال بشند .
http://plogger.ir/up/2010-7/3836953313275.png
ممنون میشم راهنمایی بفرمایید .