- 博客(30)
- 资源 (42)
- 问答 (1)
- 收藏
- 关注
原创 汇编语言之转移指令和原理
1、引言可以修改IP,或同时修改CS和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。8086CPU的转移行为有以下几类:1. 同时修改CS和IP时,称为段间转移,比如:jmp 100:2a7。2. 只修改IP时,称为段内转移,比如:jmp ax。由于转移指令对IP的修改范围不同,段内转移又分为“短转移”和“近转移”。3.
2016-10-31 20:13:47 7495 2
原创 汇编语言之数据处理的2个基本问题
1、bx、si、di和bpBx、si和di这3个寄存器我们已经学过了,现在进行一下总结,并学一下bp。1:在8086CPU中,只有这4个寄存器可以用在[…]中来进行内存单元的寻址。比如,下面的指令都是正确的:Mov ax, [bx]Mov ax, [bx+si]Mov ax, [bx+di]Mov ax, [bp]Mov ax, [bp+si]Mov a
2016-10-31 11:33:48 3045
原创 汇编语言之寻址方式
1、内存单元和[bx]的描述要完整地描述一个内存单元,需要两种信息:1.内存单元的地址;2.内存单元的长度(即是字节单元还是字单元)。如:mov ax, [2a78]表示将一个内存单元中的数据送入ax,这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为2a78H,段地址在DS中。如:mov al, [10f3]表示将一个内存单元中的数据送入al,这个内存单
2016-10-30 23:33:42 3725
原创 汇编语言之寄存器(内存访问)
1、内存中字的存储2、ds和【address】CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址,在8086CPU中,内存地址由段地址和偏移地址组成,其中,段地址存放在段寄存器DS中,DS称作数据段寄存器。如果我们要将内存地址为14A70的内存单元中的数据送入AL中,可以用如下的程序段进行:Mov bx,1000H ;把段地址1000H送入bx中。mov
2016-10-30 23:24:41 15335
原创 汇编语言之寄存器(CPU工作原理)
1、介绍一个典型的CPU,由运算器、控制器、寄存器等器件组成,对于游戏修改者来说,重点学习寄存器,其它不必管。不同的CPU,寄存器的个数、结构是不相同的,8086CPU有14个寄存器,每个寄存器有一个名称,我们对它进行分类:1.通用寄存器:AX、BX、CX、DX2.段寄存器:CS、SS、DS、ES3.指针寄存器:SP、BP4.变址寄存器:SI、DI5.指令指针寄存器:I
2016-10-30 21:17:56 3877
翻译 Android官方开发文档Training系列课程中文版:Android的安全建议 .
原文地址:http://android.xsoftlab.net/training/articles/security-tips.htmlAndroid系统内置的安全策略可以有效的降低应用程序的安全问题。所以默认创建的应用程序已经包含了一定程度的安全保护措施。Android所包含的安全策略有:应用程序沙箱,它可以使APP的数据、代码与其它APP相互隔离。应用程序框架对于常见防护措施
2016-10-30 02:42:49 3049
原创 汇编语言之基础知识
1、机器语言说到汇编语言的产生,首先要讲一下机器语言。机器语言是机器指令的集合。什么是机器指令?我们在使用CE时,常常见到。请看下图:图中所示的就是机器指令(或称机器码),这是十六进制的,如果要让计算机识别,则必须是二进制的。如机器指令 89 5C 2438,转化为二进制是 10001001010111000010010000111000 ,你看得懂这条机器指令的含义是
2016-10-27 19:52:58 3258
转载 HOOK学习笔记与心得
一、 Hook介绍钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 我们知道Windows系统API函数都是被封装到DLL中,在某个应用程序要调用一个API函数的时候,如果这个函数所在的D
2016-10-27 18:05:13 4413 1
转载 linux之telnet命令使用
telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的 能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台
2016-10-26 18:36:12 4858
原创 linux下使用pidcat找bug
第一步:安装pidcat第二步:找到APP的包名比如adb shell ps | grep sangforadb shell pm list package第三步:在ubuntu终端输入pidcat.py 包名结果:
2016-10-25 18:03:53 3536 1
转载 linux之which命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且
2016-10-25 17:13:45 3223
原创 Fisher–Yates shuffle 算法
简单来说 Fisher–Yates shuffle 算法是一个用来将一个有限集合生成一个随机排列的算法(数组随机排序)。这个算法生成的随机排列是等概率的。同时这个算法非常高效。Fisher–Yates shuffle 的原始版本,最初描述在 1938 年的 Ronald Fisher(上图) 和 Frank Yates 写的书中,书名为《Statistical tables for b
2016-10-25 10:09:27 5237 2
转载 Android之 ListView滑动时不加载图片
listview加载图片优化的功能,在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的,而是在滑动停止时,才加载图片了。我们今天就做一个这样的效果吧。我们先考虑两个问题:1、在滑动停止的时候,如何获得需要加载的图片控件?2、因为listiew在初始化完成的时候,OnScrollListener的onScrollStat
2016-10-24 20:35:12 2792
转载 TCP/IP、Http、Socket的区别
TCP/IP、Http、Socket的区别大学学习网络基础的时候老师讲过,网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,三者从本质上来说没有可比性,socket则是对TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解
2016-10-24 19:49:42 2440
原创 Android之android.os.DeadObjectException原因
问题:今天看到客户的手机出现了andorid.os.DeadObjectExceptionandroid.os.DeadObjectException 07-13 18:28:45.398: W/System.err(32272): at android.os.BinderProxy.transact(Native Method)原因:我们项目有2个进程由于re
2016-10-24 11:11:29 14387 4
原创 Android之如何看混淆后的错误日志代码
第一步:找到混淆的mapping.txt文件build -> outputs -> mapping -> release -> mapping.txt或者:1项目目录的progurad下有一个mapping.txt文件 这是混淆后的名字 和原名字的映射关系。第二步:找到项目用的sdk依次定位到sdk -> tools -> proguard -> bin -> p
2016-10-20 15:59:57 10826 2
转载 Wireshark和 TcpDump抓包分析心得
1. Wireshark与tcpdump介绍 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工作环境中的Linux一般只有字符界面,且一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析。在Win
2016-10-19 20:08:20 3223
转载 Android之使用AIDL时的跨进程回调—Server回调Client
首先建立在server端建立两个aidl文件ITaskCallback.aidl 用于存放要回调client端的方法package com.cmcc.demo.server; interface ITaskCallback { void actionPerformed(int actionId); } ITaskBinder.aidl 用于存放
2016-10-18 20:18:59 3450
原创 求字符串的不重复字符的最长子串长度的问题
题目:已知一个字符串,只含有小写字母,求这个字符串的每个字符都不相同的最长子串的长度。比如:abcd 结果是4abcab 结果是3思路:用一个26个元素的整形数组表示一个字符串中是否含有某个字符。a~b分别映射到数组元素0~25。用两个指针分别指向字符串的第一个和第二个元素,用第二个指针从左往右扫描字符串。每扫描一个字符,根据数组
2016-10-14 18:26:51 3159
转载 数据结构-Hash总结(三):实践基础篇
转载请注明出处 http://blog.csdn.net/yankai0219/article/details/8185847问题:1. hash算法主表实现为什么不直接用数组,而使用malloc动态申请?2. 另外每个桶的使用 线性队列 和 双向队列 以及 二级hash的区别以及好处是什么?答案: 1. 1)hash表大小如果是固定的,当然可以采
2016-10-13 17:22:42 3450
转载 数据结构-Hash总结(一):理论学习篇
转载请注明出处http://blog.csdn.net/yankai0219/article/details/8185796零、学习方法 简要学习理论篇,进入程序学习篇,再回头学习理论篇和实践篇一、基本概念 1.Hash定义 Hash定义:将任意长度的输入,通过散列算法,变成固定长度的输出,该输出就是散列值。 hash函数:就是一种将任意
2016-10-13 17:18:55 2666
转载 数据结构-Hash总结(二)
转载:http://blog.csdn.net/liufei_learning/article/details/19220391理解Hash哈希表(hash table)是从一个集合A到另一个集合B的映射(mapping)。映射是一种对应关系,而且集合A的某个元素只能对应集合B中的一个元素。但反过来,集合B中的一个元素可能对应多个集合A中的元素。如果B中的元素只
2016-10-13 17:15:23 2680
原创 愚人节的礼物-栈
题目:四月一日快到了,Vayko想了个愚人的好办法――送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。 输入:本题目包含多组测试,请处
2016-10-13 12:54:36 2780
原创 除掉字符串里面相同的字符
题目:除掉字符串里面相同的字符such as 字符串“aaaabbbccdd” 出去相同的字符就会变成“abcd”代码:#include #include #include void grepString1(char a[]) { int length = strlen(a); int i = 0, j = 0; for (i=0; i < length;
2016-10-12 19:23:31 2674
转载 C语言atoi()函数:将字符串转换成int(整数)和sprintf和memset
atoi()函数#include #include int main (){ int i; char buffer[256]; printf ("Enter a number: "); fgets (buffer, 256, stdin); i = atoi (buffer); printf ("The value entered is
2016-10-12 19:19:46 5392
原创 求字符串里里面字符出现的次数和出现哪些不同的字符的字符串
题目:字符串里里面字符出现的次数和出现哪些不同的字符such as 字符串“aaaabbbccd” 出现a4次,b3次,c2次,d1次,出现的不同字符的字符串为“abcd”代码:#include #include #include void getJustOnce(char* inputArray, char* outputArray, int leng
2016-10-12 11:40:56 2757
原创 贪心算法之最小堆实现霍夫曼编码
贪心算法之最小堆实现霍夫曼编码实现之前需要学习的地方:如果你不了解堆、堆的插入、堆的删除,可以先看下我前面几篇博客http://blog.csdn.net/u011068702/article/details/52712634最详细的最小堆构建、插入、删除的过程图解http://blog.csdn.net/u011068702/article/details/52767187
2016-10-11 22:22:29 9174
原创 堆的构建、堆的插入、堆的删除、堆排序
如果你不了解堆是如何构建、插入、删除、堆排序的原理,可以点击下面连接,有详细的图解,让你知道逻辑原理。http://blog.csdn.net/u011068702/article/details/52712634 最详细的最小堆构建、插入、删除的过程图解http://blog.csdn.net/u011068702/article/details/52767187堆排序
2016-10-09 22:28:53 21907 1
转载 堆排序图片详解
堆排序实例首先,建立初始的堆结构如图:然后,交换堆顶的元素和最后一个元素,此时最后一个位置作为有序区(有序区显示为黄色),然后进行其他无序区的堆调整,重新得到大顶堆后,交换堆顶和倒数第二个元素的位置……堆排序分析 堆排序方法对记录数较少的文件并不值得提倡,但对n较大的文件还是很有效的。因为其运行时
2016-10-09 15:23:27 9349 1
原创 realloc函数使用总结
realloc原型是extern void *realloc(void *mem_address, unsigned int newsize);函数说明语法指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。新的大小可大可小(但是要注意,如果新的大小小于原内存大小,可能会导致数据丢失,慎用!)头文件#include 有些编译器需要#include
2016-10-09 11:59:29 3360
Android之常用命令和工具.pdf
2021-04-01
math-basics.rar
2019-08-01
c_log_to_file.txt
2019-06-15
Source Insight黑色和灰色的背景配置
2019-04-23
Xshell5(Xshell5免费)
2019-03-21
linux shell脚本攻略2
2019-03-06
xshell(windows)
2018-12-05
Android打印当前app的日志工具类
2018-09-20
pidcat.py_in_ubuntu
2018-05-12
pc web access phone file
2017-12-25
MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动
2015-11-30
手机摇一摇震动刷新(支持ListView GridView WebView)
2015-11-09
Android怎么sp怎么确保多进程
2018-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人