微信免费检测僵尸粉方法

微信奇怪的好友关系管理,导致许多人需要检测好友僵尸粉需求!现在我也没有想清楚为什么有这样子的关系,单向好友有什么意义,单向好友恢复吗?问题微信也没有提供恢复单向好友的设置

方法:
1:发送消息,如果对方不是好友或者拉黑,微信会有提示。方法的好处简单但缺点是打扰好友,我是非常反感这种方式。
2:拉群,你需要把检测好友拉的到一个群里,但后面进去的群的好友会一些提示,不过要比第一种好很多,大部分用户看不到提示。
3:发送特殊符号,原理和第一种差不多,只是对方看不到而已,这个只存在以前的版本,现在版本已经无效。
4:转账,我们进行转账的时候第一步是创建账单,然后才是真正发送给对方,如果你被好友删除或者拉黑,你是无法转账的。(在你输入密码之前就已经告诉你无法转账,你测试时候如果要你输入密码了,说明对方是你好友)

自动方案:
上面方案方便你检测单个好友,如果大量的好友检测,肯定借助第三方软件,否则自己弄会累死。

你可以使用超微助手,一款电脑微信辅助类软件,它检测僵尸粉和删除好友是免费的,因为他是PC软件,不是云端软件,所以安全性要云端安全好多,同时他的检测僵尸粉的原理是通过好友单向添加方式进行,这种方式优点稳定性高很多,不容易被微信检测限制,比市面上通过发送名片方案要好很多,发送名片超过700多次就会被限制,那么你如果有几千好友,其实他根本检测不出来的。

清理僵尸粉
微信免费清理僵尸粉

微信检测僵尸粉,群发软件

debugview使用—设置过滤进程

背景

我自己开发程序测试时候喜欢用OutputDebugString来输出日志,不需要日志库,快速用来判断bug问题。我一直不知道怎么过滤进程,因为每次我填过滤进程的都是[进程ID],发现过滤不了

规则

直接在fiter里面填写进程ID就可以了,不用加[],以前因为他界面是[进程ID],所以才那样子填写。

题外话

最好发布版本里面去掉OutputDebugString,我发现好多软件都不去掉打日志,导致debugview有好多日志。

OllyDBG 自定义标签和注释消失问题

背景

自己要写新版本测试,然后切回到老版本的时候发现以前的注释和断点全部都消失了,这个就比较蛋疼了,后面自己折腾了一下,总算搞明白了

方案

UDD: OllyDBG 注释,断点,字符串都会在这个对应的配置文件,里面配置会跟对应的执行程序或者DLL的名字命名,这样子会导致,不同版本的,不同路径软件会进行覆盖。我直接复制一份OllyDBG,这样子分开调试就可以了,这样子就不会相互冲突。

新浪短连接新思路

背景
最近新浪的短链接接口屏蔽,导致大量用t.cn用不了。

思路
因为微博能自动转换网址,变成t.cn,那么只要拿到cookie,然后生成t.cn短连接就可以了,cookie 大概一天的生命周期,自己多准备几个。做一个接口提供服务还是很简单的,等有时间我自己提供一个接口出来,做引流算了。

微信A8KEY数据作用简单说明

背景:
最近在做PC微信群链接,自动添加功能,所以简单分析了一下。

过程:
通过发送数据包回溯,每次在微信点击网址的时候会提前请求,不管是什么网址微信提前请求A7KEY的一个接口,这个接口会返回得到真正的url地址。
在微信界面显示消息,不会含有exportkey和pass_ticket 这2个参数在添加群的链接会用到,貌似很多微信接口都会用这2个参数。网上说微信指数也是用这2个参数,
那么通过PC调用接口得到这2个参数,那么就可以得到真正的数据了。我没有抓微信指数小程序的数据包,暂时没有实验。

结果:
A8KEY微信用群和微信接口一些凭证,所以还是非常重要,如果没有很多事情都做不了。

题外话:
貌似微信二维码识别,也会请求接口,获取含有验证的url地址,比喻微信群的二维码也含有这个逻辑,为什么我们直接识别群二维码,虽然可以得到链接,但访问直接访问这个链接是会跳转微信下载,而用微信识别就可以跳转过去。微信这个逻辑,来保证url地址安全性。

不用使用c++ 11 std:mutex

最近在工程vs2013 使用 std:mutex 互斥对象,用于防止线程竞争,在自己win10可以正常运行,在win7 上面会崩溃,抛出异常。我自己使用DLL库,编译运行库用mt .然后google 好多,发现很多类似的问题。貌似都是不推荐使用微软实现该std::mutex,我真的无语了,标准的库兼容性都这么差。

后面只能网上找自己封装的mutex,方便自己用于线程竞争了


#ifndef _Lock_H
#define _Lock_H
#include

//锁接口类
class IMyLock
{
public:
virtual ~IMyLock() {}
virtual void Lock() const = 0;
virtual void Unlock() const = 0;
};

//互斥对象锁类
class Mutex : public IMyLock
{
public:
Mutex();
~Mutex();
virtual void Lock() const;
virtual void Unlock() const;
private:
HANDLE m_mutex;
};

//锁
class CLock
{
public:
CLock(const IMyLock&);
~CLock();
private:
const IMyLock& m_lock;
};
#endif

cpp:
#include "stdafx.h"
#include "Lock.h"
//创建一个匿名互斥对象
Mutex::Mutex()
{
m_mutex = ::CreateMutex(NULL, FALSE, NULL);
}
//销毁互斥对象,释放资源
Mutex::~Mutex()
{
::CloseHandle(m_mutex);
}
//确保拥有互斥对象的线程对被保护资源的独自访问
void Mutex::Lock() const
{
DWORD d = WaitForSingleObject(m_mutex, INFINITE);
}
//释放当前线程拥有的互斥对象,以使其它线程可以拥有互斥对象,对被保护资源进行访问
void Mutex::Unlock() const
{
::ReleaseMutex(m_mutex);
}
//利用C++特性,进行自动加锁
CLock::CLock(const IMyLock& m) : m_lock(m)
{
m_lock.Lock();
}
//利用C++特性,进行自动解锁
CLock::~CLock()
{
m_lock.Unlock();
}

openssl无需编译方法

背景:

因为最近用到加密算法,c++ 没有自带算法库,所以决定用openssl库里面的算法,习惯了python,java 管理库,再回到c++使用第三方库,感觉好痛苦。

目的:

不需要编译,直接拿过来用。

解决方案:

1:动态库:

https://slproweb.com/products/Win32OpenSSL.html

可以直接安装,在安装目录引进include 和lib, 就直接跑起来。理论复制到自己编译程序目录,也能跑起来,没有测试过。

2:静态库

https://zhuanlan.zhihu.com/p/31154924

这个别人编译好的,直接引进,就能直接跑起来了。

 

 

逛了一下当初学习编程的论讨

论坛:

www.cctry.com

看了一下论讨,看了一下新手提的问题,一下子回到大学的时候。当初也是一个新手,学习WINDWOS API, 纠结怎么徒手写windows 消息窗口, 学习怎么对话框,然后学习MFC界面开发,然后学习网络开发,然后学习开发网络变成,然后学习驱动编程等等。

这些年过去,感觉过去学习知识都在工作有所体现,刚工作的时候思考功能怎么实现,现在思考项目盈利点在哪里,市场怎么推广。人员怎么协调,技术难点在哪里,开发周期多久。

从现在看过去:术到道的一个过程而已,术的积累,才能到道这里,才能根据自身的环境,找出最优解。记得以前被一个技术总监面试,问我你的知识点怎么建立体系的,忘记当初我怎么回答的。

OD 快捷键

别人写的文章:

https://blog.csdn.net/yizhenweifeng/article/details/8518925

 

自己笔记:

ctrl – :回到上一个函数起始位置,如果你定位在函数中,那么就快速达到函数顶部,方便自己写注释和标注。

ctrl+: 同理

因为之前一直不认为上面ctrl 可以快速定函数起始位置和结束位置。

现在就有一个问题,一直找不到数据窗口切到Unicode 界面然后按-回到原来的位置,因为有选中,就变成修改数据了,不知道有什么好的方法没有