IDApro权威代码破解揭秘笔记-2
本篇是关于《IDApro权威代码破解揭秘》的笔记。主要是一些IDA的实战技巧。这部分由于涉及到调试的部分,我就不截图了。写一些要点。建立缓冲区在IDA中,连续分配的局部变量,IDA默认都是一个一个分配的,这就导致如果是一个数组的话,识别起来会很困难,导致代码被曲解。方法是建立缓冲区。指定数组的首地址和大小,IDA便能自动进行优化,从而将很多零散的局部变量转换成基地址加偏移量的数组形式。断点关...
本篇是关于《IDApro权威代码破解揭秘》的笔记。主要是一些IDA的实战技巧。这部分由于涉及到调试的部分,我就不截图了。写一些要点。建立缓冲区在IDA中,连续分配的局部变量,IDA默认都是一个一个分配的,这就导致如果是一个数组的话,识别起来会很困难,导致代码被曲解。方法是建立缓冲区。指定数组的首地址和大小,IDA便能自动进行优化,从而将很多零散的局部变量转换成基地址加偏移量的数组形式。断点关...
本篇是关于《IDApro权威代码破解揭秘》的笔记,学习内容分为两部分,一是OS层面的系统知识,二是IDA脚本编写。内存管理方式以下的地址均是在Intel 32 位下。在64bit模式下分段直接被禁用了,内存完全平坦。虚拟地址(逻辑地址)即是16位里面的段+偏移量的地址表示方式,应用于寄存器寻址中。是80386 的默认内存寻址方式(保护模式)。虚拟地址到线性地址转换:虚拟段地址结合GDT、LD...
本篇是《深入理解计算机系统》的笔记。关于这本书前面的程序结构、硬件电路层我没怎么看,在计组里基本学过,没有深入研究。主要看了后面的Linux系统部分,顺带复习操作系统了。链接——位置无关代码PIC为了使多个进程可以共享一个共享模块的副本,GNU使用加载而无需重定位的代码,即GCC使用-fpic选项生成PIC代码。PIC数据引用无论我们在内存的何处加载目标模块,数据段和代码段之间的距离总是保持...
Android Jni调试JNI_OnLoadJNI_ OnLoad函数大概功能就是在程序加载so的时候,会执行JNI_ OnLoad函数,做一系列的准备工作。很多时候,程序猿们会将一些重要信息放在此函数中,而不是通过某种事件来重复触发。包括说将反调试函数放置在此函数中。因此,调试手段发生了改变,上述调试方法基本上被淘汰。当这种调试手法出现之后,将特殊函数,或者反调试函数放在JNI_ OnL...
Android Jni调试这篇主要是依靠IDA进行调试So库函数,不涉及脱壳和反调试的内容。基础篇基本调试方式。准备工作把ida目录下android_server 传到android 目录中adb push android_server /data/local/tmp/ adb shell su cd /data/local/tmp/ chmod 755/777 android_serve...