经过IDA反编译后的代码是:
int __cdecl Ompress(void *Dst, int a2, int a3, int a4)//dst( [esp+24h][ebp+4h] );a2([esp+28h][ebp+8h]);a3([esp+2Ch][ebp+Ch]);a4( [esp+30h][ebp+10h] )
{ _BYTE *v4; // ecx
int v5; // esi
char *v6; // edi
signed int v7; // ebp
int result; // eax
int Src; // [esp+4h] [ebp-1Ch]
_BYTE *v10; // [esp+8h] [ebp-18h]
_DWORD *v11; // [esp+Ch] [ebp-14h]
int v12; // [esp+10h] [ebp-10h]
v4 = Dst;
...........}
在OllyDbg里,显示这段汇编是:
sub esp,0x1C
mov eax,dword ptr ss:[esp+0x24] 
mov ecx,dword ptr ss:[esp+0x20]
mov dword ptr ss:[esp+0x8],eax
xor eax,eax
mov edx,0x80
mov dword ptr ss:[esp+0xC],0x0
mov word ptr ss:[esp+0xC],dx
cmp dword ptr ss:[esp+0xC],edx
push ebx
mov ebx,dword ptr ss:[esp+0x2C]
。。。。。。。。。。。。
我从 mov ecx,dword ptr ss:[esp+0x20]这一句,认为这个就是反编译后的 v4 = Dst这一句,这样我判断dst的实际地址是 ss:[esp+0x20],那么其他的参数的地址是不是可以依次向后推4个字节?如果是的话那么为什么od里的dst地址是 ss:[esp+0x20],跟ida编译的不一样?或者实际参数不是这样推导的?这样的话Src的地址应该怎么计算呢?

【转】https://tieba.baidu.com/p/6135060219?red_tag=1477406169

ida吧的更多相关文章

  1. 逆向工程 - Reveal、IDA、Hopper、HTTPS抓包 等

    目录: 一. iOS 如何做才安全 二.ipa文件 三.沙盒 中的数据 四.Reveal:查看 任何APP 的UI结构 五.反编译工具:IDA 六.反编译工具:Hopper Disassembler ...

  2. IDA的脚本IDC的一个简单使用

    目的:主要是想学习一下IDA的IDC的脚本的使用.这里做了一个小的测试. 这里使用的是VS2015Community来生成文件的. 一.编写测试程序: 这里先生成我们的目标数据. 然后编写测试程序.得 ...

  3. 安卓动态调试七种武器之孔雀翎 – Ida Pro

    安卓动态调试七种武器之孔雀翎 – Ida Pro 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是 ...

  4. iOS程序逆向Mac下常用工具——Reveal、HopperDisassemble、IDA

    原文在此 一.Reveal 1 一般使用     Reveal是ITTY BITTY发布的UI分析工具,可以很直观的查看App的UI布局.如下图所示:     Reveal是需要付费的,需要89美元, ...

  5. IDA插件栈字符串识别插件

    该插件是一款可以自动识别栈上局部变量为字符串的插件,字符串形式如下,并自动的加上注释                                       如图:可以自动识别栈上的字符串 项目主 ...

  6. Android动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

  7. 计算机病毒实践汇总六:IDA Pro基础

    在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. IDA使用 (1)搜索.下载并执行IDA Pro,对可执行程序lab05-01.dll进行装载,分别以图形 ...

  8. IDA在内存中dump出android的Dex文件

    转载自http://drops.wooyun.org/tips/6840 在现在的移动安全环境中,程序加壳已经成为家常便饭了,如果不会脱壳简直没法在破解界混的节奏.ZJDroid作为一种万能脱壳器是非 ...

  9. IDA来Patch android的so文件

    在上文中,我们通过分析定位到sub_130C()这个函数有很大可能性是用来做反调试检测的,并且作者开了一个新的线程,并且用了一个while来不断执行sub_130C()这个函数,所以说我们每次手动的修 ...

  10. Ida动态修改android程序的内存数据和寄存器数值,绕过so文件的判断语句

    我们继续分析自毁程序密码这个app,我们发现该程序会用fopen ()打开/proc/[pid]/status这个文件,随后会用fgets()和strstr()来获取,于是我们在strstr()处下个 ...

随机推荐

  1. Vue:列表渲染 v-for on a <template>

    类似于 v-if,你也可以利用带有 v-for 的 <template> 渲染多个元素.比如: <html> <head> <title>Vue v-f ...

  2. java 方法返回多个值

    package java03; /* * 一个方法可以有0,1或者多个参数,但是返回值只能有0或者1个返回值,不能有多个返回值 * 但是如果希望有多个返回值,应该怎么办? * 答:使用数组作为返回值类 ...

  3. mysql官网下载安装

    1.官网下载zip压缩文件 2.解压到指定文件夹 3.配置环境变量 4.新建my.ini 5.管理员权限打开cmd命令行,mysqld install mysql,mysql --initialize ...

  4. Python3.5-20190529-自动登录百度

  5. 前端框架和其他:1.谈谈你对http协议的认识。

    1.http是一种网络数据传输协议  hype text transfer protocol-超文本传输协议 2.传输什么:超文本(html文档) 3.协议遵守方,浏览器和服务器 4.一般的传输流程是 ...

  6. 01.springboot入门--启用自动配置注解EnableAutoConfiguration

    springboot入门 <parent> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  7. Ubuntu下使用天河注意事项

    把下载的.cgi登陆文件用文本编辑器打开,修改端口 用管理员权限打开.cgi才能绑定端口 $ gksu nautilus # browse files as root $ gksu gedit /et ...

  8. Linux批量新建文件夹(大括号表达式的应用)

    如果想要批量新建文件夹来存放照片,按照年份和月份,格式为YYYY-MM.可以使用下面命令批量新建: mkdir {2007..2009}-{01..12} 结果如下: 2007-01 2007-07 ...

  9. 看图了解RocksDB

    它是一个高性能的Key-Value数据库.设计了完善的持久化机制,同时保证性能和安全性.能够良好的支持范围查询,因为K-V记录就是按照Key来排序的. 下图为写入的流程: ​ 可以看到主要的三个组成部 ...

  10. win7搭建局域网时间服务器

    近日,本人想在局域网内通过普通的windows 7 PC搭建一台NTP服务器,可看似简单的配置却给我捣腾了了半天.初期,参考了互联网的上相关的配置文档,可网络设备就是死活不同步NTP服务器的时间.实在 ...