160 - 38 CyberBlade.2

环境
Windows xp sp3

工具
1.VBExplorer
2.ollydbg

查壳
OD载入往上翻可以看出是vb程序,看到

00401042   .- FF25 60104100 jmp dword ptr ds:[<&MSVBVM50.MethCallEngine>]              ;  MSVBVM50.MethCallEngine

可以知道是p-code的了
测试

OD载入后搜字符串是搜不到的东西了。
参考
《使用OllyDbg从零开始Cracking》第29和30章关于p-code的内容之后就可以分析出来了。

0040E393前面的是一些对输入内容长度格式等判断
0040E393 循环开始
0040E3A6 读入name
0040E3B8 name入栈
0040E3BB 将name从str变成variant类型
0040E3BE 这个是指向上面的variant的指针
0040E3C1 这是取第一个字符函数
0040E3C6 将上面的函数计算出的结果进栈
0040E3C9
0040E3CD 将刚刚进栈的字符转成数值
0040E3D2 将刚刚得到的数值保存起来
0040E3D5 将得到的数值转成10进制然后再转为字符串
0040E3D9 将得到的字符串转回variant
0040E3EF 跳回去0040E3930040E3F5 这里是将上面循环得到的字符串入栈
0040E3F8 得到上面入栈字符串的长度
0040E4020x9比较
0040E404 相等就跳到40E425
0040E407 将上面循环得到的字符串入栈
0040E40A push了一个圆周率
0040E416 字符串转为数值除以3.141592654
0040E41A 将结果入栈
0040E422  jmp 0040E3F50040E425 将上面的结果取整入栈
0040E430 将栈中的值转为16进制后再与0x30F85678进行异或运算
0040E434
0040E438 将上面的计算结果入栈
0040E43E 
0040E4410xD8B3入栈
0040E4450040E438处入栈的值减去0xD8B3,并将结果入栈
0040E449 
0040E44D 
0040E452 
0040E455 0040E45A  开始for循环 
0040E460  
0040E463
0040E464  
0040E46D  读取serial
0040E472  serial入栈
0040E475
0040E478
0040E47A
0040E47D
0040E480  这里push了一个值
0040E481  和输入的serial比较是否相同
0040E483
0040E486
0040E489  相同则跳到0040E48C
0040E48C 
0040E48F  跳回循环0040E4A2 读入serial
0040E4A7
0040E4AA 将字符串转为variant
0040E4AD 将上面的计算的值存了进来
0040E4B0 用字符串的字面值减去上面计算的值
0040E4B4 
0040E4B7 
0040E4C1 读入name
0040E4C6 
0040E4C9 计算name长度
0040E4CF 判断是否相等,不相等就为0
0040E4DE 如果上面判断结果为0就跳到错误消息框,

还是和Native-code代码一样,在分析算法中还是存在许多东西可以跳过的。
指令的位置可以用VBExplorer反编译出来。
然后用OD动态调试观察执行细节就行了

总结起来就是:
将name中每一个字符转成ascii值。
如:abcdefg
变成:979899100101102103

再判断这个值长度是否大于0x9
如果是就除以3.141592654
重复直到长度不大于0x9
于是就有:351021547

再将结果与0x30F85678异或
变成:605323155

减去0xD8B3,
变成:605267680

最后加上name的长度7:
变成:605267687

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

160 - 39 damn

环境 Windows xp sp3 工具 1.exeinfo PE 2.ollydbg 查壳 OD加载就知道有壳了&#xff0c;可以esp定律直接脱掉 exeinfoPE查壳&#xff1a; 测试 点击LOCKED图片会弹出消息框&#xff0c;Register注册按钮无法点击&#xff01; 猜测Register按钮会在输入正确的nam…

160 - 40 DaNiEl-RJ.1

环境 Windows xp sp3 工具 1.exeinfo PE 2.ollydbg 查壳 无壳Delphi程序 测试&#xff1a; 按照说明点到这个注册窗口。 OD载入搜字符串&#xff0c;直接可以定位到这里 0042D4A8 /. 55 push ebp 0042D4A9 |. 8BEC mov ebp,esp 0042D4…

IOS详解TableView——选项抽屉(天猫商品列表)

在之前的有篇文章讲述了利用HeaderView来写类似QQ好友列表的表视图。 这里写的天猫抽屉其实也可以用该方法实现&#xff0c;具体到细节每个人也有所不同。这里采用的是点击cell对cell进行运动处理以展开“抽屉”。 最后完成的效果大概是这个样子。 主要的环节&#xff1a; 点击…

Unicode与JavaScript详解 [很好的文章转]

上个月&#xff0c;我做了一次分享&#xff0c;详细介绍了Unicode字符集&#xff0c;以及JavaScript语言对它的支持。下面就是这次分享的讲稿。 一、Unicode是什么&#xff1f; Unicode源于一个很简单的想法&#xff1a;将全世界所有的字符包含在一个集合里&#xff0c;计算机只…

编辑器使用说明

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来&#xff0c;用它写博客&#xff0c;将会带来全新的体验哦&#xff1a; Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰…

Python3.6 IDLE 使用 multiprocessing.Process 不显示执行函数的打印

要运行的程序&#xff1a; import os from multiprocessing import Process import timedef run_proc(name):print(Child process %s (%s) Running...%(name,os.getpid()))# time.sleep(5)if __name__ __main__:print("Show Start:")print(Parent process %s. % os…

python Requests登录GitHub

工具&#xff1a; python 3.6 Fiddler4 所需要的库&#xff1a; requests BeautifulSoup 首先抓包&#xff0c;观察登录时需要什么&#xff1a; 这个authenticity_token的值是访问/login后可以获取&#xff0c;值是随机生成的&#xff0c;所以登录前要获取一下。 注…

windows下Java 用idea连接MySQL数据库

Java用idea连接数据库特别简单。 首先就是下载好MySQL数据库的驱动程序。 链接&#xff1a;https://dev.mysql.com/downloads/connector/j/ 然后就是选下载版本了&#xff1a; 选个zip格式的嘛。。 下载完后就解压。打开idea&#xff0c;建立个简单的项目 找到这个: …

7-2

#include<stdio.h> int main(void) {int i;int fib[10]{1,1};for(i2;i<10;i)fib[i]fib[i-1]fib[i-2];for(i0;i<10;i){printf("%6d",fib[i]);if((i1)%50)printf("\n");}return 0; } 转载于:https://www.cnblogs.com/liruijia199531/p/3357481.h…

160 - 41 defiler.1.exe

环境&#xff1a; Windows xp sp3 工具&#xff1a; Ollydbg stud_PE LoadPE 先分析一下。 这次的程序要求更改了&#xff0c;变成了这个&#xff1a; defilers reversme no.1 -----------------------The task of this little, lame reverseme is to add some code to…

160 - 44 defiler.1.exe

环境&#xff1a; Windows xp sp3 工具&#xff1a; 1.ollydbg 2.exeinfope 0x00 查壳 无壳就下一步 0x01 分析 随便输入个错的&#xff0c;出现了不知道哪国的语言。有个6&#xff0c;应该就是name的长度要大于6吧 OD载入&#xff0c;搜字符串。 00421BD7 |. 807D…

时间与日期处理

主要有以下类&#xff1a; NSDate -- 表示一个绝对的时间点NSTimeZone -- 时区信息NSLocale -- 本地化信息NSDateComponents -- 一个封装了具体年月日、时秒分、周、季度等的类NSCalendar -- 日历类&#xff0c;它提供了大部分的日期计算接口&#xff0c;并且允许您在NSDate和N…

160 - 45 Dope2112.2

环境&#xff1a; Windows xp sp3 工具 1.ollydbg 2.exeinfope 0x00 查壳 还是无壳的Delphi程序 0x01 分析 这次继续OD载入搜字符串&#xff0c;但是没找到错误信息的字符串。 又因为是Delphi程序&#xff0c;所以可以试一下这样&#xff1a; OD载入后还是搜字符串&…

NAT地址转换原理全攻略

NAT转换方式及原理 在NAT的应用中&#xff0c;可以仅需要转换内部地址&#xff08;就是“内部本地址”转换成“内部全局地址”&#xff09;&#xff0c;这是最典型的应用&#xff0c;如内部网络用户通过NAT转换共享上网&#xff1b;也可以是仅需要转换外部地址&#xff08;就是…

160 - 47 DueList.2

环境&#xff1a; Windows xp sp3 工具&#xff1a; Ollydbg exeinfope 0x00 查壳 无壳的程序 0x01 分析 运行后说需要keyfile&#xff0c;那就创建一个。 OD载入找找看需要的keyfile叫什么名字 00401000 > $ 6A 00 push 0x0 …

如何解决Visual Studio2012 与此版本的Windows不兼容

解决方案&#xff1a; http://www.microsoft.com/zh-CN/download/details.aspx?id36020 下载更新转载于:https://www.cnblogs.com/awodefeng/p/3373343.html

160 - 48 DueList.3

环境&#xff1a; Windows xp sp3 工具&#xff1a; Ollydbg exeinfope 0x00 查壳 无壳的程序 0x01 分析 应该就是选上某个或多个框后点Check就能成功的&#xff0c;那应该就是不同框对应不同的值咯。旁边还有个提示&#xff1a;建议使用资源编辑器。 直接OD载入&#x…

160 - 49 DueList.4

环境&#xff1a; Windows xp sp3 工具&#xff1a; ollydbg exeinfope 0x00 查壳 无壳的程序 0x01 分析 运行后随便输入点东西&#xff0c; OD载入&#xff1a; 00401127 > /6A 00 push 0x0 ; /lParam 0 00401129 …

MD5算法详解

0x00 前言 MD5是一种哈希算法&#xff0c;用来保证信息的完整性。 就一段信息对应一个哈希值&#xff0c;且不能通过哈希值推出这段信息&#xff0c;而且还需要保证不存在任意两段不相同的信息对应同一个哈希值。不过MD5算法算出来的值也就16个字节&#xff08;16*8128&#x…

基于XMPP协议的aSmack源码分析

在研究如何实现Pushing功能期间&#xff0c;收集了很多关于Pushing的资料&#xff0c;其中有一个androidnp开源项目用的人比较多&#xff0c;但是由于长时间没有什么人去维护&#xff0c;听说bug的几率挺多的&#xff0c;为了以后自己的产品稳定些&#xff0c;所以就打算自己研…