قـسـم الـبـرامـج الـمـسـاعـدة[ هنا يتم وضع البرامج المساعدة للعبة سيلك رود ] [ يرجى توخى الحذر من محتوى المواضيع المشكوك فيها حتى يتم فحصها من المشرفين ]
البرنامج مش شغال
برنامج تعبان دة مبرمجة دوت نت ومش مشفرة كمان !
وادى اكواد البرمجة بتعت البرنامج دة للى عايز يعدل علية
اقتباس:
private shared function lf(byval fn as string, <out> byref a as byte()) as boolean
dim input as new filestream(fn, filemode.open, fileaccess.read, fileshare.read)
dim length as integer = cint(input.length)
input.seek(60, seekorigin.begin)
dim reader as new binaryreader(input)
dim num2 as integer = reader.readint32
if ((num2 >= 2) andalso (num2 <= (length - &h200))) then
input.seek(clng(num2), seekorigin.begin)
if (reader.readuint32 = &h4550) then
num2 = (num2 + &h15c)
input.seek(clng(num2), seekorigin.begin)
dim num4 as integer = reader.readint32
if ((num4 < length) andalso (num4 >= &h300)) then
num4 = (num4 + &h10)
length = (length - num4)
dim buffer as byte() = new byte(length - 1) {}
input.seek(clng(num4), seekorigin.begin)
input.read(buffer, 0, length)
input.close
if _.lz(buffer, a, length) then
return true
end if
end if
end if
end if
a = nothing
return false
end function
__
private shared function lz(byval c as byte(), <out> byref a as byte(), byval l as integer) as boolean
a = nothing
if ((c(4) = &h4d) andalso (c(6) = 90)) then
dim num as integer = ((((8 + c(0)) + (c(1) << 8)) + (c(2) << &h10)) + (c(3) << &h18))
dim pos as byte() = new byte(num - 1) {}
if (_.lzmat(pos, c, l) <> 0) then
a = pos
return true
end if
end if
return false
end function
__
private shared function lzmat(byval pos as byte(), byval pis as byte(), byval ci as integer) as integer
dim num2 as integer
dim buffer as byte()
if ((buffer = pos is nothing) orelse (buffer.length = 0)) then
numref = nothing
goto label_001b
end if
dim numref as byte*
fixed numref = buffer
label_001b:
If ((buffer = pis is nothing) orelse (buffer.length = 0)) then
numref2 = nothing
goto label_0037
end if
dim numref2 as byte*
fixed numref2 = buffer
label_0037:
Numref(0) = numref2(4)
dim index as integer = 5
num2 = 1
dim num3 as byte = 0
do while (index < (ci - num3))
dim num5 as byte = numref2(index++)
if (num3 <> 0) then
num5 = cbyte((num5 >> 4))
num5 = cbyte((num5 + cbyte((numref2(index) << 4))))
end if
dim num4 as integer = 0
do while ((num4 < 8) andalso (index < (ci - num3)))
dim num7 as integer
dim num8 as integer
if ((num5 and &h80) <> &h80) then
goto label_02fd
end if
dim num9 as integer = numref2(index)
if (num3 <> 0) then
num9 = (num9 >> 4)
end if
index += 1
num9 = (num9 and &hfffff)
if (num2 < &h881) then
num8 = (num9 >> 1)
if ((num9 and 1) = 1) then
index = (index + num3)
num8 = ((num8 and &h7ff) + &h81)
num3 = cbyte((num3 xor 1))
else
num8 = ((num8 and &h7f) + 1)
end if
else
num8 = (num9 >> 2)
select case (num9 and 3)
case 0
num8 = ((num8 and &h3f) + 1)
goto label_0195
case 1
index = (index + num3)
num8 = ((num8 and &h3ff) + &h41)
num3 = cbyte((num3 xor 1))
goto label_0195
case 2
num8 = ((num8 and &h3fff) + &h441)
index += 1
goto label_0195
case 3
index = (index + (1 + num3))
num8 = ((num8 and &h3ffff) + &h4441)
num3 = cbyte((num3 xor 1))
goto label_0195
end select
end if
label_0195:
Num7 = numref2(index)
if (num3 <> 0) then
num7 = (num7 >> 4)
num3 = 0
index += 1
else
num7 = (num7 and &hfff)
num3 = 1
end if
if ((num7 and 15) <> 15) then
num7 = ((num7 and 15) + 3)
else
index += 1
if (num7 <> &hfff) then
num7 = ((num7 >> 4) + &h12)
else
num7 = numref2(index)
if (num3 <> 0) then
num7 = (num7 >> 4)
end if
num7 = (num7 and &hffff)
index = (index + 2)
if (num7 = &hffff) then
if (num3 <> 0) then
num7 = ((((numref2 + index) - directcast(4, intptr)) and &hfc) << 5)
index += 1
num3 = 0
else
num7 = ((((numref2 + index) - directcast(5, intptr)) and &hfc0) << 1)
end if
num7 = (num7 + ((num5 and &h7f) + 4))
num7 = (num7 << 1)
do while (num7-- <> 0)
numref(num2) = numref2(index)
index = (index + 4)
num2 = (num2 + 4)
loop
exit do
end if
num7 = (num7 + &h111)
end if
end if
dim num6 as integer = (num2 - num8)
do while (num7-- <> 0)
numref(num2++) = numref(num6++)
loop
goto label_033f
label_02fd:
Numref(num2) = numref2(index)
if (num3 <> 0) then
numref(num2) = cbyte((numref(num2) >> 4))
dim ptr1 as intptr = directcast((numref + num2), intptr)
ptr1(0) = directcast(cbyte((ptr1(0) + cbyte((numref2((index + 1)) << 4)))), intptr)
end if
num2 += 1
index += 1
label_033f:
Num4 += 1
num5 = cbyte((num5 << 1))
loop
loop
end fixed
end fixed
return num2
end function
__
<stathread> _
private shared function main(byval args as string()) as integer
dim buffer as byte()
dim num as integer
if not _.lf(application.executablepath, buffer) then
messagebox.show("file is invalid.", "mpress")
return -1
end if
try
_.mp = assembly.load(buffer)
dim entrypoint as methodinfo = _.mp.entrypoint
dim parameters as object() = nothing
if (entrypoint.getparameters.length > 0) then
parameters = new object() { args }
end if
dim obj2 as object = entrypoint.invoke(nothing, parameters)
if (not obj2 is nothing) then
num = cint(obj2)
else
num = 0
end if
catch obj1 as object
num = -1
end try
return num
end function
__
تحياتى
التعديل الأخير تم بواسطة Be Cool ; 08-09-2011 الساعة 05:07 PM