Brad Solesky2

通过Exeinfo查看,无壳,使用VC编写.

拉入X64dbg,动态调试查看(使用IDA打开看不到完整的用户程序代码执行流程):

搜索字符串:

 

 点击查看:

向上走就可以发现一个跳转,猜测为判断是否相等的语句,再网上走可以看到一个循环:

 

 再上面,根据字符串信息可以发现,这里是判断输入字符个数的:

 

 对程序进行单步执行分析,上上张图已展示,最后得到一个大数值

在下图的函数中,执行完毕会出现一个完整的字符串,且将大数值eax压入栈,故判断会对大数值进行分解,得到新的字符串:

 

 

采用步过,查看步过函数之后,寄存器,堆栈的返回值有无重要信息,框出来的地方发现了字符串返回,步进查看:

 

 

 不断的查看,步进,步过,发现有一个循环,且有数字不断变化,下断之后重进,一个个的细致查看:

 

 其中唯一一个函数里面:

 

 

 

 即每次都除A,返回获得的余数

 

 然后存入esi指向的地址中.得到返回字符串

 

 与输入进行比较:

 

 完成.

posted @ 2020-06-10 18:50  Rev_omi  阅读(186)  评论(0编辑  收藏  举报