攻防世界 Reverse 梅津美治郎

攻防世界逆向高手题之梅津美治郎_攻防世界梅津美治郎-CSDN博客

很喜欢这个博主,我跟着他真的学了很多

32位

运行程序

里面肯定有 scanf 和cmp这种

进入程序,看见这个

这么多,我觉得基本上感觉就是

就是这个数据了

只不过加密了一下(因为string里面没有,写多了就知道了)

第一段密钥r0b0RUlez!
直接看见了

来到了debugbreak

还行,并没有检查反动调,只是debugbreak

如果大家写多了

其实知道这就是个异常

SEH

seh里面不是带其他的加密函数,或许带有tls,通过tls来完成类似于hook加密

直接return了

又发现了还有一段函数

往上看一下

看见SEH

刚好也看见了tls,(顺带提一嘴,像这种main函数之前有好多函数的,一般都有tls的)

tls就是在线程开始,或者在main函数开始,结束都会运行一次的函数

但是在这里,我其实没找到第二段加密

但是!

引用了第二段sanf,并且没有smc

找到scanf

两个引用

找到密文了

自己去解吧,哈哈,这么简单

异或2就是

我们现在来分析,这是怎么跳转到这里的?

这段代码看起来是使用C语言编写的,并且涉及到Windows API调用。根据代码内容,我们可以逐步分析其功能:

  1. v3 = lpProcName; - 这行代码将lpProcName变量的值赋给v3lpProcName可能是指向一个函数名称的指针。

  2. ModuleHandleA = GetModuleHandleA(lpModuleName); - 这行代码调用GetModuleHandleA函数获取模块句柄。lpModuleName是指向模块名称的指针,而ModuleHandleA是存储获取到的模块句柄的变量。

  3. ProcAddress = GetProcAddress(ModuleHandleA, v3); - 这行代码使用GetProcAddress函数获取模块中指定函数的地址。ModuleHandleA是模块句柄,v3是指向函数名称的指针,而ProcAddress是存储获取到的函数地址的变量。

  4. ProcAddress(1, sub_40157F); - 这行代码调用之前获取的函数地址,传递两个参数:1sub_40157Fsub_40157F可能是一个函数的地址。

从代码本身来看,并没有直接构造SEH(Structured Exception Handling,结构化异常处理)的代码。SEH通常涉及到__except__try关键字,以及SetUnhandledExceptionFilter函数的使用。然而,代码中调用的函数和传递的参数可能与异常处理有关,这取决于sub_40157Fv3指向的函数的具体实现。

如果sub_40157F是一个异常处理函数,并且v3指向的函数与异常处理有关,那么这段代码可能在某种方式上与SEH相关。但是,仅凭这段代码无法确定是否在构造SEH。需要更多的上下文信息,比如sub_40157Fv3指向的函数的具体实现,以及它们如何被使用。

这一段或许就是seh的地址了

还是错了

到底是怎么拼接上去的呢?

 -- 我服了我傻逼

export里面

我们直接看tls的构造

下班!

吃饭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Nickname

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值