
逆向工程
biyusr
qq:280905365
展开
-
学个锤子 | .Net零基础逆向教程 第三课(壳与作业)
注上面在我遇到过的几个类型的壳里加了备注,即遇到最新版的对应壳时,de4dot是无法脱壳的,需要手动脱壳(复杂情况需要自己动手编写脱壳机)。今天用到的工具是我写的,内容很简单,就是一个注册工具,用户名与注册码不匹配就会注册失败,如果匹配就会成功。既然是新手,既然是菜鸟,就要利用工具的便利,手动脱壳确实需要学习,但不是现在,现在最重要的是“兴趣”!加壳是为了增加逆向的难度,在不影响软件运行的情况下,混淆代码逻辑,降低了代码可读性。先知道了壳是怎么回事,知道有壳与无壳的区别后,慢慢的深入手动脱壳。......原创 2022-07-28 08:42:52 · 1159 阅读 · 0 评论 -
路由器固件解密思路
前期接触iot我们遇到固件基本都是binwalk一把梭,但有时候会遇到固件信息混乱,或者分析出来一堆zlma的文件,没有发现有rtos或者文件系统的标志。如果清楚早期加密方式,或者拥有早期解密程序,可以去分析更换解密程序的中间版本,来获取解密程序。对于经过加密的文件来说,都会想尽办法隐藏自己的信息,而导致很少有重复的内容,也就导致重复概率低。老版有加密,后续更换加密方式,中间更换了新的未加密的解密程序。信息中,重复的内容越多,系统越稳定,能获得的信息越多。初高中应该都学过,熵值越大,说明系统越混乱。...原创 2022-07-27 20:02:08 · 1245 阅读 · 0 评论 -
Android JNI 动态库逆向
经常在一些地方看到类似于这样的介绍:一些重要的字段不要放在Java代码中,需要放在native。 但是事实上,并没有绝对的安全,即使是将数据放在native,我们也可以使用IDA等工具进行查看,对于未加密的常量字段数据,我们可以在数据段直接看到数据内容,即使是通过插入花指令等方式使数据看着没那么容易理解,有经验的逆向者也可以通过代码阅读、调试动态库等方式了解原数据内容。先写一个动态库,内容如下:中的代码内容如下:调用:点击,将生成的动态库复制到目录下,运行。输出日志如下,很正常:首先原创 2022-07-09 12:44:50 · 449 阅读 · 0 评论 -
VMP.Net 3.5 脱壳
步骤 1. 启动KSDumper并通过运行它从内存中转储。步骤 2. 使用CFF Explorer 修复转储文件的部分特征。步骤 3. 现在使用wwh1004 制作的 Demutation Tool清理 VMProtect 的Mutation。步骤 4. 使用de4dot反混淆。步骤 5.使用DarkBullNull 的VMP Killer。步骤 6. 在dnSpy中打开并转到 Module.cctor 并 nop 调用。步骤 7. 破解验证方法。------以上方法来自BlackHat@Tuts 4 Yo原创 2022-07-06 09:17:27 · 5283 阅读 · 6 评论 -
一、CE锁定的应用
1.打开CE载入进程。2.载入进程后我们查询一下我们想查的值。3.当该值变化的时候,我们再次进行查询。4.反复进行多次定位地址后。5.然后对改地址的值进行锁定就可以了。原创 2022-05-22 20:30:56 · 6085 阅读 · 0 评论 -
使用Winhex破解按钮禁用
1.用Winhex打开exe文件。2.搜索按钮的名称。3.找到按钮名称下面一行的有07的标记位。4.把07修改为05保存即可。5.测试下效果哈。原创 2022-05-12 22:49:59 · 938 阅读 · 0 评论 -
DLL依赖查看神奇CFF Explorer
CFF Explorer是一款优秀的PE资源工具,使用CFF Explorer可以方便地查看和编辑PE(EXE/DLL)资源,类似PE资源工具有eXeScope、ResHacker等。使用CFF Explorer可以查看和修改PE文件的资源,可以查看dll文件可供调用的函数,修改函数入口地址达到制造崩溃屏蔽功能的目的。CFF Explorer具有类似DEPENDS的依赖分析功能/hex编辑器/快速反汇编等功能,详见下图:PE(Portable Execute)文件被称为可移植的执行体,常见的EX转载 2021-06-03 10:50:29 · 2216 阅读 · 0 评论 -
delphi程序的逆向方法
1.首先用dede对delphi程序进行反汇编2.可以根据界面上的信息寻找关键点的汇编位置。3.再用od进行跟踪分析。4.今日学习逆向小结。原创 2021-05-07 22:33:04 · 1385 阅读 · 0 评论 -
二进制逆向工程师_逆向工程工具集
helloHex Editor (16进制编辑器)Reverse Engineer's Hex EditorwxMEditwxHexEditorHxDHexinatorPilotEditGHexHex WorkshopMadEdit010 EditorHex Editor NeoWinHexUltraEditFree Hex Editor逆向工程平台Binary NinjaImmunity DebuggerdnSpyTelerik JustDecompileCut转载 2021-03-22 09:34:15 · 913 阅读 · 0 评论 -
2020-12-07
【文章标题】: 必杀技公布——用特征码定位关键代码,秒杀MFC程序【文章作者】: 书呆彭【下载地址】: 自己搜索下载【使用工具】: VC与OllyICE【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!--------------------------------------------------------------------------------【详细过程】 本文所讲的方法,其实是一个很古老的方法了。以前,考虑到此法的杀伤力巨大,不便于公布。 随...转载 2020-12-07 10:06:40 · 139 阅读 · 0 评论 -
c++调试异常的另类神技
1.当c++代码写多的时候,莫名其妙的崩溃,或者报异常。还找不到原因,那下面就用用下面的方法来找错误。在c++项目的入口点加入AddVectoredExceptionHandler(NULL, VectoredHandler);然后写一个方法:LONG CALLBACKVectoredHandler(PEXCEPTION_POINTERS pExceptionInfo){...原创 2020-01-07 18:08:35 · 500 阅读 · 0 评论 -
游戏外挂编程二之C/C++内联汇编代码和DLL
#include "stdafx.h"extern int add(int a,int b);//方法声明int main(int argc, _TCHAR* argv[]){ int re; re=add(1,3);//调用add方法 printf("%d",re); scanf_s("%d",&re);//纯粹为了停顿查看控制台输出的结果 ...转载 2020-01-07 11:33:12 · 374 阅读 · 0 评论 -
FSG2.0壳的脱壳方法
FSG2.0为压缩壳1.单步脱壳法。2.第二个脱壳法就比较神奇了,是利用了调试选项中的sfx的功能。2.1先把od的选项调试中的sfx选项选择“字节方式跟踪真正入口处(速度非常慢)”重新加载程序。2.2等程序加载完成后,重新来到od的选项调试中的sfx选项选择“停在自解压器的入口点”点击确定,程序左下角就开始进行read和write操作,等程序暂停后就到达了OEP。...原创 2020-01-06 08:40:39 · 657 阅读 · 0 评论 -
PE文件的装载过程(4)
上周毕业答辩,没完成任务,惭愧惭愧。。。。可选头的最后一部分是DataDirectory字段,这个字段包含了16个IMAGE_DATA_DIRECTORY结构,结构的定义如下:IMAGE_DATA_DIRECTORYSTRUCTVirtualAddressDWORD?;数据的起始RVAisizeDWORD?;数据...转载 2019-12-28 11:16:48 · 230 阅读 · 0 评论 -
PE文件的装载过程(3)
紧接着IMAGE_FILE_HEADER结构的是IMAGE_OPTIONAL_HEADER32结构,这个结构称为可选头,其中定义了很多重要的信息,可选头的结构如下所示:IMAGE_OPTIONAL_HEADER32STRUCTMagicWORD?;107h=ROMImage,10Bh=exeImageMajorLinkerVersionBYTE?;链接器...转载 2019-12-28 11:15:52 · 247 阅读 · 0 评论 -
PE文件的装载过程(2)
上一篇讲到PE load程序已经找到了PE文件头,PE文件头的定义如下所示:IMAGE_NT_HEADERSSTRUCTSignatureDWORD?;PE文件标识FileHeaderIMAGE_FILE_HEADER<>OptionalHeaderIMAGE_OPTIONAL_HEADER32<>IMAGE_NT_HEAD...转载 2019-12-28 11:12:09 · 357 阅读 · 0 评论 -
PE文件的装载过程(1)
Windows下的可执行文件为PE(Portable Executable File Format/可移植的执行体)格式,文件的组织形式还是比较复杂的,花了大概一个星期的时间终于稍微弄懂了PE文件的装载过程。PE文件最开始的部分称为DOS头,存在的作用是为了兼容DOS下的可执行程序,DOS头的结构如下:IMAGE_DOS_HEADERSTRUCTe_magic...转载 2019-12-28 11:10:52 · 701 阅读 · 0 评论 -
aspack脱壳脚本的编写
1.新建一个脚本文件unpackaspcak.osc2.在osc文件中键入以下文本。var temp --定义一个变量sto --单步步过mov temp,esp --把esp中的内容放入临时变量temp中bphws esp,"r" --设置硬件只读断点run --运行bphwc ...原创 2019-12-23 10:59:27 · 454 阅读 · 0 评论 -
OllyDbg完全教程
OllyDbg完全教程目录第一章概述.................................................................. 1第二章组件.................................................................. 5一、一般原理[General prnciples]转载 2018-01-12 17:18:12 · 1491 阅读 · 0 评论 -
用特征码秒杀各程序语言按钮事件
作者:小童工具:OllyDbg、Delphi程序一个、易语言程序一个、MFC程序一个--------------------------------------------------------------------------------------------------------------------------------------------------------转载 2018-01-05 11:05:50 · 1144 阅读 · 1 评论 -
按钮事件
Delphi & BC++使用Detect it Easy工具确定软件使用的编译器为Delphi或者是BC++,这两个编译器的按钮特征码相同。OD载入程序,反汇编窗口右键->查找->二进制字符串:然后在HEX窗口输入特征码,注意Delphi和BC++的特征码是相同的(“740E8BD38B83????????FF93????????”):注意勾选整个块。特征码中的问转载 2018-01-05 11:20:15 · 1054 阅读 · 0 评论 -
IDA PRO的流程图功能
从4.17版开始IDA PRO就提供了流程图功能,它使用了VCG图形库里面的WinGrah32工具。IDA PRO可以提供标准的GDL图形给WinGrah32来绘制流程图。流程图工具条如下所示。 下面我们来看一些流程图工具的一些具体使用方法。流程图通过流程图来分析一个功能函数,可以清晰的看出程序的流程结构,使得分析更清楚,更容易。使用FlowChart按钮,转载 2018-01-05 12:28:48 · 5022 阅读 · 0 评论 -
IDA使用方法
从4.17版开始IDA PRO就提供了流程图功能,它使用了VCG图形库里面的WinGrah32工具。IDA PRO可以提供标准的GDL图形给WinGrah32来绘制流程图。流程图工具条如下所示。 下面我们来看一些流程图工具的一些具体使用方法。流程图通过流程图来分析一个功能函数,可以清晰的看出程序的流程结构,使得分析更清楚,更容易。使用FlowChart按钮,转载 2018-01-05 17:42:31 · 10297 阅读 · 0 评论 -
OD常用断点和一些常用破解思路
解自校验bpx CreateFileAbpx GetFileSizebpx SetFilePointerbpx ExitProcessF12堆栈调用破解思路C类Point-H法bp GetDlgItem(断输入框)bp MessageBoxA(断对话框)字符串法F12堆栈调用B、D类DEDE、PE Explorer作为强有力的辅助工具关键还是找按妞事件Point-H法bp GetDlgItem(断...转载 2018-02-28 16:28:46 · 2075 阅读 · 0 评论 -
解决OD加载破解程序蓝屏,退出,关机的问题
有时需要破解的软件加有安装,通过od加载后会出现蓝屏,退出,关机的情况,无法进行调试。解决办法:1.先把程序运行起来后。2.通过pchunter工具找到该进程。点击右键暂停该进程,这样就中止了该程序的运行,其中定时器等所有时间都已不再运行。3.这时打开OD对要破解的软件进行附加,然后就可以做破解了。...原创 2018-05-16 11:31:40 · 3629 阅读 · 0 评论 -
OD调试多线程(转)
最近很多逆向都是多线程困扰,所以比较无力,百度了一下!转载过来!转载地址:http://blog.youkuaiyun.com/whatday/article/details/9059281OD只能单线程调试,也就是每次只能跟一条线程。以前我调试时常常迷迷糊糊就进入新线程,而有时又怎么也进不了。。。最近大概明白了一点点。方法:首先是设置StrongOD,如下图:转载 2018-01-12 14:17:28 · 1228 阅读 · 0 评论