上一篇 《教我兄弟学Android逆向10 静态分析反调试apk》我带你用jeb+IDA静态分析了反调试apk,并且了解了init_array和jnionload的执行顺序 通过静态patch的方法 我们过掉了反调试验证,但光是静态patch似乎还不过于完美 ,有时候还需要配合动态调试来达到破解的目的,基于上节课你表现良好,那么这节课我将为你带来动态调试init_array的教程,注意认真听课不要眨眼睛呀!
要么学!要么不学!学和不学之间没有中间值 不学就放弃,学就要去认真的学! --致选择
环境:IDA7.0 ,手机:nexus
本节课的内容和上节课相关联,班级新来的同学请从上节课开始学起。
在开始本节课之前你需要先去了解IDA动态调试的相关方法和技巧 https://blog.csdn.net/feibabeibei_beibei/article/details/52740212
现在课程开始 请同学们回想一下上节课我给出的两种过反调试的方法:
1.改android端口号,android_serve的名称和修改内核的方式绕过tracepid的检测。
2.通过修改thread_function函数, SearchObjProcess函数和checkport函数的ARM指令来达到静态patch的目的。
这节课我将给你带来第三种过反调试的方法,也就是动态调试其实方法和第二种雷同 只不过是把静态patch换成了动态 。
一 .关键函数下断点
1.找到init_array段里面的函数thread_function 并在其第一条ARM指令上面按F2下断点。
<ignore_js_op>教我兄弟学Android逆向12 编写xpose模块》
相关文章: