
ASM&PE
文章平均质量分 76
yueliang2100
这个作者很懒,什么都没留下…
展开
-
32位CPU所含有的寄存器
4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存器...原创 2016-11-19 11:37:59 · 1042 阅读 · 0 评论 -
OD断点为破解之关键之所在
分享下个人破解加密狗的一个心得:相信大家在很多帖子中看到过这样一个词-断点。断点在很多人的意识中可能很模糊,其实断点就是关键之所在,一个突破口,这样说或许就会清晰很多了。好了看下文: 不同的加密狗,有不同的破解办法,相当的容易找到关键点 能够用通用断点 CreateFileA根本上能够断在相关中央. 有些东西不便当透露了,呵呵, 假如某个软件无狗时提示,那你能够...原创 2016-05-25 22:14:48 · 649 阅读 · 0 评论 -
汇编指令速查
指令 功能 AAA 调整加 AAD 调整除 AAM 调整乘 AAS 调整减 ADC 进位加 ADD 加 AND 与 ARPL 调整优先级 BOUND 检查数组 BSF 位右扫描 BSR 位左扫描 BSWAP 交换字节 BT 位测试 BTC 位测试求反 ...转载 2016-09-09 16:49:34 · 661 阅读 · 0 评论 -
改造PE中的函数为导出函数
1、前言:为什么要这么做 很多时候,我们发现一个PE(EXE或DLL)中非常有用且功能独立的函数(call xxxxxxxx),并且已经知道了这个函数的各个入口参数的类型和具体含义,我们想在其他的软件中使用这个函数。于是,我想到了将这个PE中的函数改成一个导出函数,这样,我们就可以在任何软件中通过“LoadLibrary("ThisPE.EXE")”等API来使用这个函数了。2、技术基础...原创 2016-10-19 13:14:43 · 406 阅读 · 0 评论 -
C++ PE格式文件导出函数
三种不同的解决办法(原理可能是一样的, :) ): 1 )在导出函数声明之前加上__declspec ( dllexport ) 。例:__declspec ( dllexport ) int Add ( int a , int b );__declspec ( dllexport ) int Sub ( int a , int b );__declspec...原创 2016-10-19 13:23:04 · 336 阅读 · 0 评论 -
两种方法获取文件OEP
读取的字段都是一样的,只是一个直接从PE文件中读取,一个映射到内存后再读取1.文件直接访问法[cpp] view plain copyBOOL ReadOEPByFile(LPCTSTR szFileName) { HANDLE hFile; hFile=CreateFile(szFileName,GENERIC_READ,FILE_SHARE_REA...原创 2016-10-19 15:34:19 · 364 阅读 · 0 评论 -
OD常用断点
常用断点(1) 拦截窗口: bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A) 获取窗口文本 拦截消息框: bp MessageBox(A) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndire...原创 2016-10-23 10:53:15 · 327 阅读 · 0 评论 -
常用断点总结
常用的断点有INT 3断点、硬件断点、内存断点等。一、INT 3断点 详细介绍参考《int 3 软中断指令》一文。二、硬件断点1. 硬件断点与DRx调试寄存器有关 1)DR0~DR3:调试地址寄存器,保存需要监视的地址,如设置硬件断点; 2)DR4~DR5:保留,未公开具体作用; 3)DR6:调试寄存器组状态寄存器; 4)DR7:调试寄存器组...原创 2016-10-23 10:59:39 · 2750 阅读 · 0 评论 -
分享几种常见寻找OEP脱壳的方法
学习过程中在网上搜的 大家勿喷啊!!!常见寻找OEP脱壳的方法方法一:1.用OD载入,不分析代码!2.单步向下跟踪F8,是向下跳的让它实现3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——运行到所选)4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现!5.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,这样很快就能到程序的OEP6.在...原创 2016-10-23 11:04:42 · 949 阅读 · 0 评论 -
常见脱壳的查找OEP的方法
常见脱壳方法 预备知识1.PUSHAD (压栈) 代表程序的入口点,2.POPAD (出栈) 代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近3.OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP/FOEP),只要我们找到程序真正的OEP,就可以立刻脱壳。/*****************************************...原创 2016-10-28 16:27:48 · 532 阅读 · 0 评论 -
OD中条件断点的设置方法
OD条件与消息断点的设置方法 编写整理:Coderui 一、条件断点: 使用方法(如): 在当前行按[Shift+F2]键->条件断点(这个不太好用,因为程序BUG偶尔失效)。 在当前行按[Shift+F4]键->条件记录断点(只要设置上条件语句和按什么条件生效就可以了)。 条件语句(如): EAX == 00401000 ...原创 2016-05-25 14:30:10 · 5694 阅读 · 0 评论