
逆向工程基础
文章平均质量分 86
xiaoyuyulala
一个菜鸟的救赎
展开
-
脱壳学习记录----DLL找OEP
还是做一些加密解密3的学习记录文件链接:https://pan.baidu.com/s/1-KiagpsimjDBsyMF01ouxA 密码:tt8u工具链接:https://pan.baidu.com/s/14dP_ksqM8WvTnKxCZ18xUw 密码:qqr5DLL文件脱壳相比于EXE脱壳困难一些先压缩,要是失败了,就找别的工具吧用PEEditor查看一下加壳后的DL...原创 2018-09-13 14:50:25 · 1726 阅读 · 0 评论 -
DOSBOX----DEBUG初探
为啥开始用这个操作呢我最初的目的是想知道一些特定汇编语句的机器码,用来在IDA里面patch code的时候可以用先讲一下这个东西怎么用吧首先我们需要两个软件,一个是dosbox(用来模拟dos环境),还有格式debug.exe(用来进入debug状态)#dosbox链接:https://pan.baidu.com/s/1T5jXp2amRx37aEJUp4FKuQ 提取码:...原创 2018-10-08 11:05:16 · 6805 阅读 · 2 评论 -
迷宫问题再探究
最近在学习CTF Wiki看到了迷宫问题,给个链接:https://ctf-wiki.github.io/ctf-wiki/reverse/maze/maze/之前在Keyfile的时候有遇见过简易的迷宫问题(贪吃蛇类型)这个文件是个64位文件,直接拖进IDA,函数超级多,且没找到main函数,选择用字符串定位,直接发现了迷宫路径,如下接下来就是看怎么判断越界,以及上下左右如何...原创 2018-09-30 11:54:56 · 613 阅读 · 0 评论 -
160个crackme 持续更新(1\2\3\4\6\8\9)
最近感觉自己啥都不会吧,就算会也就是点皮毛,还是练的太少了,从160个crackme开始慢慢来吧,从简单的开始1.Acid burnOD动态调试一下,靠字符串定位打断点,如下跟进这个函数可以看到明文密码next2.Afkayas.1直接对着字符串打断点,爆破试试看写一下注册机因为这程序是用vb写的,就没法用IDA了,只能看一下汇编先再...原创 2018-11-18 21:58:56 · 724 阅读 · 0 评论 -
reversing.kr 开坑(目前完成19题)暂时断更,自闭ing……
肝就完事了……1.Easy Crack拖进IDA四段拼起来就好。注意顺序2.Easy Unpack让我们找OEP,OD启动直接OEP定律就好3.Easy KeygenFind the Name when the Serial is 5B134977135E7D13拖进IDA关键操作就是一个异或,如下3步一轮回,密钥盒子[0x10,0x20,0...原创 2018-12-05 00:01:52 · 978 阅读 · 1 评论 -
cgctf RE WxyVM1
之前沉迷各种实验,咕了真的有点久了……咕咕咕自己分析虚拟机指令的能力一向是比较弱的,应该说主要就是基本没有练过,打算从简单开始练习基本就是一个这样的一个ELF文件,拖进IDA分析首先分析main函数然后分析函数4005B6流程基本就这样,三个一组,写个脚本逆回去就好脚本,数据特别多……dword_601060 = [0xC4, 0x34, 0x22, 0x...原创 2018-12-08 21:05:46 · 517 阅读 · 0 评论 -
cgctf RE WxyVM2
咕王又来做题了,也不是什么时候会做出来ELF,直接拖进IDA这题有个坑,IDA7.0说这个东西太大了,无法转换成伪C代码,貌似别的版本可以,我就换了个6.8,界面的确是丑了点,但至少可以F5了,但是过程真的好漫长茫茫多的代码,直接拖到最底下老套路,这里所有的dword运算就是WxyVM1中的函数第一步,先把dword_694060里无效的数据全部过滤掉,如下dwo...原创 2018-12-17 15:36:36 · 440 阅读 · 0 评论 -
cgctf RE 480小时精通C++
咕王今天有点膨胀,解决了两个不需要靠脑子,只要靠眼睛的vm题目,就再看一个480小时精通C++,啥意思,看不懂提示拖进IDA,一大堆函数,这……ELF文件在linux底下运行一下,结果如下处理可得加密后的flagbdacsN4jo`q_g<n[Eaw|3vWc[x1q{_tDuw)}可以看到加密后的密文,靠关键字符串定位可以看出是两个两个输出的函数整体如下...原创 2018-12-17 19:56:03 · 509 阅读 · 0 评论 -
cgctf RE Single
应该就是输入正确的字符串就好,拖进IDA其实就是经过了三个函数做变换40070E检查输入的字符是否合法40078B如果输入的不为0,对应的c一定要为0400AD4又是三个函数,革命尚未成功啊400833、4008FE,这两个函数结合起来看似乎会豁然开朗可以感觉到我们在处理一个9*9的棋盘,第一个函数在处理行,第二个函数在处理列,每一个...原创 2018-12-17 22:26:43 · 546 阅读 · 0 评论 -
cgctf RE HomuraVM
咕王也不知道今天能不能做出来,从分值上来看,这个是第二男的题目呢ELF,拖进IDA我听见雨滴落在青青草地,这一堆指令是还没解析过么,还是什么的,比前两个VM难多了最终的判断模块还算OK,起始的v43和最终的v6开始的字符串我们可以知道函数存在两个比较可疑的,8DC和8AA,8DC中还潜套了另外的8AA8AA里就是一大堆getpid8DC最后有个JUMPOUT,跳...原创 2018-12-18 12:51:37 · 487 阅读 · 0 评论 -
初识edb debugger
算是一款针对64位的类OD动态调试器下载流程链接:https://github.com/eteran/edb-debugger/wiki/Compiling-(Ubuntu)下载下来后,我就研究怎么用,发现将我们需要的文件拖进去就好,我们就拿之前做的那个实验吧的例子whatamitoyou来试试看,拖进edb,如下一些键位都是类OD的,主要的变化就是F7\F8\F9使用时,都要...原创 2018-10-04 15:28:25 · 7056 阅读 · 0 评论 -
Linux RE----LD_PRELOAD
最近在学习CTF Wiki,记录一下,用来以后给自己看方便给个链接:https://ctf-wiki.github.io/ctf-wiki/reverse/linux/ld_preload/其实虽然直接接触过64位的一些逆向,但是完全基于Linux的只是来逆向破解还真的没有,一步步来吧原理(摘自原文)正常情况下, Linux 动态加载器ld-linux(见man手册ld-linux...原创 2018-10-03 16:40:20 · 644 阅读 · 0 评论 -
虚拟机分析(经典crackme)
最近在学习CTF Wiki有一块是专门介绍crackme的,就温故一下给个链接:https://ctf-wiki.github.io/ctf-wiki/reverse/vm/vm/打开之后一顿操作,如下图所示直接拖入IDA,看一下调用了什么模块,如下我们可以看到调用了GetDlgItemTextA,(必须的啊,要获得用户的输入嘛,就调用这个API),那这个来定位还是不错...原创 2018-10-02 15:55:18 · 677 阅读 · 0 评论 -
脱壳学习记录----EXE找OEP
参考文献就是加密解密3,算是整合一下自己的学习记录吧,方便以后看脱壳:程序总有自己的初始入口点(OEP),可以为了保护或者是隐藏性破坏,会给程序加上一层壳,这样当你分析带壳的程序时,访问的入口点就不会是OEP,分析程序的时候可以能出吧外壳里的一大堆混淆或者其余代码段读入,导致无法清晰的分析。那么就需要脱壳了,显然第一步就是要找到OEP我们先自己给程序加个壳初始程序链接:https://...原创 2018-09-11 11:04:44 · 493 阅读 · 0 评论 -
Re----第一个安卓逆向
之前做Jarvis OJ上的Re的题目,分值最少的是一道安卓题目,可是我对安卓逆向一窍不通…………链接:https://pan.baidu.com/s/1271cwGI-taQ5-8xdrIoo1Q 密码:iwwh然后就开始第一个安卓Re,自己梳理一下最基础的流程从网上首先下载两个工具:dex2jar 作用:将apk反编译成java源码(classes.dex转化成ja...原创 2018-09-08 14:41:01 · 751 阅读 · 0 评论 -
Re----PE文件格式
以上两张图是PE文件的基本概况,在Windows下所谓PE文件即Portable Executable,意为可移植的可执行的文件。常见的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一个共同特点:前两个字节为4D 5A(MZ)。如果一个文件前两个字节不是4D 5A则其肯定不是可执行文件。 在可执行文件中,要指定内存的地址,在PE文件中的地址...原创 2018-09-07 18:44:21 · 873 阅读 · 0 评论 -
Re----小白有一颗破解Delphi程序的心
Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,即是DOS时代盛行一时的“BorlandTurbo Pascal”,最早的版本由美国Borland(宝兰)公司于1995年开发。这一段来自于百度百科,看出来有多古老了吧,emmmmm,不过一直在更新,至少2014应该发布过新版本那作为一个小白,...原创 2018-09-03 21:12:31 · 3446 阅读 · 0 评论 -
Re----各类加密算法简单的识别技巧(持续更新)
逆向分析程序的时候往往会遇到一些加密解密算法,大家也都知道加密解密算法基本都是公开的,源码满天飞,只要识别出来是什么算法,在根据程序的要求做一些可能的修改就完成了,最重要的就是基础算法的识别,下面就简单介绍一些比较实用的算法识别的小技巧算法的什么消息摘要大家都搜得到,这里的特点主要是逆向分析时的小技巧哦Hash算法:1.MD5 (用PEID可看到MD5)MD5的源码满天飞,最...原创 2018-08-13 12:51:28 · 6809 阅读 · 0 评论 -
软件保护技术----即将被遗忘的CD-Check
本文的例子选自与加密解密第3版:链接:https://pan.baidu.com/s/1w8sKIa15tHjBYo5KBZWtfw 密码:2hmn有一些软件为了防止用户在获得正版软件后,将正版软件拷贝在多台主机上,采用了CD-Check技术,只有将商家配套的光盘插在光驱中,才能正常运行软件Windows下有一些函数用来帮助实现CD-Check这一技术:1、先用GetLogicalDr...原创 2018-08-11 13:38:22 · 844 阅读 · 0 评论 -
软件保护技术----网络验证
例子还是来自与加密解密第三版,具体来讲一下自己怎么解决这个例子的方式例子传送门:链接:https://pan.baidu.com/s/1L3izhMo4Ft1vkMMQSaLI8w 密码:93ub一些软件在运行时会向一些服务器发送获取关键数据的请求,当获取数据后才能正常运行,这就是网络验证技术拦截软件与服务器之间交互的数据包就尤为关键我们现在OD里面运行例子CrackMeNet.e...原创 2018-08-10 12:48:56 · 2197 阅读 · 1 评论 -
软件保护技术----从KeyFile到认识迷宫
例子用的还是加密解密3的例子,就来讲一下自己的做法和收获吧链接:链接:https://pan.baidu.com/s/1AVnM8FaGtbm8TCd6gImvvw 密码:9m16KeyFile其实就是大家在下载软件的时候,如果你购买了正版,一些软件公司可能会发给你一些文件,让你放在目录下面,它的作用其实就是当你使用软件的时候,软件自身会对这些文件的内容进行识别与匹配(肯定是经过一些奇奇怪...原创 2018-08-08 14:37:44 · 879 阅读 · 0 评论 -
软件保护技术----烦人的Nag窗口
大家一定会遇到过一些情况,你下了个软件,因为你没花钱买正版,有时候商家会不断弹出窗口来骚扰你,你觉得So Nag(很烦)那我们可不可以把这个弹窗给消掉,让它别再干扰我呢?坏笑.jpg我们来举个简单的让弹窗消失的例子例子的链接在这里(例子来自己加密解密第三版,看雪大大天下第一):链接:https://pan.baidu.com/s/1pTHw9tlZBWobDCZlF3nXkg 密码...原创 2018-08-07 22:20:11 · 835 阅读 · 0 评论 -
cgctf RE simple machine
cgctf练习平台RE的最后一道了,希望不伤眼睛关键运算就是两个函数,0x804B060处的数据是已知的,逆回去就好48633分析一下里面,还有一些别的函数,这些函数其实是对esp的操作,最后还有pop然后有些迷茫,参考了大老婆的WP:https://blog.youkuaiyun.com/MozhuCY/article/details/81675463重新分析了一下就好多了...原创 2018-12-18 15:33:27 · 435 阅读 · 0 评论