Corax的博客

“我想做我能做的事 ”

【160Crackme】《Acid burn》

Crackme

Acid burn 这个有两个需要crack掉的,一个是左边的name和serial,另外一个是右边的serial。一点点来分析好了。 去NAG 这玩意烦的很,去掉先。 双击这里 来到这里,下个断吧。 根据栈的信息找到调用签的信息就是这个call 下个断再来,可以到这个也是函数 根据栈信息找到调用这里的代码 可以看到这里有个je,改成jmp,直接就有了 ...

【160Crackme】《wocy.1》《ACG-crcme1》

Crackme

第二道Crackme做的很爽。 crackmea01 直接打开看看 显示未注册,如果输入正确的name和id应该是有成功的字样的。 先查壳看看基本信息 拿VC写的,无壳。OD 试着定位一下关键字符串 可以看到程序流程还是比较明显的,对我们收入的字符串进行处理后比较,比较决定jnz是否跳转,如果要成功的话应该就是不让他跳。 把他nop掉看看结果。 可以看到...

【技术研究】并行和并发

TEC

突然由TEB转向并行和并发是因为在研究线程和进程的时候,在研究切换线程的问题的时候,不明白在计算机当中,是怎么样在同样进程的不同线程,不同进程的不同线程当中切换的,特此再学习并行和并发。 我的定义: 并发:一个CPU在面对多个任务的时候,将任务分成多个碎块,给每个碎块一定的时间,然后执行第一个碎片,执行完它的时间后根据一定的调度原则去执行下一个碎块。 并行:多个CPU在面对多个任务,不同的C...

【技术研究】线程环境块TEB

TEC

今天继续看逆向工程核心原理,今天看到了TEB,这个部分之前看加密与解密的时候基本上就没看明白,这次打算把环境配置完备,全部都实践一次。 首先看到的是TEB结构体 TEB结构体成员 里面的重要成员有两个 _NT_TIB ProcessEnvironmentalBlock 第二个是个指向结构体的指针 第一个是NT_TIB结构体 这个TIB是线程信息块 第一个是一个意外报错...

【技术研究】线程和进程

TEC

有一句概念“进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。” 分上下句去理解他吧,首先贴一张图 所看到是一个进程的内存空间,分为一些栈区,堆区,一些资源区等等。 “进程是操作系统资源分配的基本单位”,进程包含一个程序的执行实例,说的具体点就是他有自己的内存空间,文件描述符等。进程和进程之间相互独立,隔离,进程之间通过(IPC)来进行数据交换和协作。再具象一点进程...

【资讯阅读】CIO-Application security

TEC


【NSSCTF逆向】《signin》《EZRC4》

CTF

#题目 ##解法 打开看一下 一个待输入命令行,exeinfo 有upx的信息,不过版本号9.96有点可疑,感觉像是修改过的 直接upx脱不了,应该和上次做的那个pzthon一样改过upx信息。 可以看到里面的upx被改成了zvm 改回来 在下面,这里也被修改过,把ZVM改成UPX,版本放着不改 可以看到还是9.96,让upx脱 成功了,至于为什么,后面开篇技术分析讲。 ...

【攻防世界逆向】【高手题】《流浪者》《re4-unvm-me》《tt3441810》《BABYRE》

Crackme

#题目流浪者 ##解法 先运行一下 用exeinfo看一下 ok放进ida, 其实刚给我的是一个这样的winmain函数,没有什么有用的信息(其实也可以直接找start函数) 打开strings窗口看看 这个kanxue。。好像有些意思 是一个判断,最后是str1和kan。。进行判断,对的就pass。 所以关键str1是怎么来的 上面这一串就是对于str1的处理,具体的方法应该是...

【攻防世界逆向】【高手题】《simple-check-100》《re2-cpp-is-awesome》《secret-galaxy-300》《elrond32》《hackme》

Crackme

昨天去参加LitCTF了,一共7道re题目,做出来了4道,后面的几道看了一下,不是现在的我能够解出来的,一没思路二没经验。不过也算满意了,这也算是我第一次参加比赛独立做题,加油吧。 #题目simple-check-100 ##解法 这道题我先打开idapro看了一下, 看起来也不太复杂,不过这种很明显的判断题目,我更想通过动态调试把它解出来,于是我去学习了一下gdb的调试。 先来分析一下...

【攻防世界逆向】【高手题】《re1-100》《EasyRE》《parallel-comparator-200》《simple-check-100》

Crackme

#题目re-100 ##解法 exeinfo 无壳64位 放进ida64 上面很多内容,比较冗长,下面这些判断比较吸睛。大概就是进行一些对比后最后和一个字符串进行比较。直接提交,失败的。那我看一下上面的这个函数做了什么。 是将这个字符串打乱了,打乱了之后才是下面那个。所以我们将原字符串10位分一个,然后重组一年,上面加密过程是3412 还原即可,出现flag (第二行少了个0,要加上...