自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

janessa_jp的博客

逆向学习之路

  • 博客(7)
  • 收藏
  • 关注

原创 软件保护技术1

前面两篇学习笔记中,关于crackme的学习,那两个小例子就反映了软件保护中验证用户合法性这一必要环节,这一环节通常采用注册码验证的方式实现。用户码U:用于区别用户的身份注册码R:用于验证用户身份注册机:把R=f(U)中的小f称为注册机验证函数:把F(U,R)中的大F称为验证函数在软件保护的初级阶段中,验证函数与注册机没有本质的区别,即:F(U,R)=f(U)-R。但是上面这种方法很危险,验证函数...

2018-02-11 09:36:11 573

原创 crackme #2 Afkayas.1

简单描述一下过程,具体的解释就省略了,初次接触crackme的可以选择看上一篇crackme#1,会详细很多~~首先我们用OD打开Afkayas.1.exe,F9运行一下,任意输入name/serial:弹框后在OD中F12暂停一下,然后Alt+k查看一下堆栈段:我们看最后一行,调用弹框rtcMsgBox函数,调用这个函数的位置在0040261C处,我们先进入msvbvm5

2018-01-31 19:46:30 283

原创 栈帧

栈帧是什么?利用EBP(栈帧指针)寄存器访问栈内局部变量、参数、函数返回地址等的手段。为单个过程,一个函数调用分配的那部分栈称为栈帧,一个栈帧的底部由EBP指向,作为在该栈帧内访问所有内容的基准(所有访问地址都以该EBP为准相对偏移),ESP则在移动着,作为该栈帧的顶部。栈帧的作用是什么?在程序中用于声明局部变量,调用函数。在函数调用时,将ESP当前的值保存在EBP中,之后以E

2018-01-28 11:24:17 517

原创 函数调用约定

函数调用约定是对函数调用时如何传递参数的一种约定。、      主要的函数调用约定有cdecl、stdcall、fastcall.一、cdecl      主要早C语言中使用,调用者负责处理栈。主要有两条:(1)函数参数以逆序顺序入栈(2)由调用者负责清理压入栈的函数参数。下面我们来看一个实例进行分析:C源代码:#include#includelong add(long

2018-01-28 10:03:09 188

原创

上一篇学习完寄存器,准备开始学习栈帧,但是什么是栈?下面大致了解一下栈的作用主要作用有:暂时保存函数内的局部变量、调用函数时传递参数、保存函数返回后的地址。栈其实是一种数据结构,由高地址向低地址扩展,按照FILO后进先出的原则存储数据。下面看一下栈的示意图:一个进程中,ESP(栈顶指针)初始状态指向栈底端,随着数据的压入(PUSH),ESP上移(向低地址移动),当执行POP指令

2018-01-27 11:41:36 126

原创 IA-32寄存器

在学习栈帧之前补充一点关于IA-32寄存器的内容:寄存器共有四类:1.通用寄存器:用于传送和暂存数据,也可用于参与算术逻辑运算,并保存运算结果。IA-32中八个通用寄存器都是32位,用来保存常量和地址等。如下图:EAX:(针对操作数和结果数据的)累加器,另外还多用于函数返回值中,用于保存返回值。EBX:(DS段中的数据指针)基址寄存器ECX:(字符串和循环操作的)计数器

2018-01-27 11:13:25 1822

原创 PE文件结构学习1

PE是可移植的执行体——Portable Executable File Format一、PE文件种类:可执行系列有两种.exe和.scr.scr 1.是Windows专用的屏幕保护程序的扩展名;2.在AutoCAD中是脚本文件,以记事本方式打开,如果安装了AutoCAD 2004就会被自动改为脚本;3.SCR文件可以转换为EXE文件来运行而不影响内容;window

2018-01-26 09:43:30 457

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除