首页 / C# / c#解密pc微信图片
c#解密pc微信图片
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#解密pc微信图片,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2856字,纯文字阅读大概需要5分钟。
内容图文
![c#解密pc微信图片](/upload/InfoBanner/zyjiaocheng/635/3d357946b1764607b1a208d35d0c4baf.jpg)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; namespace wechat_image { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog folder = new FolderBrowserDialog(); folder.Description = "选择目录"; if (folder.ShowDialog() == DialogResult.OK) { //文件夹路径 string folderPath = folder.SelectedPath; textBox1.Text = folderPath; } } private void button2_Click(object sender, EventArgs e) { FolderBrowserDialog folder = new FolderBrowserDialog(); folder.Description = "选择目录"; if (folder.ShowDialog() == DialogResult.OK) { //文件夹路径 string folderPath = folder.SelectedPath; textBox2.Text = folderPath; } } private void button3_Click(object sender, EventArgs e) { if (textBox1.Text == string.Empty || textBox2.Text == string.Empty) { return; } progressBar1.Visible = true; List fileList = new List(); var files = Directory.GetFiles(textBox1.Text, "*.dat"); foreach (var file in files) fileList.Add(file); int i=1,j = 0; foreach (var file in fileList) { j++; if(j > fileList.Count/100*i) { i++; } xor_datfile(file); if (i <= 100) { progressBar1.Value = i; } Delay(10); } } private void xor_datfile(string filepath) { string filename = System.IO.Path.GetFileName(filepath); byte[] oldfile = FileContent(filepath); byte[] newfile = new byte[oldfile.Length]; byte key = (byte)(oldfile[0] ^ 0xFF); if((oldfile[1] ^ key) == 0xD8) { for (int i = 0; i < oldfile.Length; i++) { newfile[i] = (byte)(oldfile[i] ^ key); } FileStream fs = new FileStream(textBox2.Text+"\\"+filename+".jpg", FileMode.Create); fs.Write(newfile, 0, newfile.Length); fs.Close(); } else { key = (byte)(oldfile[0] ^ 0x89); for (int i = 0; i < oldfile.Length; i++) { newfile[i] = (byte)(oldfile[i] ^ key); } FileStream fs = new FileStream(textBox2.Text + "\\"+filename + ".png", FileMode.Create); fs.Write(newfile, 0, newfile.Length); fs.Close(); } } private byte[] FileContent(string fileName) { using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { try { byte[] buffur = new byte[fs.Length]; fs.Read(buffur, 0, (int)fs.Length); return buffur; } catch (Exception ex) { throw ex; } } } public static void Delay(int mm)//输入需要延迟的毫秒数 { DateTime current = DateTime.Now; while (current.AddMilliseconds(mm) > DateTime.Now) { Application.DoEvents(); } return; } } }
golang参考
func decImg(imgPath string) { var jpg = true buff, err := ioutil.ReadFile(imgPath) if err != nil { fmt.Println(err) return } key := buff[0] ^ 0xFF var buff2 = make([]byte, len(buff)) if buff[1] != 0xD8 ^ key { key = buff[0] ^ 0x89 jpg = false } for i := 0; i< len(buff); i++ { buff2[i] = buff[i] ^ key } if(jpg) { ioutil.WriteFile(os.Args[1] + ".jpg", buff2, 777) } else { ioutil.WriteFile(os.Args[1] + ".png", buff2, 777) } }
内容总结
以上是互联网集市为您收集整理的c#解密pc微信图片全部内容,希望文章能够帮你解决c#解密pc微信图片所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。