Push和Pop
Push(入栈):是修改栈内的数据, 并且将sp指针往低地址偏移
Pop(出栈):是读取栈顶数据, 并且将sp指针往高地址偏移
注: Pop指令并未删除栈内原有的数据, 仅仅是读取而已
关于栈底指针位置
如果是一个空栈, 那么ss:sp指向栈空间最高地址单元的一个单元
数据宽度
在8086十六位CPU中, Push和Pop操作的数据都是两个字节的, 也就是说无论是
1 | push ax ;将ax里数据写入栈顶 两个字节 |
统统操作两个字节数据
乱码三千 – 码出一个新世界
java代码的执行需要编译成字节码文件然后借助java虚拟机JVM执行, 那么smali代码的执行同样需要借助虚拟机, 只不过是安卓虚拟机DalvikVM, 但是由于Dalvik虚拟机默认识别dex文件, 因此需要将smali文件封装成dex文件
1 | .class public LTest; |
1 | java -jar smali-2.4.0.jar a smali文件或目录 -o 输出目录/xxx.dex |
1 | adb push test.dex /sdcard/ |
1 | adb shell |

数据段存在的意义是为了告诉cpu, 该段物理地址存放的是数据而不是指令
那么既然里面存放的是数据, 势必会有取值和赋值
将20001H物理地址中的数据取值然后填入通用寄存器中, 如下:
1 | mov ax ,2000H |
以上有几个关键的地方需要记忆
将BH中的数据赋值给数据物理地址20001H中, 如下:
1 | mov bh,30H |
和取值类似, 反过来即可
以取值代码为例:
1 | mov ax ,2000H |
如果物理地址和数据一一对应关系如下:
1 | 20001H----->23 |
那么ax中的值是多少呢?
答案是1123 而不是23, 为什么?
这是根据寄存器容器大小决定的, 容器大装得多, 容器小装的小, 因为ax是16位容器,那么则获取16位也就是两个字节的数据,即1123, 如果是ah或者al接收的话则获取8位也就是一个字节的数据,即23
用于更改CS:IP的值
由于在8086cpu中更改段寄存器CS和指针寄存器IP的值不能直接使用mov赋值, 比如:
1 | mov CS,3000H |
以上写法不允许
那么, 如果我们需要给其赋值时, 其中一种替代方案就是使用jump指令,比如:
1 | jump 3000H:0001H # 跳转到该代码段物理地址 |
如果段地址保持不变, 只是更改偏移地址, 那么需要借助通用寄存器, 如下:
1 | mov ax,0002H |
则只需jump+保存偏移地址的寄存器 这种写法即可
注意不能直接jump 0002H 这样是不允许的
量化投资绝对是一个趋势
以米筐api为例:
1 | #需求: 获得市盈率大于50且小于65, 营业总收入前10的股票 |
本文为作者原创 转载时请注明出处 谢谢

1 | git reset --hard HEAD^ //一个^代表一个版本 如果回退两个版本那就HEAD^^ 以此类推 |
1 | git reset --hard 8383f01 //一个^代表一个版本 如果回退两个版本那就HEAD^^ 以此类推 |
1 | git reset --hard HEAD |
1 | git reset checkout . //放弃所有文件的修改 |
1 | git stash //暂存当前修改的代码 |
1 | git revert -n 版本号 |
本文为作者原创 转载时请注明出处 谢谢

说明: 视频拍摄中常用的手法之一, 是指把手机或相机慢慢想拍摄主体推进, 常用于烘托氛围或者强调某个人/事/物
说明: 是指把手机或者相机慢慢向后拉, 使拍摄主体在画面中慢慢变小, 常用于向观众张氏拍摄主体所处的环境
说明: 是只拍摄者拍摄机位不懂(站在原地), 通过摇动手机臂带动手机/相机呈弧线运动
说明: 通常是指在水平方向, 按一定运动轨迹进行运动拍摄, 是一种侧面跟拍人物的表现手法
说明: 通常是指在物体后方一直跟着拍摄主体进行拍摄
说明: 通常是指在手机由下往上进行拍摄, 这种拍摄方式是展现拍摄氛围的绝佳手段
说明: 通常是指在手机由上往下进行拍摄, 这种拍摄方式是拍摄光晕的首选
说明: 通常是指被拍摄物是圆形的中心点, 手机按一定半径围绕圆心点进行旋转
说明: 镜头固定 适合知识类型讲解的画面
本文为作者原创 转载时请注明出处 谢谢


添加代理主机







最后重启Charles即可抓包
关于https的抓包, 我们在使用charles工具时还可以使用它的路径映射功能, 也就是自动将https替换成http协议


另外, 如果你是为了给App抓包, 刚好在反编译该App, 在条件允许的情况下, 可以在反编译smali后,批量对源码中的https进行替换 然后重新打包, 效果也不错
有些网站在手机上可以访问但是在电脑浏览器无法访问 大家懂的, 此时我们若通想通过浏览器控台提取相应的资源无法实现, 而且真机上的浏览器默认屏蔽了一部分https抓包功能 尤其是Android7.0以上版本机器
此时 我们可以考虑使用模拟器 比如网易模拟器 默认配备了Android6.0的系统, 低版本的系统相对来说限制要少很多
本文为作者原创 转载时请注明出处 谢谢
