PDA

View Full Version : سوال: نشان دادن کد امنیتی (کپچا) یک سایت در فرم سی شارپ



Jaxon_hacker_black
چهارشنبه 04 دی 1392, 14:06 عصر
سلام من می خوام کد امنیتی یک سایت رو داخل فرم سی شارپم نشون بدم .
مثلا : می خوام داخل ارسال نظر در یک وبلاگ یه کد امنیتی هست اون رو داخل فرمم نشون بدم تا فردی که داره استفاده می کنه بتون از داخل فرم به صاحب وبلاگ نظر ارسال کنه . بدون ورود به وبلاگ . فقط از طریق فرم .
یعنی می خوام یک فرم ارسال نظر با کد امنیتی (کپچا) داخل فرمم بزارم که کد امنیتی همون وبلاگه باشه که می خوام بهش نظر ارسال کنم .
اینم عکسش : (برای درک بهتر)
114403

fmehrvarzi
چهارشنبه 04 دی 1392, 17:32 عصر
این تایپیکو دوبار ایجاد شده
چون لینکش از نوع پی اچ پی هست
بیا از یک کنترل وب بروزر به جای پیکچرباکس استفاده کن و آدرس
http://kaftardownload.rozblog.com/include/captcha/cap7.php
را بهش بده

Jaxon_hacker_black
چهارشنبه 04 دی 1392, 19:10 عصر
این تایپیکو دوبار ایجاد شده
چون لینکش از نوع پی اچ پی هست
بیا از یک کنترل وب بروزر به جای پیکچرباکس استفاده کن و آدرس
http://kaftardownload.rozblog.com/include/captcha/cap7.php
را بهش بده
دوست عزیز می شه کدش رو بنویسی . ما اینقدر حرفه ای نیستیم که با چند خط توضیح مطلب رو بفهمیم .
اگه می شه کدش رو بنویس تا بیشتر متوجه بشم . ممنون

Jaxon_hacker_black
چهارشنبه 04 دی 1392, 19:15 عصر
این تایپیکو دوبار ایجاد شده
چون لینکش از نوع پی اچ پی هست
بیا از یک کنترل وب بروزر به جای پیکچرباکس استفاده کن و آدرس
http://kaftardownload.rozblog.com/include/captcha/cap7.php
را بهش بده

داداش این کپچا برای یه وبلاگه و من نمی خوام کپچا ی همینجوری ایجاد بشه می خواد کپچا ی سایت مورد نظر اونجا بیاد . ممنون
داداش کارم شد . از شما ممنونم .

pilot1900
پنج شنبه 12 آذر 1394, 15:12 عصر
منم دقیقا این مشکلرو دارم تو سایتای خارجی سرچ زدم باید از داخل کنترل وببروزر اسکرین شات گرفت ولی نمی دونم چطور. یه کلاسم براش پیدا کردم اما نتونستم باهاش کار کنم . راهنمایی بی زحمت.

class capimg
{


[StructLayout(LayoutKind.Sequential)]
private struct RECT
{
public int left;
public int top;
public int right;
public int bottom;
}
//use win32 api
private class Gdi32
{
[DllImport("gdi32.dll")]
public static extern bool BitBlt(IntPtr hObject, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hObjectSource, int nXSrc, int nYSrc, int dwRop);
[DllImport("gdi32.dll")]
public static extern IntPtr CreateCompatibleBitmap(IntPtr hDC, int nWidth, int nHeight);
[DllImport("gdi32.dll")]
public static extern IntPtr CreateCompatibleDC(IntPtr hDC);
[DllImport("gdi32.dll")]
public static extern bool DeleteDC(IntPtr hDC);
[DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
[DllImport("gdi32.dll")]
public static extern IntPtr SelectObject(IntPtr hDC, IntPtr hObject);
}


private static class User32
{
[DllImport("user32.dll")]
public static extern IntPtr GetDesktopWindow();
[DllImport("user32.dll")]
public static extern IntPtr GetWindowDC(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern IntPtr GetWindowRect(IntPtr hWnd, ref RECT rect);
[DllImport("user32.dll")]
public static extern IntPtr ReleaseDC(IntPtr hWnd, IntPtr hDC);
}


//define constants
private const int SRCCOPY = 13369376;
private const int LOOPTIMES = 40;
private const int SLEEPTIME = 100;


private static int getXoffset(HtmlElement he)
{
//get element pos
int xPos = he.OffsetRectangle.Left;


//get the parents pos
HtmlElement tempEl = he.OffsetParent;
while (tempEl != null)
{
xPos += tempEl.OffsetRectangle.Left;
tempEl = tempEl.OffsetParent;
}


return xPos;
}


private static int getYoffset(HtmlElement he)
{
//get element pos
int yPos = he.OffsetRectangle.Top;


//get the parents pos
HtmlElement tempEl = he.OffsetParent;
while (tempEl != null)
{
yPos += tempEl.OffsetRectangle.Top;
tempEl = tempEl.OffsetParent;
}


return yPos;
}


private static Image captureWindow(IntPtr handle, int x, int y, int width, int height)
{


IntPtr hdcSrc = User32.GetWindowDC(handle);


RECT windowRect = new RECT();
User32.GetWindowRect(handle, ref windowRect);
IntPtr hdcDest = Gdi32.CreateCompatibleDC(hdcSrc);
IntPtr hBitmap = Gdi32.CreateCompatibleBitmap(hdcSrc, width, height);


IntPtr hOld = Gdi32.SelectObject(hdcDest, hBitmap);
Gdi32.BitBlt(hdcDest, 0, 0, width, height, hdcSrc, x, y, SRCCOPY);
Gdi32.SelectObject(hdcDest, hOld);
Gdi32.DeleteDC(hdcDest);
User32.ReleaseDC(handle, hdcSrc);
Image img = Image.FromHbitmap(hBitmap);
Gdi32.DeleteObject(hBitmap);
return img;
}
public static Image getImage(WebBrowser wb, HtmlElement he)
{
//get original scroll position
int docY = wb.Document.GetElementsByTagName("HTML")[0].ScrollTop;
int docX = wb.Document.GetElementsByTagName("HTML")[0].ScrollLeft;


//scroll to view element
wb.Document.Window.ScrollTo(getXoffset(he), getYoffset(he));
int heY = getYoffset(he) - wb.Document.GetElementsByTagName("HTML")[0].ScrollTop;
int heX = getXoffset(he) - wb.Document.GetElementsByTagName("HTML")[0].ScrollLeft;
int heWidth = he.OffsetRectangle.Width;
int heHeight = he.OffsetRectangle.Height;


Image img = captureWindow(wb.Handle, heX, heY, heWidth, heHeight);


//scroll back tooriginal position
wb.Document.Window.ScrollTo(docX, docY);
return img;


}


internal static void getImage(WebBrowser web_uni, string p)
{
throw new NotImplementedException();
}
}

Vidico
پنج شنبه 12 آذر 1394, 16:17 عصر
با اسکرین شات هم میشه
ببینید قسمت نظر سنجی وبلاگ ها معمولا شکل ظاهری ثابتی دارن، شما میتونید بعد از لود پیج ازش اسکرین شات بگیرید و ببینید که تصویر کپچا کجای عکس قرار داره برشش بده و نشونش بده

pilot1900
پنج شنبه 12 آذر 1394, 16:24 عصر
آخه مسئله همینه کنترل وببروز Visibel نیست