让Win10 Shift+右键显示<在此处打开命令窗口>

计算机\HKEY_CLASSES_ROOT\Directory\Background\Shell

计算机\HKEY_CLASSES_ROOT\Directory\shell

这二个项目下面

分别有cmd和Powershell二个文件夹项
首先获取权限, 在这二个目录上面点右键 权限

如下图, 输出 Administrators 用户组,
确定后, 再像图1 一样, 让Administrators 有全部权限
然后将cmd 项下的 HideBasedOnVelocityId 重命名为 ShowBasedOnVelocityId
即可显示 打开命令行提示符
PowerShell 下面的也是
HideBasedOnVelocityId  隐藏
ShowBasedOnVelocityId 显示
Read More

x64dbg 常用表达式

读取内存:

  • [addr] read a DWORD/QWORD from addr.
  • n:[addr] read n bytes from addr.   在32位程序中 n<4, 64位程序中 n<8
  • seg:[addr] read a DWORD/QWORD from a segment at addr.
  • byte:[addr] read a BYTE from addr.
  • word:[addr] read a WORD from addr.
  • dword:[addr] read a DWORD from addr.
Read More

VS2015 使用 yasm

最近做一个64位下的Hook, VS在64位下没有了内联汇编
于是来体验一下 yasm 编译 asm 文件, 首先从 yasm 官网下载 vs专用包, 普通版的不能在vs中直接调用

下载地址如下:
Win32 VS2010 (for use with VS2010+ on 32-bit Windows)
Win64 VS2010 (for use with VS2010+ on 64-bit Windows)

虽然写的是 2010没有更新过, 实际上可以在VS2015中直接使用.
下载相应的包. 将   vsyasm.props   vsyasm.targets  vsyasm.xml
三个文件放在
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations

将 vsyasm.exe 放在
C:\Program Files … Read More

Python pip使用国内源

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

临时使用:
可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,这样就会从清华这边的镜像去安装pyspider库。

使用pip.ini永久解决源的设置问题

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = mirrors.aliyun.com
[list]
format = columns

将以上内容保存为 pip.ini 放在 C:\Users\用户名\pip 文件夹下即可

另附上常用的pip命令:

// 列出已安装模块
.\python.exe -m pip list
// 检查更新
.\python.exe -m pip list -o
// 升级模块
.\python.exe 
Read More

安卓调试常用ADB命令

有多个设备时选择其中的某设备
adb -s H066982 shell

//========================================
安装APK
adb install -r r:\1.apk

//========================================
以调试模式启动APP
adb shell am start -D -n hw.helloworld/hw.helloworld.MainActivity

//========================================

列出所有安装应用的包名
adb shell pm list packages

过滤显示
adb shell pm list packages | grep 431

找到apk的位置
adb shell pm path com.tence01.mm

pull出来
adb pull /data/app/com.tence01.mm-1.apk d:\

pull 整个目录
adb … Read More

IDA 协作插件 collabREate Server编译方法

collabREate 用到了Google的GSON模块, 我们要先下载gson-2.8.5.jar
放在 collabREate/server/java 目录下,
打开命令提示符, 进入到 collabREate/server/java 目录
运行如下命令:
mkdir bin
javac -classpath .\gson-2.8.5.jar -d .\bin collabreate\server\*.java
编译后的文件保存在 bin目录下

测试编译的是否可以正常运行

java collabreate.server.ServerManager

将编译的文件打包成jar:
jar -cef collabreate.server.ServerManager collab.jar bin

上面生成的是 服务器管理的jar
将main方法更换为 collabreate.server.CollabreateServer 生成 服务器jar

jar命令为java自带的专用打包工具;

c 代表生成新的jar包;
e 代表可执行的类,亦即main方法所在的类。书写时要加上包名,在本例中是后面的 collabreate.server.ServerManager;
f 代表生成的jar包的名称,在本例中是collab.jar。此包名可以随意命名,没有规定;
bin 最后面的这个参数表示将bin目录下的所有文件都打包放到新的jar包中

另外发现了一个更不错的实现, 现在还是0.01版 IDArling
试用了一下, … Read More

单片机多字节移位除法实现方案

以0x67 / 3来举例 说明:

除数3前面有6个0, 减数从 3 * 2^6 次方 0xC0 开始, 循环去减, 每循环一次
减数/2, 够减则说明被除数中包含了减数/(原始减数3)个原始减数, 商+1, 然后在后面的每一次循环
时移位, 实现了商加上相应倍数的减数.

除数循环7(6+1)次也就到了除数自身, 减最后一次, 循环结束
算法巧妙的利用了移位减法, 以最少的循环次数实现了求商除法运算

被除数               减数                    结果
67[0110 0111] C0[1100 0000] 00[0000 0000]
67[0110 0111] 60[0110 0000] 01[0000 0001]
//够减, +1, 60是3的0x20 倍, 后面不断的左移, 保证了现在的+1最后成为0x20
07[0000 0111] 30[0011 0000] … Read More

A4纸折收纳纸盒

常常能收到很多广告宣传纸, 质量还蛮好的, 废物利用, 折个纸盒很有用
这里给大家分享一个简便好用的折纸盒方法.

开始喽:
1. 将纸对折

2  再对折。
3  展开第二次的对折,将四角向内折起。注意,左侧只折内层,外层不折。
4  将上面两个角向下翻折,得到折线;下方也同样。
5  现在审视一下手中的纸,应有如下折痕,并且四角向内折。
6  拎起左侧内层向右侧对折。
7  将右半部分向上拉开成一个簸箕状。
8  看,刚拉开的簸箕!然后把折痕弄挺括(见第九步图中粉色虚线)
9  现在看左侧,将紫色虚线合并在一起,折出一条折现,即绿色虚线,从而折出一个三角形,见第十步图。
10  请上下两张图对照一下,紫色虚线合并了,绿色线在外突出,是一个在外侧的三角形。
11  将这个三角形的角塞入这一面的口袋里。
12  另一面同样,我已标注出紫线和绿线。将角塞入口袋。
13  现在你得到了一个坚固的小盒子
(资源来源于网络, 感谢原作者的分享)
Read More

ASM基础-汇编标识位

X86架构CPU的状态标识位有以下的几个:

CF:反映无符号运算是否产生进位或借位,是则CF=1,否则CF=0。
PF:反映运算结果低8位中1的个数,1的个数为偶数,则PF=1,否则PF=0。
AF:在字节操作时低半字节向高半字节进位或借位时,字操作时低字节向高字节进位或借位时,AF=1,否则AF=0。
ZF:反映运算结果是否为0,结果为0时ZF=1,否则ZF=0。
SF:反映运算结果是否为负,结果为负时SF=1,否则SF=0。
OF:反映有符号运算结果是否溢出,结果溢出时OF=1,否则OF=0。
IF:中断标志。

CF 是对于无符号数来讲, 运算过程中(看的是运算过程, 不关心结果)如果有进位(Add)或有借位(Sub)则 CF=1, 否则CF=0
对于加法相信很好理解, 我们来看看减法:
label1: mov eax, 2
cmp eax, 5
jc label1
上面的示例中, cmp 执行的是 eax - 5, 因为eax < 5 所以需要借位, 于是CF=1 JC 满足跳转到label1
所以 cmp R1, R2 与 JC结合, 判断的是 R1 … Read More