【Linux-Python】pip的安装及常用命令
12345678910111213141516wget https://bootstrap.pypa.io/get-pip.pypython get-pip.pyinstall #【 安装包安装 (Install packages.)】download #【 下载下载包 ( Download packages.)】uninstall 【# 卸载卸载包 ( Uninstall packages.)】freeze #【 冻结按需求格式安装的包的输出 (Output installed packages in requirements format.)】list #【 列表列出已安装的包 ( List installed packages.)】show #【 显示已安装软件包的信息 ( Show information about installed packages.)】check #【 检查已安装的软件包是否具有兼容的依赖项 ( Verify installed packages have compatible dependencies.)】config #【 配置管理本地和全局配...
【Linux-Python】linux下安装sqlmap
12345678910111213141516171819202122232425262728293031323334#首先先安装pip 不懂得翻我以前的文章#安装pip install sqlmap #显示包的位置pip show sqlmapWARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.Name: sqlmapVersion: 1.4.3Summary: Automatic SQL injection and database takeover to...
【Pythonpycpyinstaller】反编译Pyinstaller打包的exe和pyc文件
前言玩逆向的我今天接到了个单子,就是要逆向某exe。逆向exe我还没有试过就抱着尝试的心态,发现该exe是python写的就开始研究如何逆向就各种谷歌和百度终于琢磨出来了如何逆向。如果是pyc可以直接使用在线逆向工具或者开源工具就能逆向了,但是如果是编译成exe的你就得需要提取出来并修改后才可以 准备工具Unicode码转中文在线反编译PycUnCompyle6pyinstxtractor.py 开始反编译首先使用pyinstxtractor.py提取出所有文件python pyinstxtractor.py exe文件路径 提取出来后会有一堆dll和pyc的文件这些不用理我们只需要找到没有后缀的文件(这个就是pyc文件) 420d 0d0a 0000 0000 0000 0000 e300 0000用sublimttext打开在文件然后再前面添加一行十六进制保存即可(上面这窜),然后保存改后缀名为.pyc 打开我们的在线反编译pyc选择文件进行反编译,反编译出来的字符串是u码所以需要用到在线转换u码把u码转字符串即可得到源码
Android微信支付的坑
事情是这样的我接了个单子就是写微信登陆和支付的一开始我接单子的时候想之前都写过qq登录微信也应该差不多结果我错了首先遇到的坑有sdk的配置他是把sdk放到了maven远程仓库然后直接compile但是我as抽风好了许久最终下载了官方的demo找到了jar直接copy到工程文件夹里了我边写边吐槽写文档的开发者乱七八糟后来我看着官方demo改的终于成功了。于是就有了这篇文章登录的class名称必须是WXEntryActivity并且继承activity实现IWXAPIEventHandler接口否则无法回调然后剩下的直接上图了 微信登录和qq登录不同他是先把回调返回来的code进行发送请求获取access_token但access_token有效期只有两小时我这里登录只需要用户的openid和nickname所以我没有获取有效期一个月的access_token详细见官网这里也没有api判断是否登录全部得自己写所以写这个微信登陆的时候很恼火别看代码那么简单实现写起来真的是各种坑这是最坑的地方不仅class要WXEntryActivity还要在wxapi包下所以要新建一个wxapi放cl...
【Java多线程】线程安全问题
首先什么是线程安全问题?答:当多个线程同时修改做写操作的时候可能受到其他线程的干扰导致数据出现问题这种现象叫做线程安全问题 举个例子比如火车票自动售票机,原本有100张票分别有两个售票机进行判断票数是否大于0,如果票数大于0就把票出售给乘客,但当两个售票机同时读取这个变量的时候第一个判断大于0就售出了但第二个判断也大于0但前面第一个线程已经把票售出了所以此时是0张票这个时候就可能出现了-1张票,或者售出了同一张票 12345678910111213141516171819202122232425262728293031323334353637public class ThreadTest implements Runnable { private int trainCount = 100; @Override public void run() { while (trainCount > 0) { try { Thread.sleep(500); ...
【Java多线程】使用同步代码块解决线程安全问题
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141public class ThreadTest implements Runnable { private int trainCount = 100; private Object lock = new Object();//实例化一个对象当作锁 @Override public void run() { ...
【Java多线程】函数锁,证明是this锁
函数所非常简单只需要在函数定义的时候加上synchronized关键字就可以了那么synchronized用的是什么锁呢答:this锁,怎么知道他是this锁的呢 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157public class ThreadTest implements Runnable { ...
【Java多线程】死锁
死锁就是:一个宝藏需要两把钥匙来打开,同时间正好来了两个人,他们一人一把钥匙,但是双方都再等对方能交出钥匙来打开宝藏,谁都没交出自己的那把钥匙.就这样这俩人一直僵持下去,直到开发人员发现这个局面. 123456789101112131415161718192021222324252627282930313233343536373839404142public class ThreadTest implements Runnable { private int trainCount = 100; private final Object lock = new Object(); public boolean flag; @Override public void run() { while (true) { if (flag) { synchronized (lock) { sell1(); ...
【Java多线程】内存模型/volatile /Atomic原子类
多线程的三大特性原子性 独一无二,一致性 保证线程安全问题可见性 java内存模型图有序性 join,wait,notify 什么是java内存模型?答:(属于)多线程可见性jmmjava内存结构是jvm内存分配 Java内存模型,决定了一个线程与另一个线程是否可见java内存模型 主内存,本地私有内存 1234567891011121314151617181920212223242526272829public class ThreadDemo extends Thread { private boolean flag = true; @Override public void run() { super.run(); System.out.println("Thread starting run"); while (flag) { } System.out.println("Thread Stop"); ...
【Java】NIO学习笔记
缓冲区Java NIO中负责数据的存取。缓冲区就是数组。用于存储不同数据类型的数据根据数据类型不同(Boolean)除外,提供了相应类型的缓冲区;ByteBuferCharBufferShortBuffer1IntBufferLongBufferFloatBufferDoubleBuffer上面的缓冲区管理方式几乎一致,通过allocate方法获取缓冲区 缓冲区的核心方法put();存入数据到缓冲区get();获取缓冲区中的数据flip();切换到读取数据模式rewind();clear();恢复成最初状态,但里面的数据依然存在mark();在当前position进行标记reset();恢复到mark的位置hasRemaining();查看缓冲区是否还有数据remaining();缓冲区还剩几个字节没有读取 缓冲区的属性capacity : 容量,表示缓冲区中最大存储数据的容量。一旦声明不能改变。limit : 界限,表示缓冲区中可以操作数据的大小。(limit后的数据不能进行读写)position : 位置,表示缓冲区正在操作数据的位置。position <= litit...