y1r0nz的个人技术博客

没能力吃而求人,这是懦夫的表现,咬着牙,啃,走出一条属于你自己的大道,但有时命运是残酷的,你还没走上这条大道,就已经挂掉,所以,趁自己还没挂掉,还有很多的时候,加油一把,不用对得起国家,先对得起那些爱着你的人。 by evilcos余弦

C++函数的工作原理

"C++反汇编学习笔记"

前言        在程序编写并且运行过程中,不管是面向对象程序语言和面向过程程序语言,函数作为特有的执行过程体在其中始终占有举足轻重的地位。在程序汇编过程中,大部分汇编器对函数体的解析如出一辙,所以在编码过程中,了解函数体在内存中的表现形式及汇编过程能够较好的帮助自己了解程序底层执行并理解程序在应用层的执行。 函数栈 函数在内存中的表现为栈的形式,栈在内存中是一块特殊的存储空间...

深入理解缓冲区溢出原理

"C++反汇编学习笔记"

前言        由于C语言对于数组引用不进行任何边界检查,数组引用函数get,strcpy,strcat等也未在函数中对数组越界进行合理进行判断,应用程序很容易产生缓冲区溢出的错误。缓冲区溢出不仅对应用程序使用造成影响,一些恶意的脚本程序利用程序缓冲区溢出威胁着系统安全。 从汇编角度理解缓冲区溢出        通常,在栈中分配某个字节数组来保存一个字符串,但是字符串的长度超出了数...

基于Android的ARM指令集学习笔记

"移动安全"

前言     传统android开发倾向于将所有代码部署在android应用层,这种方式在面对软件安全威胁的情况下时比较容易破解。将重要的代码使用android ndk原生层的方式实现,由于ndk原生层代码逆向原本难度较高,使得文件无法轻易被破解。因此,理解和掌握android原生层运行机制对逆向水平的提高有比较大的帮助。 原生程序生成     原生程序的生成需要经过一下几步:预处理...

根据smali源码静态分析android程序

"移动安全"

一、定位关键代码的六种方法 信息反馈法:说白了就是根据程序运行的反馈信息查找突破口(比如登录中验证账户使用的一些警告提示一般会放在string.xml文件中或者硬编码到程序中) 特征函数法:有些函数比较常见,容易根据关键函数寻找突破口,在android sdk中有很多api函数完成这种工作,如Toast等 顺序查看法:少废话直接通读代码 代码注入法:在需要调试的地方家L...

各大厂安全技术类面经总结

"安全技术"

一、某杭州大厂 电话一面 说说web安全有哪些漏洞 什么是sql注入,怎么防御 防御:预编译、使用存储过程、检查数据类型、使用安全函数 有没有了解soap注入 limit语句后面怎么注入这里当时着实不知道凭着自己理解大概说了下sql语句的组成,并需要通过sql语句的构成来应对不同环境, 针对limit注入关键是procedure存储过程和analyze函数 xml注...

C++变量在内存中的位置和访问方式

"C++反汇编学习笔记"

前言        变量在内存中除了有局部变量的类型表示外还可以有全局变量和静态变量等。了解变量的作用域和变量的生存周期对理解原生程序的内存布局和结构有较大的帮助。 变量的作用域        全局变量属于进程作用域,在整个进程中都可以访问到这个全局变量。静态变量属于文件作用域,在当前源码文件中都可以访问。局部变量属于函数作用域,在函数体内都可以访问到。另外,在{}内定义的变量只能在其...

Linux安全运维学习笔记

"安全运维"

linux安全运维几大模块 账户和登陆安全 删除特殊用户和用户组:用户有adm、lp、sync、shutdown、halt,组有 关闭系统不需要的服务:chkconfig 密码策略安全:至少6位以上,使用ssh管理 合理使用sudo、su命令:修改配置文件/etc/shadoers 控制普通用户访问的具体文件:如user01...

C++学习笔记

"C++中的左值与右值"

C和C++中的左值和右值比较起来还是有些出入的,C语言中的左值可以理解为“=”号左边的表达式,不能放到右边,右边表达式同样不能放到左边。 但是C++对与两者的关系做了进一步的深化。下面我大致总结了从从C++对于左值和右值需要注意的地方。 C++左值右值总结 左值是一个对象或者表达式时,是取的对象或表达式在内存中的地址。当对象或者表达式是右值时取的是对象或者表达式的值或...

C++ 学习笔记

"(转)C++中Const详解"

常量 通过const关键字将一个变量定义为常量。 const int bufsize=1024; \\定义时必须初始化 bufsize=1;\\一经定义不能改变它的值 const double PI; \\这将产生语法错误 指向const类型对象的指针 const int *p; p是一个指向int类型对象的指针,但p本身并不是一个常量,也就是说p可以指向任何一个...

apk静态分析

"认识apk文件"

一般静态分析工具思路 一般的工具分析思路分为两种: (1)先使用dex2jar将dex文件转化成.class文件的jar包再使用jd-gui将.class文件jar转化为可以直接查看的源代码。 (2)直接使用apktool逆向dex文件,阅读smali源码和逆向分析.so文件。