- 博客(144)
- 收藏
- 关注
原创 Python爬虫 - 登录csdn
使用`urllib2`、`BeautifulSoup`和`CookieJar`实现登录.<!--more-->使用charles抓包找�
2015-12-24 22:12:57
1741
原创 虚函数的机制
虚函数在类中的体现对象的多态性需要通过虚表和虚表指针来完成,虚表指针被定义在对象首地址的前4字节处,因此虚函数必须作为成员函数使用。 由于非成员函数没有 this 指针,因此无法获得虚表指针,进而无法获取虚表,也就无法访问虚函数。子类对虚函数进行了重写,所以如果是子类的指针,是访问不到父类的成员函数的。而父类的指针可以访问到子类的成员函数。值得注意的是,虽然虚表是共享的,但是虚表指针并不是,类的每
2015-08-25 14:27:41
960
原创 跟踪 Ring3 - Ring0 的执行流程
理论知识SYSENTER 指令是在 Inter Pentium(R) Ⅱ 处理器上作为“快速系统调用”功能的一部分被首次引用的。 SYSENTER 指令进行过专门的优化,能够以最佳性能由 Ring3 层切换到 Ring0 层。 微软首次引用 SYSENTER 指令是在 Windows 2000 的系统上,再次之前微软的系统是通过自陷指令 int 0x2E 进入 Ring0 层的系统空间的。 在
2015-08-22 23:21:44
3516
原创 使用scanf_s输入得到一行带空格的字符串
测试环境:VS2012 Update4测试语言:C++测试代码:#includeint main(int argc,char* argv[]){ char str[20]; scanf_s("%s",str,18); return 0;}在第五行下断点,断下之后我们观察一下 str地址:0x003DF9B8内容
2015-07-23 22:34:14
7028
4
原创 符号即内存,即地址
不多说,上栗子~#include//符号即内存int main(){ int nNum = 'BP51'; int *add ; char c1,c2,c3,c4;//*********************************************** c1 = '\101'; //八进制 c2 = '\x41'; //十六进制 c
2015-03-24 22:25:14
1029
2
原创 缓冲区溢出(1)
缓冲区溢出(1)最最简单的第一次实验....环境:VC 6.0 程序:#include#includevoid jmp(){ printf("success!\n"); _exit(0);}int main(){ int buffer[1]; buffer[2] = 0x00401020; //0x401020 //buff
2015-03-23 19:34:45
1100
14
原创 Ubuntu 查看内存信息
支持的最大内存:sudo dmidecode | grep -P 'Maximum\s+Capacity'内存的插槽数,已经使用多少插槽.每条内存多大,已使用多大内存:sudo dmidecode | grep -P -A 5 "Memory\s+Device" | grep Size|grep -v Range查看内存的工作频率:sudo dm
2015-03-16 20:00:56
1113
原创 GDB调试命令学习
每次来几个命令~gdb ExeName : 开始调试,加-tui选项,分屏调试break 函数名/行号 : 添加断点 (以行号添加时注意编译时要加-g选项,以在可执行文件中保存行号)next(n)/next : 跳跃步数(执行一行,遇到函数不进入函数内部)step : (同next,但是进入函数内部)list : 列出代码上下文
2015-03-16 15:31:42
800
原创 From CS50
Week 1#include#includeint main(){ for(int i=0;i<=10;i++) { printf("update %3d%%\r",i);//"\r"用来回到行首,实现只更新数字的效果 fflush(stdout);//立即显示缓冲区中的内容(实时效果) sleep(1);//from "unistd.h" } printf(
2015-03-11 19:36:04
645
转载 解决安卓手机搜不到 ubuntu 下WIFI热点的问题
来自:http://blog.youkuaiyun.com/olanmomo/article/details/16922565问题是,全部照做了一遍后,成功开启之后还算没有搜到,并且第二次开启时又卡在Starting Wireless Hotspot...这里不动了,无语。。。难道因为我是13.04的原因吗?版本不对?待解决....
2015-03-11 11:23:23
1930
原创 Ubuntu 下安装 vim 时出现无法安装的问题
ubuntu 下安装 vim出现该问题: 1.输入vim时,显示:kiya@kiya-PC:/etc/apt$ vim程序 'vim' 已包含在下列软件包中: * vim * vim-gnome * vim-tiny * vim-athena * vim-gtk * vim-nox请尝试:sudo apt-get install kiya
2015-03-10 17:24:58
5679
1
转载 MSDN Library Visual Studio6.0 简体中文版下载及安装
MSDN Library Visual Studio6.0简体中文版下载地址:cd1http://ftp.sdshiyan.cn/soft/program/DN60ACHS1.rarcd2http://ftp.sdshiyan.cn/soft/program/DN60ACHS2.rar一共有两张盘,下载完后先各个解压,把CD2中MSDN文件夹的内
2015-01-25 12:10:54
14165
原创 Android软件安全与逆向分析——了解Dalvik寄存器
Dalvik寄存器Dalvik虚拟机基于寄存器架构,在代码中大量地使用到了寄存器。Dalvik将部分寄存器映射到了ARM寄存器上(ARM架构的CPU本身集成了多个寄存器),还有一部分则通过调用栈进行模拟。Dalvik用到的寄存器都是32位的,支持任何类型。Dalvik指令的语法为“op vAAAA,vBBBB”,每个大写字母代表4位(16进制),即最大值为2^16=6553
2015-01-14 18:04:54
1991
1
原创 Android软件安全与逆向分析——Dex文件反汇编工具
介绍两种反汇编工具:Baksmali 和 Dedexer测试代码仍然使用Hello.javapublic class Hello{ public int foo(int a,int b){ return (a + b) * (a - b); } public static void main(String[] argc){ Hello hello = n
2015-01-12 23:00:46
1910
原创 Android软件安全与逆向分析——Dalvik是如何执行程序的
Dalvik虚拟机属于Android运行时环境,它与一些核心库共同承担Android应用程序的运行工作。Android系统启动加载完内核后,第一个执行的是init进程,init进程首先要做的就是设备的初始化工作,然后读取inic.rc文件并启动系统中的重要外部程序Zygote。Zygote进程是Android所有进程的孵化器进程,他启动后会首先初始化Dalvik虚拟
2015-01-10 22:44:21
1049
原创 Android软件安全与逆向分析——dalvik虚拟机与Java虚拟机的区别(带实例)
Dalvik虚拟机的特点:体积小,占用内存空间小专有的DEX 可执行文件格式,体积更小,执行速度更快常量池采用32位索引值,寻址类方法名、字段名、常量更快基于寄存器架构,拥有一套完整的指令系统提供了对象生命周期管理、堆栈管理、线程管理、安全和异常管理以及垃圾回收等重要功能所有的Android程序都运行在Android系统进程里,每个进程对应着一dalvik虚拟机实例Da
2015-01-10 19:04:20
1426
原创 Android软件安全与逆向分析——如何分析Android程序
《Android软件安全与逆向分析》之如何分析Android程序进军安全界,找到了关于一本关于Android安全方面的书——丰生强老师的《Android软件安全与逆向分析》,是看雪的版主哦这段时间就好好研读吧~在这里写一写过程和体会~(其实基本上都是书上的内容啦)第一步,自己写一个小的验证注册码的Android工程(然后自己破解,是不是很有自己拱了自己种的白菜的
2015-01-10 02:21:18
3576
1
原创 移动安全的相关方向
一、终端安全 ①应用漏洞 ②系统漏洞 ③病毒木马 ④设备接入管理 网络环境接入,软件权限接入 ⑤移动存储管理 ⑥运维(网络资源)管理 不能够有效阻止恶意程序、病毒的传播,一些行为无法追溯,如盗窃内网资源、恶意的窜改及盗用IP地址、获取非法权 限等不正当行为二、通信安全三、服务端安全四、硬件安全
2015-01-04 21:23:39
1074
原创 递归 —— 整数划分(包括输出划分的具体情况)
整数划分#include#includeusing namespace std;//整数n划分成不大于m的划分个数 int divide(int n,int m){ if(n==1 || m==1) return 1; if(n<1 || m<1) return 0; if(n < m) return divide(n,n); //m不能大于n if(
2014-05-21 13:29:37
4695
原创 第一个struts2工程需要注意的地方
1. 配置web.xml 这个文件里,配置的过滤器的类是:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。和原来配置的类不一样。原来配置的类是:org.apache.struts2.dispatcher.FileDispatcher。这是因为,从struts-2.1.3以后,org.apache.
2014-03-29 16:48:16
760
转载 警告: No configuration found for the specified action: '/myNameSpace/login.action' in names
今天花了点时间把struts2警告事件彻底的测试了一边,终于有点眉目了。希望能给其他人带来一点帮助。文章属于原创。并不需要转载的时候注明出处,而是希望转载的朋友一定要看明白本文内容再转载,因为我你都清楚,现在去google或百度得到的解决方案多数是一致的,说俗点大家都是相互转载的,这不是问题,问题是转载的解决方案有时并不是最理想的答案,简单的说垃圾信息过多。这造成求知者大量的时间流失。希望转贴者要
2014-03-29 16:14:03
793
转载 AsyncHttpClient 帮助文档 (非常有用哦)
Android Asynchronous Http ClientA Callback-Based Http Client Library for Android OverViewAn asynchronous callback-based Http client for Android built on top of
2014-03-11 20:16:34
2803
转载 apcache的gzip与deflate对比
apcache的gzip与deflate对比1. 两者都是使用Gzip压缩算法2. deflate压缩速度略快,gzip压缩比略高。默认情况下,gzip会比deflate多压4%-6%3. gzip对服务器的CPU占用要高一些,deflate是专门为保护服务器性能的压缩模块,它仅需很小的资源来压缩文件mod_deflate可以使用DeflateCompression
2014-03-10 16:18:33
1728
转载 使用Git下载Android源代码
使用Git下载Android源代码除此之外,我们就不得不在计算机上安装Git,然后手动下载源代码。如果有Linux发行版本,可以按照http://source.android.com的文档说明下载最新源代码。如果使用Windows操作系统,那么下载源代码的过程会是一个挑战。首先,必须要安装Git,然后使用它下载想要的Android源码包。说明 关于使用Git下载Androi
2014-02-22 14:43:21
1163
转载 Android APK反编译详解
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。本文Android反编译教程,测试环境:Win7 Ultimate x64Ubun
2013-11-29 21:15:28
790
原创 HDU--1864 -- 最大报销额
最大报销额Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14158 Accepted Submission(s): 3948Problem Description现有一笔经费可以报销一
2013-11-23 21:31:52
925
原创 HDU--2602 -- Bone Collector [01背包]
Bone CollectorTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 23016 Accepted Submission(s): 9334Problem DescriptionMany
2013-11-21 17:44:16
791
转载 去掉android的屏幕上的titlebar
去掉android的屏幕上的titlebar 在进行android开发时,每个Activity会默认带上一个title bar用以显示程序名,有时为了扩大屏幕的显示区域需要去掉这个titlebar,去掉屏幕上的title bar有3个方法, 第一个方法是在代码去掉title bar在Activity的onCreate中加入如下代码:this.requestWin
2013-11-08 21:27:19
757
原创 建立Telnet服务器
加上关机命令: shutdown -s -t 10 之后把班里好多电脑关了,笑死了笑死了1.依次打开:开始->控制面板->管理工具->服务,找到telnet服务;2.如果“启动类型”为“禁止”,则右键:属性->启动类型->手动或自动;3.如果“状态”不是“已启动”,则右键:所有任务->启动;4.然后,打开:开始->运行->cmd;5.
2013-11-08 21:21:42
1091
原创 计算机图形学 -- 变换之旋转二 [鼠标操作]
在上一次的旋转中加入鼠标的动作,按左键加速,右键减速,中键停止滚轮的动作文件中好像没有,总之没有找到,只有键的定义稍后补上#include#include#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"") GLfloat rtri;float add = 0.1
2013-11-08 14:03:06
1630
原创 计算机图形学 -- 变换之旋转一 [金字塔旋转] [各种详解哦]
OpenGL之变换这一次用到的有双缓冲、双缓存技术,空闲调用函数,激活函数(启用功能),平移和旋转等Code:#include#include#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"") GLfloat rtri; //金字塔旋转角度,==这个东
2013-11-07 22:54:08
3287
原创 计算机图形学 -- 基本图形函数练习
1. 基本#include#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")void mydisplay(void){ //glClearColor : 通过glClear使用红,绿,蓝以及AFA值来清除颜色缓冲区,并且缺省值全是0. 即(0,0,0,0) gl
2013-11-07 17:19:30
1870
原创 关于解决“OpenGL程序运行提示glut32.dll丢失问题”
纠结了好长时间,终于找到解决方案啦~OpenGl的源程序,编译通过,但一运行就提示,计算机丢失 glut32.dll文件,C:\WINDOWS\system 32中有这个文件,检查了好多遍了。。主意:因为是64位的系统,要把 glut32.dll 复制到C:\WINDOWS中的SysWOW64的文件夹才对 (1)将gult32.dll,glut.dll复制到window
2013-11-05 20:54:31
1658
原创 练习一下用Java处理大数
低水平飘过HDU1063import java.math.BigDecimal;import java.util.Scanner;public class Main { public static void main(String[] args){ int n; Scanner scanner = new Scanner(Sys
2013-11-05 20:49:01
749
转载 Java之BigInteger
用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂。下面是写的一些Java中一些基本的函数的及其……头文件:import java.io.*; import java.util.*; import java.math.*;读入: Scanner cin = Scanner (System.in); whil
2013-11-05 18:15:35
740
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人