2020年03月24日
使用ida打开发现无法反编译提示是.net平台,使用ILSpy进行反编译,可以看到算法,由于没有安装vc环境,使用python来改写。import hashlib
def func(A_0, A_1):
arr = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
2020年03月24日
看着像rsa分解n :103461035900816914121390101299049044413950405173712170434161686539878160984549 = p*q = 282164587459512124844245113950593348271 * 366669102002966856876605669837014229419以为这个函数是加密函数最后发现其实是十进制转十六进制的算法。。。。# encoding=utf-8
2020年03月24日
学到了一些动态调试技巧使用ida加载,发现函数很少,可能加壳了使用od载入,看到入口很像是加了壳的,在43F019处下个断点,执行到函数oep入口点处。按F9,执行到接收输入处,手动点击暂停, 调试-暂停。然后选择k,查看内核在ReadFile上右键,显示调用,返回到了主程序,可以看到接收参数的函数,在上面打个断点然后按F9,继续运行,随便输入一些字符串,会自动断下来。之后Ctrl+F9执行到返回,F8 return,Ctrl+F9执行到返回,F8 return,Ctrl+F9执行到返回,此时在
2020年03月23日
看雪论坛出的题目 很不错。Str1是从aAbcdefghiabcde这个变量中获取到的,对应的角标是上一个程序传过来的,然后和KanXueCTF2019JustForhappy对比,正确则说明flag正确。先获取各角标的值为[19, 0, 27, 59, 44, 4, 11, 55, 14, 30, 28, 29, 37, 18, 44, 42, 43, 14, 38, 41, 7, 0, 39, 39, 48]之前一直看不明看 a1+4*v4,代表什么,后来才知道这个代表地址的偏移取值,每4字
2020年03月23日
一道非常无聊的题先反编译pyc文件得到下面的代码#!/usr/bin/env python
# encoding: utf-8
import md5
md5s = [
0x831DAA3C843BA8B087C895F0ED305CE7L,
0x6722F7A07246C6AF20662B855846C2C8L,
&n
2020年03月23日
关键点在这循环输出dword_6020C0每个值作为off_6020A0的key来对比,wp如下:s = [0x24,0x00,0x05,0x36,0x65,0x07,0x27,0x26,0x2D,0x01,0x03,0x00,0x0D,0x56,0x01,0x03,0x65,0x03,0x2D,0x16,0x02,0x15,0x03,0x65,0x00,0x29,0x44,0x44,0x01,0x44,0x2B]
d = 'L3t_ME_T3l
2020年03月23日
垃圾题拼出来flag{poppopret},提交上去不对,去掉flag,提交poppopret正确,垃圾!
2020年03月23日
ida打开 主程序第一个if当a2=0时,a1必须等于i,然后跳转到sub_8048414函数计算一下第二个是多少,a1+1 意思是第二个字符,第一步的a2=0,第二步的a2=7*(0+1)%11=7,case==7的时候a1必须为s以此类推,字符串为isengard接着计算第二个函数的算法把这个数组弄下来然后逆推计算即可a = 'ie ndags r'
x = 0
s = []
for&nbs
2020年03月23日
一道没什么逻辑的题,代码中看到kdudpeh,sha1加密后得到flag{80ee2a3fe31da904c596d993f7f1de4827c1450a}
2020年03月23日
ida看到,字符串必须以 53fc275d81 开头,以 4938ae4efd 结尾,经过confuseKey之后,变成{daf29f59034938ae4efd53fc275d81053ed5be8c},点进confuseKey看下关键代码,把字符串分为4份,调换位置,wp如下:s = 'daf29f59034938ae4efd53fc275d81053ed5be8c'
flag = s[20:30] +