逆向中静态分析工具——IDA初学者笔记之字符串分析 程序中往往包含很多字符串资源,这些资源存在于PE文件的rdata段,使用IDA反编译后,可以查找到这些字符串, 逆向破解程序通常需要一个突破点,而这个突破点,往往就是一个Messagebox,因为这个Messagebox可以很直观的 让我们知道当前位置的代码负责哪些功能,而同时Messagebox可以提供一个字符串让我们来查找定位. 首先,打开IDA,主菜单View-Open subviews-strings: 这时出来一个strings窗口,…
逆向中静态分析工具——IDA初学者笔记 //******************************************************************************//IDA初学者笔记 //******************************************************************************//作者:Cai//日期:2011-10-18//**********************************…
关于apk 逆向中的一些工具的使用,看了不少文章,也使用过有很长一段时间了,今天对此做一总结: 几种文件之间的转换命令: 1. odex -> smali java -jar  baksmali.jar  -a <api_level>  -x <odex_file>  -d <framework_dir> 2.smali ->dex java -Xmax512M -jar samli-2.0.jar  <smali_dir>   -o class…
静态分析:IDA逆向代码段说明 text.idata.rdata.data 通常IDA对一个PE文件逆向出来的代码中, 存在四个最基本的段text.idata.rdata.data, 四个段为PE文件的结构中对应的段. 一.text段: 该段位程序代码段,在该段一开始就可以看到: .text:00401000 ; Segment type: Pure code.text:00401000 ; Segment permissions: Read/Execute 这里的段类型跟权限说明很清楚: 分别…
Analyze 静态分析工具中显示 大量的CF类型指针 内存leak 问题   今天使用Analyze 看了下项目,   解决办法,项目中使用了ARC,OC的指针类型我们完全不考虑release的问题,但是使用CF 的地方就不同,CF类型的指针我们是采用__bridge** 处理的,但是处理的时间还是出现了内存泄漏, CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook);   使用了必须采用CFRelease(re…
Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunction angular.isNumber angular.isObject angular.isString angular.isElement angular.version angular.equals(a,b)      //只要是相同的元素返回true,不同返回假 angular.forE…
JUC中并发工具类 CountDownLatch CountDownLatch是我目前使用比较多的类,CountDownLatch初始化时会给定一个计数,然后每次调用countDown() 计数减1, 当计数未到达0之前调用await() 方法会阻塞直到计数减到0: 使用场景:多用于划分任务由多个线程执行,例如:最近写个豆瓣爬虫,需要爬取每个电影的前五页短评,可以划分成五个线程来处理数据.通过latch.await()保证全部完成再返回. public void latch() throws I…
逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打开. 1.提示使用什么格式打开 因为是PE格式,所以我们选择PE即可.点击OK 2.重新打开一下 如果以前已经打开过这个PE,那么重新打开,则会显示这三个按钮, 1.overwrite 重新写入,代表覆盖以前的.(联系中常用这个,工作中不常用) 2.load existing 加载已经存在,这个很常…
逆向知识第一讲,IDA的熟悉使用 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打开. 1.提示使用什么格式打开 因为是PE格式,所以我们选择PE即可.点击OK 2.重新打开一下 如果以前已经打开过这个PE,那么重新打开,则会显示这三个按钮, 1.overwrite 重新写入,代表覆盖以前的.(联系中常用这个,工作中不常用) 2.load existing 加载已经存在,这个很常用,因为有的时候汇编的注…
最近学习Mybatis的官方文档,看到了[项目文档]一节有很多内容没有见过,做个笔记,理解一下. PMD 扫描Java源代码,查找潜在的问题,如: 可能的bugs,如空的try/catch/finally/switch声明 死亡的代码,没有使用的本地变量,参数和私有方法 不合标准的代码,如String/StringBuffer用法 过于复杂的表达式,如不必要的if表达式 重复的代码,拷贝.粘贴的代码 FindBugs 它用来查找Java代码中存在的bug.它使用静态分析方法标识出Java程序中上…