逆向笔记014

00401010   push        ebp
00401011   mov         ebp,esp
00401013   sub         esp,50h
00401016   push        ebx
00401017   push        esi
00401018   push        edi
00401019   lea         edi,[ebp-50h]
0040101C   mov         ecx,14h
00401021   mov         eax,0CCCCCCCCh
00401026   rep stos    dword ptr [edi]

00401028   mov         dword ptr [ebp-10h],1;[ebp-10h]=1
;调用    printf
0040102F   push        offset string "\xc7\xeb\xca\xe4\xc8\xeb\xc1\xbd\xb8\xf6\xca\xfd\xa3\xacx\xba\xcdy\xa3\xa
00401034   call        printf (00401160)
00401039   add         esp,4

;调用scanf("%d%d",5,3)
0040103C   lea         eax,[ebp-0Ch]
0040103F   push        eax
00401040   lea         ecx,[ebp-8]
00401043   push        ecx
00401044   push        offset string "%d%d" (00425054)
00401049   call        scanf (00401100)
0040104E   add         esp,0Ch

00401051   mov         dword ptr [ebp-4],1

00401051   mov         dword ptr [ebp-4],1
00401058   jmp         main+53h (00401063)
0040105A   mov         edx,dword ptr [ebp-4]
0040105D   add         edx,1;[ebp-4]+1
00401063   mov         eax,dword ptr [ebp-4]
00401066   cmp         eax,dword ptr [ebp-0Ch]
00401069   jg          main+6Fh (0040107f);如果[ebp-4]<[ebp-0Ch]则跳转
0040106B   mov         eax,dword ptr [ebp-10h]
0040106E   imul        eax,dword ptr [ebp-8];[ebp-10h]=[ebp-08h]*[ebp-10h]
00401072   cdq;将eax中的符号拓展到ecx中
00401073   mov         ecx,3E8h
00401078   idiv        eax,ecx;[ebp-10h]/3E8h  将余数送入edx
0040107A   mov         dword ptr [ebp-10h],edx;[ebp-10h]=edx
0040107D   jmp         main+4Ah (0040105a);跳到0040105a

0040107F   cmp         dword ptr [ebp-10h],64h
00401083   jl          main+90h (004010a0);[ebp-10h]<64h转移
00401085   mov         edx,dword ptr [ebp-10h]
00401088   push        edx
00401089   mov         eax,dword ptr [ebp-0Ch]
0040108C   push        eax
0040108D   mov         ecx,dword ptr [ebp-8]
00401090   push        ecx
00401091   push        offset string "%d^%d\xb5\xc4\xd7\xee\xba\xf3\xc8\xfd\xce\xbb\xca\xc7\xa3\xba%d\n" (00425
00401096   call        printf (00401160)
0040109B   add         esp,10h
0040109E   jmp         main+0A9h (004010b9)

004010A0   mov         edx,dword ptr [ebp-10h]
004010A3   push        edx
004010A4   mov         eax,dword ptr [ebp-0Ch]
004010A7   push        eax
004010A8   mov         ecx,dword ptr [ebp-8]
004010AB   push        ecx
004010AC   push        offset string "%d^%d\xb5\xc4\xd7\xee\xba\xf3\xc8\xfd\xce\xbb\xca\xc7\xa3\xba0%d\n" (0042
004010B1   call        printf (00401160)
004010B6   add         esp,10h

004010B9   xor         eax,eax
004010BB   pop         edi
004010BC   pop         esi
004010BD   pop         ebx
004010BE   add         esp,50h
004010C1   cmp         ebp,esp
004010C3   call        __chkesp (004011e0)
004010C8   mov         esp,ebp
004010CA   pop         ebp
004010CB   ret
时间: 2024-08-03 15:39:08

逆向笔记014的相关文章

[cocos2dx笔记014]一个用于cocos2dx的对象智能指针模板

现在C++智能指针有无数个实现了,多一个也无所谓.哈. 这个智能指针是专门为cocos2dx 2.2.x定制的.主要是为了方便使用,同时又要遵循现有的cocos2dx的内存管理.特实现这样一个智能指针.在使用的时候不需要考虑retain或release操作,也不需要new或delete操作! 下面是实现代码 //在很多时候,类的成员是CCObject的子对象,为了保证对其正常使用,又要遵循cocos2dx的内存管理,特实现了这样的一个智能指针,方便使用. #ifndef _X_COCOS_PTR

【原】Java学习笔记014 - 面向对象

1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // 面向对象思想 6 7 // 回顾编程语言思想进化之路:从面向过程到面向对象 8 9 // 面向过程 10 // 举例: 11 // 1.冰箱门打开 12 // 2.大象放进去 13 // 3.冰箱门关上 14 // [面向过程的思路的着眼点在于动作的功能,思考打开.放入.关闭均为动作] 15 16

逆向笔记

搜周围单位数,会跟到dd [[[0x633DFC]]+0xc3c00]+8 这里是数量那么猜测dd [[[0x633DFC]]+0xc3c00] 是对象 通过查阅发现 [[[[[0x633DFC]]+0xc3c00]+4]+i*4] 就是一个单位 i是数量 0x634ed8 貌似是背包的开始地址下面是没确定的eax 物品ID 随机传送石eax=0xBA D9 f8 每个背包格子是 1f 的结构 这里是背包[634ed8]+(1f*i*4) i从0开始 [0x634ed8] 物品 首地址 这个物品

【excel技巧读书笔记014】工作界面的底部显示计数、求和

设置状态栏,在Excel的工作界面底部,显示各种状态信息,单元格模式.功能键开关等.选中数据会显示求和.计数.平均值.数值计数等.

[国嵌笔记][014][Mini2440安装Linux]

引导安装步骤 相关介绍: 开发板软件构成:Bootloader.嵌入式操作系统.嵌入式文件系统 JTAG接口常用于对flash等器件进行编程,常见的JTAG下载线有并口和USB接口两种 硬件连接: 1.Flash选择开关拨到Nor Flash启动 2.连接好JLink与开发板 3.打开开发板电源 软件安装: 1.安装JLink驱动 2.连接开发板 J-Flash->file->Open Project->2440.jflash->Target->Connect 3.下载辅助安

秉心说 2019 博文合集

这里是 秉心说 的知识金字塔 . 掘金没有文章分类的功能,每次想找以前的文章都比较费劲. 微信公众号的阅读体验又不忍吐槽.个人网站也还没有搭建完成. 所以把之前的所有文章都备份到此仓库,作为永久链接长期维护. 我的开源项目 Box -- 我的开发助手 真香!Kotlin+MVVM+LiveData+协程 打造 Wanandroid! AndroidUtilCodeKTX !是时候提升你的开发效率了 !(持续更新中...) AndroidUtilCodeKTX !是时候提升你的开发效率了 !(更新

Andriod逆向学习笔记

本文涉及到的所有内容均来自互联网或者书籍.禁止用于其他任何商业,非商业/不正当用途. 1.准备 android sdk,java是必须的.另准备apktool和jd-gui.见这篇blog. 将apktool所在的目录加到环境变量 2.先来一个简单的,修改跳转逻辑. 先写个sample,第一个activity界面上一个输入框,一个按钮,输入“zuoshu”时点击按钮会跳转到第二个activity.输入其他内容则finish(). 将编译出来的apk放到d:\hack\Inject.apk,命令行

IOS逆向分析笔记——replay逆向分析

正常找出视频或者图片处理文件的GL脚本就是找出脚本加载的函数glshadersource断下就好了,上周在分析replay的时候很奇怪IDA没有找到glshadersource这个函数,于是我在反汇编窗口里搜索glshadersource,找到了很多用到它的相关函数,于是一一尝试没有一个能断下,想到图像处理一定要调用GL脚本,于是搜索GLSL找到相关函数还是没有一个能断下,于是又所有打开文件的函数依然没有断下 于是茫然了,试了很多方法,搜索了视频相关的函数,找到捕捉输出的缓冲区样本函数didou

逆向中静态分析工具——IDA初学者笔记

逆向中静态分析工具--IDA初学者笔记 //******************************************************************************//IDA初学者笔记 //******************************************************************************//作者:Cai//日期:2011-10-18//**********************************