自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 记录一次手动脱壳 Jarvisoj Reverse Evil.exe

这个题目的分值是200,对我来说是个不小的挑战啊。查了一下壳,没有发现什么真的这么简单?拖入IDA观察:呃呃呃,果然不简单;在IDA里面没有任何函数的痕迹。只有一个.text段。猜测,应该是加了某种壳对源程序加密过。用OD载入。看到OD的提示,再看到这里的循环pushad,看来应该是有壳,可是工具又查不出来,手动?这时想到了ESP定律,记录个大佬的ESP定律讲解链...

2018-10-20 11:10:49 285

原创 《黑客免杀攻防》读书笔记----修改壳(打补丁)

像一般的杀毒软件、查壳软件(PEID)的工作原理就是,通过查看软件中包含的病毒的特征码、壳的特征码。比较来判断的。一种简单的思路,就是手动(或者工具)找到这些特征码,再在不改变程序的执行效果的情况下,想办法破坏特征码,来达到免查、免杀的目的。记录一次制作北斗壳的补丁。cosh加壳后:9C60E8000000005D83ED078D8D6EFEFFFF8039010F8442020000...

2018-10-12 20:38:48 336

原创 PE文件学习笔记(一)---导入导出表

最近在看《黑卡免杀攻防》,对讲解的PE文件导入表、导出表的作用与原理有了更深刻的理解,特此记录。首先,要知道什么是导入表?导入表机制是PE文件从其他第三方程序(一般是DLL动态链接库)中导入API,以提供本程序调用的机制。而在Windows平台下,PE文件中的导入表结构就承担了完成这一工作的引导者角色。IMAGE_IMPORT_DESCRIPTOR结构typedef struct ...

2018-10-07 14:43:35 3092

原创 寻找最长回文子串算法 ---马拉车

这篇文章算是在CSDN的公众号上看到的一个面试题目的总结与记录。回文串的定义:满足从左到右的字符序列和从右到左的字符序列相同的字符串就是回文串一个很经典的问题,判断一个字符串是不是回文串bool isParamString(string src){ int len = src.length(); for(int i=0;i<len - i -1;i++) ...

2018-10-05 16:45:21 306

原创 看雪 FPC--reverse

很长时间没有在这里记录Writeup了,这次这道题目实在太让我兴奋了。有感而记。拖进IDA;惊奇的发现,除了scanf之外,只需要两个函数就执行到了"Bad.....";依次查看两个验证函数;1.sub_401080  会发现  a1与v2是恒等的,if 不会成立,也就是永远不会“YouGetIt”2.sub_4010D0同样的道理,这里也永远不会"Yo...

2018-10-05 12:20:59 197

转载 gdb初试 --------CG-CTF 480小时精通C++

南京邮电re题第十题参考吾爱论坛:https://www.52pojie.cn/forum.php?mod=viewthread&tid=785877&page=1在linux下运行查看:显示的是加密后的flag。把程序拖进IDA查看,会找到这样一个函数:StringEncryptFunction(unsigned __int8 *a1, int a2)显然...

2018-09-01 19:00:07 962

原创 NYCTF reverse ---------single

这道题目是南京邮电CTF平台的reverse题目single(最后一道,但不是最有难度的一道)题目链接如下:https://cgctf.nuptsast.com/challenges#Re不多讲,拖进IDA分析,如下:__int64 __fastcall main(__int64 a1, char **a2, char **a3){ char s; // [rsp+0h] [r...

2018-08-21 09:21:42 502

原创 crakeme ----- figue3b writeup

首先运行小程序,观察下有什么可以利用的特征。很显然是一个典型的crakeme.下面拖进OD由于有输入框,一般在函数getdlgtextA下断,如下分析知道,name长度最小8,而serial的长度一直是8继续跟踪,找到关键算法段 尤其注意到在ds:[0x402038]位置是一个常量串(可以多尝试),算法比较简单,直接给出破解源码#include<bits/s...

2018-08-14 20:26:27 298

原创 Crakeme -Brad_Soblesky2 writeup

首先运行观察一下小程序发现是一个很典型的crakeme小程序,接下来拖进OD根据上面的尝试,有很明显的提示字符串,可以查找一下,下断。很容易定位到关键算法代码段 如上注释的一般,就是一个很简单的累计算法求和,以十进制保存。跟踪到输出serial,检验判断的是否正确。跟踪得到了"2185826717",检验一下 没毛病就是他!!!最后献上C++写的注册机源...

2018-08-14 19:22:58 209

原创 菜鸡角度的 Crackme #2

首先运行一下程序看下效果,这样下一步动作才会有一定的依据。发现是一个很常见的注册机程序,要求输入序列号和密码。本菜鸡很懒,懒得输入,就按照初始化的输入点击了确认按钮,会发现不出意外地弹出了错误提示。好了,一切都在预料之内。接下来的事情就交给OD了。一、打补丁暴力破解1、在OD下打开程序。会发现这个程序是用VB写的。(有着ThunRTMain函数和典型的间接跳转——先call一个地址,利用这个地址j...

2018-07-06 10:24:21 170

原创 快速幂总结及应用拓展(矩阵为例)

一、快速幂,作为一种求幂次方的高效算法,经常用在各种比赛题目中。以前也碰到过,实践起来也不难,但总会记不清,特此做一下记录。首先,快速幂的思想方法是什么?没错,是二进制。就我来看,它应用二进制的原理大概可以做出如下简述:1.首先我们知道,任何一个数都可以表示成二进制(计算机就是如此)。这个事实就提供了一种思路:将n次幂表示为二进制数。例如,n=13,二进制是1101。这样的话,n=8+4+1;实现...

2018-06-16 12:59:33 228

原创 CSUOJ-----锋芒不露

Description小闪最近迷上了二刀流——不过他耍的其实是剑——新买了一个宝库用来专门存放自己收集的双剑。一对剑有两把,分只能左手用的和只能右手用的,各自有一个攻击力数值。虽然一对剑在小闪刚拿到时是一对,不过其实可以认为它们是独立的两把剑。一对剑的攻击力是左右两把剑的攻击力之和,小闪可以自由地搭配左右剑来练习二刀流。每次小闪得到一对新的双剑,他都可以去更新一次自己的双剑宝库,重新给每把剑配对。...

2018-06-14 19:13:56 437

原创 CSUOJ_小M的移动硬盘

第一次写自己的题解希望大家多多包含。正题:附上题目链接http://acm.csu.edu.cn/csuoj/contest/problem?cid=2157&pid=V题目讲的是要实现对一个有序序列进行三种操作,并输出操作后的序列。1.1 u   表示将u置于序列首2.2 u 表示将u置于序列尾3.3 u v 表示将u置于v后面看到这种问题,这些操作,我当然想到的是链表第一个思路:用了...

2018-06-02 00:16:46 336

空空如也

空空如也

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

TA关注的人

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