Parsi Coders
سوال راجع به یک تابع به زبان c++ و وظیفه ان در انتی فیشینگ - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: C and C++ (http://parsicoders.com/forumdisplay.php?fid=54)
+--- موضوع: سوال راجع به یک تابع به زبان c++ و وظیفه ان در انتی فیشینگ (/showthread.php?tid=2683)



سوال راجع به یک تابع به زبان c++ و وظیفه ان در انتی فیشینگ - elham_zare - 08-18-2012

کد:
boolUrlUnescapeInplace(char*pszUrl){
constchar*src;
char*dst;
charwc;

if(!pszUrl)
returnfalse;

src=dst=pszUrl;

do
{
wc=*src;
if(wc=='%')
{
if(src[1]=='U')
{
if(unescape_char(src+2,4,&wc))
src+=4;/* Advance to end of escape */
}
else
{
if(unescape_char(src+1,2,&wc))
src+=2;/* Advance to end of escape */
}
}
*dst++=wc;
src++;
}while(wc);

returntrue;}



RE: سوال راجع به یک تابع به زبان c++ و وظیفه ان در انتی فیشینگ - Amin_Mansouri - 08-18-2012

درود
تابع بالا از تابع زیر هم استفاده میکنه :
کد:
bool unescape_char(const char* hexstr, int chars, char* pwc)
{
char res = 0;
char wc;
int i;
for (i=0; i<chars; i++)
{
  res <<= 4;
  wc = *hexstr++;
  if (wc >= '0' && wc <= '9')
   res |= (wc - '0');
  else if (wc >= 'a' && wc <= 'f')
   res |= (wc - 'a' + 10);
  else if (wc >= 'A' && wc <= 'F')
   res |= (wc - 'a' + 10);
  else
   return false;
}
*pwc = res;
return true;
در واقع تابع UrlUnescapeInPlace function کار زیر رو انجام میده :
Converts escape sequences back into ordinary characters and overwrites the original string.
توضیحات بیشتر :
http://msdn.microsoft.com/en-us/library/windows/desktop/bb773792(v=vs.85).aspx
:-)


RE: سوال راجع به یک تابع به زبان c++ و وظیفه ان در انتی فیشینگ - elham_zare - 08-21-2012

خواهشا دوستان جوابهایی رو قرار بدید که مفید باشند نه اینکه صرفا خواسته باشید یه جواب داده باشید من کار این تابع رو در انتی فیشینگ می خوام مطالب زیاد تو اینترنت میشه راجع به توابع سی پیدا کرد برداشت خودتون رو بنویسید ممنون
با تشکر


RE: سوال راجع به یک تابع به زبان c++ و وظیفه ان در انتی فیشینگ - Amin_Mansouri - 08-21-2012

خوب این چیشو من بگم؟
کد:
bool unescape_char(const char* hexstr, int chars, char* pwc)
char   برای کاراکتر ها
int   برای اعداد صحیح کوچک
hexstr//کارکتر هیکس
تابع بالا کارکتر (2ووردی کارکتر و یک ورودی
int
که برای اعداد هست
و یک ورودی const
const chie?
;   مقدار   =   نام ثابت   نوع داده   const
//
{
char res = 0//متغییر ریس برابر 0 قرار میگیره
char wc;//یه مقدار wc
//ثابت تعریف میشه
int i;//یک متغییر عددی
for (i=0; i<chars; i++)//ایجاد یک حلقه
متغییر
i
برابر 0 قرار میگیره {
   res <<= 4;
   wc = *hexstr++;
   if (wc >= '0' && wc <= '9')
    res |= (wc - '0');
   else if (wc >= 'a' && wc <= 'f')
    res |= (wc - 'a' + 10);
   else if (wc >= 'A' && wc <= 'F')
    res |= (wc - 'a' + 10);
   else
    return false;
}
*pwc = res;//در اینجا متغییر pwc
رو برابر متغییر ریس قرار میده
return true;/مقدار برگشتی صحیح