My online notes – Section 0005

Note 1: Impersonation for accessing network path

private void ApplyUserCredentials(string Share, string Domain, string Username, string Password)
{
	USE_INFO_2 useInfo = new USE_INFO_2();
	useInfo.ui2_local = string.Empty;
	useInfo.ui2_remote = Share;
	useInfo.ui2_password = Password;
	useInfo.ui2_asg_type = 0;    //disk drive
	useInfo.ui2_usecount = 1;
	useInfo.ui2_username = Username;
	useInfo.ui2_domainname = Domain;
	uint paramErrorIndex;

	uint returnCode = NetUseAdd(null, 2, ref useInfo, out paramErrorIndex);
	if (returnCode != 0)
	{
		throw new Win32Exception((int)returnCode);
	}
}

[DllImport("NetApi32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
private static extern UInt32 NetUseAdd(string UncServerName,UInt32 Level, ref USE_INFO_2 Buf,  out UInt32 ParmError);

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
private struct USE_INFO_2
{
	internal string ui2_local;
	internal string ui2_remote;
	internal string ui2_password;
	internal UInt32 ui2_status;
	internal UInt32 ui2_asg_type;
	internal UInt32 ui2_refcount;
	internal UInt32 ui2_usecount;
	internal string ui2_username;
	internal string ui2_domainname;
}

Continue reading My online notes – Section 0005

My online notes – Section 0004

Note 1: Proxy of HttpWebRequest for uploading

HttpWebRequest HttpRequest = (HttpWebRequest)WebRequest.Create(this.fullUrl);
<system.net>
    <defaultProxy enabled ="false">
		<proxy autoDetect ="True"/>
    </defaultProxy>
</system.net>

Note 2: Walkthrough: Implementing Virtual Mode in the Windows Forms DataGridView Control for page loading
http://msdn.microsoft.com/en-us/library/15a31akc.aspx

Continue reading My online notes – Section 0004

My online notes – Section 0003

Note 1: Check if current user is administrator

WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
Console.WriteLine("Programm wird unter dem Usercontext ausgeführt: {0}", principal.Identity.Name);
Console.WriteLine("Adminrechte vorhanden: {0}", principal.IsInRole(WindowsBuiltInRole.Administrator) ? "Ja" : "Nein");

Note 2: ContextMenuStrip at selected row open and Index in DataTable localize.

private void dgv_MouseUp(object sender, MouseEventArgs e)
{
  DataGridView.HitTestInfo hitTest = ((DataGridView)sender).HitTest(e.X, e.Y);

  if (hitTest .Type == DataGridViewHitTestType.Cell)
  {
     dgv.CurrentCell = dgv.Rows[hTest.RowIndex].Cells[hTest.ColumnIndex];
  }
}

Continue reading My online notes – Section 0003

My online notes – Section 0002

Note 1: Wait from GUI Thread

private void cmdStart_Click(object sender, RoutedEventArgs e)
{
	thr = new Thread(new ParameterizedThreadStart(Test));
	thr.Start(this);
}

public void Test(object obj)
{
	var wnd = (MainWindow)obj;
	int i = 0;
	while (true)
	{
		i++;
		if (i % 1000000 == 0) //Ab ca. 1000000 schafft die UI es
		{
			var __op = wnd.Dispatcher.BeginInvoke(new Action(UpdateGUI));
			__op.Wait(); //Magische Methode mit der der Arbeitsthread wartet?!
		}
	}
}

public void UpdateGUI()
{
	Random r = new Random();

	txt.Text = "";
	txt.Text = ((char)r.Next(65, 91)).ToString();
}
		

Continue reading My online notes – Section 0002

My online notes – Section 0001

Note 1:
MongoDB Applied Design Patterns
https://www.dropbox.com/s/5nksr6e8z09mu83/Oreilly.MongoDB.Applied.Design.Patterns.Mar.2013.epub?dl=0

Peopleware
https://www.dropbox.com/s/4v3j51mkt13yusc/Peopleware.epub?dl=0


Note 2:

static PerformanceCounter cpuUsage;
public static void Main(string[] args)
{
	cpuUsage = new PerformanceCounter("Processor", "% Processor Time", "_Total");
	Timer t = new Timer(new TimerCallback(TimerFunction), null, 0, 500);
	Console.ReadLine();
}

static void TimerFunction(Object stateInfo)
{
	//AutoResetEvent autoEvent = (AutoResetEvent)stateInfo;
	Console.WriteLine(cpuUsage.NextValue() + " %");
}

Continue reading My online notes – Section 0001

Bài Thơ Đôi Tất

Đôi tất

Bài thơ đầu anh viết tặng em
Là bài thơ kể về … đôi tất
Khi chân thấy có mùi ngây ngất
Những vật tầm thường cũng “bộc phát” thành thơ.

Đôi tất nhỏ có màu xanh lơ
Màu cỏ cây hay màu của điều ước?
Nhưng chắc chắn không bao giờ lộn ngược
Vì mặc vào sẽ phát hiện ra ngay.

Chẳng thường xuyên được giặt giũ hằng ngày
Bị sức nặng đôi gót hồng chà đạp
Dẫu bốc mùi không đi cùng người khác
Dù chiếc này đẹp hẳn hơn chiếc kia.

Nếu một ngày một chiếc tất mất đi
Bị chó gặm hay vấn đề nào khác
Mọi thay thế đều trở nên độc ác
Hai đứa này chỉ là cặp gian phu.

Mất em rồi anh sẽ bỏ đi tu
Bởi đơn độc sống đâu còn ý nghĩa
Dẫu bên cạnh có muôn người thay thế
Thì đêm nằm vẫn sợ dính Si-Đa.

Nếu sau này đôi tất có chia xa
Chẳng thề nguyền nên tha hồ giả dối
Chẳng hứa hẹn chỉ âm thầm phản bội
Dù bình thường có vẻ là một đôi.

Và khi đó bắt đầu bốc mùi hôi
Không thể thiếu bình khử mùi khẩn cấp
Thật giản dị như mối tình e ấp
Để đêm ngày gắn chặt mãi không thôi.

Chính vì thế sẽ mãi bước chung đôi
Dẫu mỗi chiếc ở một bên phải trái
I love you ở những điều ngược lại
Gắn bó nhau vượt qua những khó khăn.

Nếu mai này anh có chết nhăn răng
Xin kiếp sau vẫn được làm chiếc tất
Dù biết yêu không còn gì để mất
Chỉ cần bên cạnh có chiếc thứ hai kia.

Sưu Tầm và Chỉnh Sửa bởi Trí Quỷ Lệ.

Reverse .Net Software

Dot Net, a new trend, a new look, a new structure and a new … challenge. Completely different with what we have known, no machine code, no asm, there are only IL and VS.NET….

These articles were written in VIETNAMESE (NOT ENGLISH). Sorry for this inconvenience I wrote these articles long time ago for my team REA, all of members of this team are Vietnamese and at that time I don’t think that I will publish it to public. If you don’t know Vietnamese then take a look at this section http://hintdesk.com/category/computer-security/ . There are some articles about reversing .net there. They are all in English. Hope they will help you.

Regards.

Continue reading Reverse .Net Software

Create Patcher

Hiện nay patcher đã không còn là một thuật ngữ xa lạ với các Cracker cũng như các Reverser trên thế giới. Và ngay cả người dùng bình thường cũng đã nhiều lần nghe đến thuật ngữ này khi phải down các bản patch vá lỗi của Windows.
• Như vậy, patch có thể hiểu là các gói phần mềm nhỏ để sửa đổi, bổ sung một phần mềm lớn đã được phát hành. Thế mạnh của các bản patch chính là sử nhỏ gọn và tính tức thời. Lấy Windows làm ví dụ, khi Microsoft phát hiện ra một lỗi bảo mật của Windows, họ sẽ tung ra các bản vá lỗi. Thực chất các bản vá lỗi này chính là các bản patch. Sau khi người dùng cuối down các bản patch này về, các bản patch sẽ tự động sửa chữa các tập tin, các config gây nên lỗi bảo mật đó.
• Tuy nhiên, cùng với sự phát triển nhanh chóng của IT thì “nghĩa” của từ patch, cũng như mục đích của nó đã dần thay đổi, nhất là trong lĩnh vực Reverse. Trong lĩnh vực này, patch đồng nghĩa với việc thay đổi thuộc tính của một chương trình theo ý muốn của một Cracker. Và đặc biệt patch được sử dụng rất nhiều trong việc bẻ khóa phần mềm (Lưu ý: Cracker = Criminal Hacker có nghĩa không chỉ là những người bẻ khóa phần mềm).

Continue reading Create Patcher