![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
re
不干正事的拖延症患者
二进制菜狗
展开
-
【Re】36C3CTF xmas_future
这是一道wasm的逆向题。先分析给的js文件存在一个check函数里面调用了wasm.check,传入了两个参数一个是flag,一个是flag的len。接下来就要对wasm进行分析。先使用开源项目wabt将hxp.wasm文件反编译成C文件hxp.c项目地址:wabt但是这c语言还是比较难理解,用gcc将其其编译成x86架构下的目标文件。gcc -c hxp.c -o hxp.o...原创 2020-01-01 21:56:19 · 444 阅读 · 0 评论 -
【re】 watevrCTF2019_Repyc
这题给了个pyc。先用uncompyle反编译成py。uncompyle6 3nohtyp.pyc >>sss.py打开,然后惊了。# uncompyle6 version 3.6.0# Python bytecode 3.6 (3379)# Decompiled from: Python 3.8.0 (default, Oct 23 2019, 18:51:26) # ...原创 2019-12-16 16:17:35 · 544 阅读 · 0 评论 -
【Re】 HomuraVM
南邮Homura师傅出的一个虚拟机的题目。比较关键的函数。这里根据程序内部的指令序列,进行dispatch,每个字符对应一个代码片段,这边我是看汇编分析的,将每个片段的功能分析了一下,把反调试patch后,稍微动态调一下,还是比较简单就能分析出来。h: ptr+4 (指向输入的下一个字符)o: ptr- 4 (指向前一个字符)u: input[ptr]-1m:input[ptr]+1...原创 2019-11-20 21:21:31 · 309 阅读 · 0 评论 -
iscc_obfuscation and encode
iscc_obfuscation and encode没事做了一道iscc的逆向题,题目还是有点意思的。首先ida反汇编。 发现有两个关键的函数fencode()和encode(),输入的字符串通过这两个函数,最后转换成s1与字符串”lUFBuT7hADvItXEGn7KgTEjqw8U5VQUq”进行比较。先进入到fencode()里看一看。 打开之后惊了,数了一下大概11层循环...原创 2018-05-15 22:08:49 · 764 阅读 · 0 评论 -
(Jarvis Oj)(Re) Classical_CrackMe2
(Jarvis Oj)(Re) Classical_CrackMe2net程序,反编译。动态调试,入口下断,找到入口点。 确定那串奇怪的字符串,应该是关键的类。跟进。浏览一下,找到关键比较函数。 判断条件是text不为空且text2等于一个什么东西。在这下断,查看text,text2内容。 text是用户输入,text2是一串base64字符串,多调试几次发现这个是随着输入在...原创 2018-04-05 14:27:37 · 723 阅读 · 0 评论 -
(160CrackMe)003_Afkayas.2
(160CrackMe)003_Afkayas.2运行程序看看有什么功能。首先跳出一个window,然后过几秒钟才出来输入name/serial的窗口。 第二个窗口上面写着我们的任务,第一个去除nag,应该是说把第一个窗口给kill掉,第二个依旧是找注册码的任务。 首先来做注册码的任务吧~用OD打开,进到程序领空,搜索字符串,找到关键跳转。 依旧关键的注册算法应该就在附近,...原创 2018-04-12 11:32:48 · 215 阅读 · 0 评论 -
(Jarvis Oj)(Re)androideasy
(Jarvis Oj)(Re)androideasy用jeb打开apk文件 相当简单的异或逻辑 ,直接贴代码#include<iostream>#include<vector>using namespace std;int main(void){ vector<int> s={113, 123, 118, 112, 108, 94...原创 2018-03-29 12:01:54 · 501 阅读 · 0 评论 -
(Jarvis Oj)(Re)DD-hello
(Jarvis Oj)(Re)DD-hello丢到ida中,发现主函数和其调用的函数并没有什么有用的信息 但是发现了两个奇怪的函数,跟进 最后有个Final output猜测这是真正解密的函数。找到内置数据。 根据题目逻辑重写解密程序即可 1 #include<stdio.h>2 char cipher[]={0x41,0x10,0x11,0x11,0x1b,0...原创 2018-03-29 10:58:42 · 514 阅读 · 0 评论 -
(Jarvis OJ)(Re)stheasy
(Jarvis OJ)(Re)stheasy丢到ida中反汇编找到main函数 找到关键的check()函数 程序的逻辑大概就是输入一个字符串,先判断长度,在和内置的数据进行对比,相等则return 1,内置数据的变化很简单。 找到.data段中定义的数据。编写程序 1 #include<stdio.h> 2 int main(void){ 3 char...原创 2018-03-29 09:35:56 · 739 阅读 · 4 评论 -
(Jarvis Oj)(Re) android_normal
(Jarvis Oj)(Re) android_normaljeb打开apk 关键函数是stringFromJNI(),查看其来源 是在hellolibs里,于是用ida打开该库,找到函数 有一堆字符串,到内存窗口看看 wtf?? 又把flag瞎搞出来了 ...原创 2018-04-03 18:53:07 · 270 阅读 · 1 评论 -
(Jarvis Oj)(Re) 爬楼梯
(Jarvis Oj)(Re) 爬楼梯首先把apk装上看看是个什么东东。 大概就是每次爬一层楼,爬到就有flag。如果有耐心就点个几万下吧233。用jeb打开。 看看这个to_reach_int是怎么生成的。首先生成一个随机数,然后取绝对值。如果比5大就对32取余,然后再乘16384。然后就想到,诶?对32取余?不是还有个0在里面吗,乘出来还是0,一共32个值概率也有32分之1不是...原创 2018-04-02 21:04:41 · 628 阅读 · 1 评论 -
(160CrackMe)002_Afkayas.1
(160CrackMe)002_Afkayas.1运行程序查看有什么功能。 依旧是name/Serial,用OD加载,先到0x400000附近查找字符串,找到关键跳转。 那么产生注册码的算法就在附近,向上寻找哪里用到了输入的name ,找到关键算法。 由于001在16进制转10进制那里被坑了,所以这次机智的直接拿计算器转换了一下,发现最后确实是16进制转10进制的函数,最后再...原创 2018-04-09 18:48:07 · 175 阅读 · 0 评论 -
(Jarvis Oj)(Re) 软件密码破解1
(Jarvis Oj)(Re) 软件密码破解1首先放到ida中,反汇编出上千个函数,感觉无从下手。于是用od动态调试。先搜索一波字符串。 发现“你赢了!”然后找到相关汇编代码。 找到关键跳转 0x12E1C69地址开始,将ebx中地址的数据和14个字节的数据进行比较。那么ebx中的数据是什么?往上看到一个循环异或操作。eax中的数据就是输入的数据,每次都将一个字节与dl进行异或。...原创 2018-04-01 21:57:26 · 660 阅读 · 0 评论 -
(160CrackMe)001_AcidBurn
(160CrackMe)001_AcidBurn首先打开程序看看有哪些功能。 有两个功能,第一个直接输入serial,第二个是name/serial类型。用OD打开,开始是在系统领空。如何找到关键位置,第一种方法,程序使用了对话框,可以利用OD的messageBox断点找到相应位置。第二种方法,由于程序大多加载到0x400000所以直接到该位置搜索字符串,也可以找到。 先看第一个s...原创 2018-04-08 21:05:58 · 274 阅读 · 0 评论 -
(Jarvis Oj)(Re)Smali
(Jarvis Oj)(Re)Smali安卓的smali文件,有自己的语法,熟悉这个语法可以直接还原成源文件。然而我并看不懂。应为程序比较简单所以靠猜也是可以知道大概意思的。.class public Lnet/bluelotus/tomorrow/easyandroid/Crackme;.super Ljava/lang/Object;.source "Crackme.java"...原创 2018-03-30 12:55:39 · 575 阅读 · 0 评论 -
(Jarvis Oj)(Re) DD-androideasy
(Jarvis Oj)(Re) DD-androideasyapk文件,用jeb打开。找到关键函数。 写得脚本 1 p=[-40, -62, 107, 66, -126, 103, -56, 77, 122, -107, -24, -127, 72, -63, -98, 64, -24, -5, -49, -26, 79, -70, -26, -81, 120, 25, 1...原创 2018-03-30 16:34:30 · 408 阅读 · 0 评论 -
(Jarvis Oj)(Re)Classical crackme
(Jarvis Oj)(Re)Classical crackmefile查看一下文件类型,.Net assembly, for MS Windows是.net文件,开始是想反编译的。但习惯ida先看一下,然后随便点了一个函数,发现可疑的base64字符串。 emmmm解码一下就是flag了。...原创 2018-03-29 22:29:58 · 596 阅读 · 0 评论 -
(Jarvis Oj)(Re)Findkey
(Jarvis Oj)(Re)Findkey首先用file查看下文件类型,发现是python 2.7 byte-compiled文件,应该是pyc文件,改后缀,反编译,得到python文件。关键代码如下: flag = raw_input('Input your Key:').strip()if len(flag) != 17: print 'Wrong Key!!' ...原创 2018-03-29 22:01:42 · 412 阅读 · 0 评论