#

Android初学笔记

参考资料:
1.安卓 jni 开发之native方法的动态注册
2.android-ndk
3.Java中JNI的使用
4.Android 通过JNI实现守护进程,使Service服务不被杀死
5.Android JNI和NDK学习
6.[Android Studio 权威教程]AS添加第三方库的6种方式(Jar,module,so等)

helloWord

最近刚好有点时间想学习下Android,ndk要使用一下c语言,就从最熟悉的开始吧,这里简单记录下。网上的例子比较多,都写得比较详细。先来个helloworld吧Android Studio使用新的Gradle构建工具配置NDK环境NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序,基本按照这两篇教程来,中间有什么问题google一下记住一定用google哦。
中间可能需要注意的地方

  • 包不完整各种报错,更新你的Android SDK吧貌似现在没有被墙
  • javah 命令执行不成功,命令执行路径不正确或则你没有make没生成class文件
  • helloword直接崩溃,开logcat error UnsatisfiedLinkError: Native method not found 相信你肯定是写错了,多看看网上的错误分析 仔细检查下

漏洞调试-栈溢出漏洞-cve-2012-0158

##实验环境
操作系统:Windows 7(7600)、office 2007(12.0.4518.1014)
辅助环境: MetaSploit、Windbg、ida pro

##前言
这个漏洞很老,但是很好用,经常看到有利用的文章,之前也没有认真分析过系统漏洞相关的东西(ps 主要是找工作的时候被问漏洞相关的时候自己基本答不上来),所以花上2天时间分析研究下。
网上关于这个漏洞分析的文章比较多,主要看了看雪的那篇分析文章,发现就是一个由于程序员疏忽小于写成大于造成的栈溢出漏洞,比较经典典型。

##漏洞调试

Linux笔记

整理下凌乱的linux学习笔记

环境准备

Vmware系统:backbox-4.5-amd64.iso
Linux主要软件:ida pro、vs code、qt 5、edb、gcc、gdb-peda、Terminator
Windows端:SecureCRT、winscp
主要就是用来学习用用,调调代码学习下gcc gdb,ctf打打酱油,backbox完全能满足需求。准备好这个环境大概需要一下几个步骤,参考以下链接:
1.安装Ubuntu后必须要做的几件事(一)–基础应用篇
2.ubuntu14.04 64位 安装 ia32-libs库
3.ruby更新出错
4.Linux基础精华
5.Unix&Linux技术文章目录(2015-12-22更新)

How to debug a Visual C++ Runtime Error




一个程序总算是把一些异常崩溃这些弄得差不多了,能够长时间稳定运行了,但是还是会随机出现崩溃这个问题,而且崩溃了没提供调试选项,没有装VS,只有复制个windbg过去,然后出现断点 查看堆栈信息
1
2
3
4
5
6
7
0:009> k
ChildEBP RetAddr
064afd8c 779ef826 ntdll!DbgBreakPoint
064afdbc 757833ca ntdll!DbgUiRemoteBreakin+0x3c
064afdc8 77989ed2 kernel32!BaseThreadInitThunk+0xe
064afe08 77989ea5 ntdll!__RtlUserThreadStart+0x70
064afe20 00000000 ntdll!_RtlUserThreadStart+0x1b

Ubuntu Boost使用小记

最近写一个linux版的小程序需要用到Boost库,这里记录下使用。
使用Linux版boost库有两种方式,apt-get和下源码自己编译,这里使用第一种方式。
过程记录

  • 1.sudo apt-get install libboost-dev libboost-thread1.55-dev libboost-system1.55-dev
  • 2.gcc选项 -L/usr/lib -lstdc++ $(PTHREAD) -lboost_thread -lboost_system
  • 3.然后make就可以了

SysinternalsSuite工具使用之Procmon

SysinternalsSuite工具箱是windows系统上强大的系统辅助套装,Procmon是其中最常用的工具之一,是Windows系统下最好用的实时监控工具,功能强大、稳定、兼容性好。可用于监控文件系统、进程线程活动、网络、注册表活动,能够对Windows系统全局事件进行监控,并提供强大的过滤功能,我认为就是监控Windows系统的wireshake。主要用途如下:

  • 注册表:监控注册表的创建、读取、删除或查询操作。
  • 文件系统:监控本地磁盘或网络驱动器中文件的创建、写入、删除等操作。
  • 网络:监控进程的 TCP/UDP 源和目标及流量。
  • 进程:可以被动监控进程和线程的活动,包括线程的启动或退出等。不过通常情况下我们都使用 Process Explorer 来监控进程。
  • 性能分析:Process Monitor 还可以捕获进程的 CPU 时间和内存使用,通常情况下这些信息我们也主要依赖 Process Explorer 来监控分析