有没有搞反汇编的朋友?

茂奇软件 2021-02-06 08:51:36
一直有个想法,搞反汇编。 反汇编是逆向工程的必要工具。 思路其实不难,我们写一些代码,就能编译得到机器码。 整理足够多的机器码,就能做反汇编工具了。 就是工作量和时间问题。 能不能找到搞反汇编的朋友?
...全文
304 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyhitnow 2021-03-30
  • 打赏
  • 举报
回复
不知道你在说什么
茂奇软件 2021-03-06
  • 打赏
  • 举报
回复
引用 1 楼 liups的回复:
不明白! 一、反汇编多了去,还有必要搞么? 二、CPU手册就足够你用了,机器码有必要吗?
想想而已,工程量挺大的。感觉做完很烧钱。
liups 2021-03-06
  • 打赏
  • 举报
回复
不明白! 一、反汇编多了去,还有必要搞么? 二、CPU手册就足够你用了,机器码有必要吗?
icesword1.22添加的小功能有:   1、进程栏里的模块搜索(Find Modules)   2、注册表栏里的搜索功能(Find、Find Next)   3、文件栏里的搜索功能,分别是ADS的枚举(包括或不包括子目录)、普通文件查找(Find Files)   上面是要求最多的,确实对查找恶意软件有帮助   4、BHO栏的删除、SSDT栏的恢复(Restore)   这项算是“鸡肋”项吧,可加可不加。   5、Advanced Scan:第三步的Scan Module提供给一些高级用户使用,一般用户不要随便restore,特别不要restore第一项显示为"-----"的条目,因为它们或是操作系统自己修改项、或是IceSword修改项,restore后会使系统崩溃或是IceSword不能正常工作。最早的IceSword也会自行restore一些内核执行体、文件系统的恶意inline hook,不过并未提示用户,现在觉得像SVV那样让高级用户自行分析可能会有帮助。另外里面的一些项会有重复(IAT hook与Inline modified hook),偷懒不检查了,重复restore并没有太大关系。还有扫描时不要做其它事,请耐心等待。   有朋友建议应该对找到的结果多做一些分析,判断出修改后代码的意义,这当然不错,不过要完美的结果工作很烦琐——比如我可以用一条指令跳转,也可以用十条或更多冗余指令做同样的工作——而目前没有时间完善,所以只有JMP/PUSH+RET的判断。提议下对高级用户可选的替代方案:记住修改的地址,使用进程栏里的“内存读写”中的“反汇编”功能,就先请用户人工分析一下吧,呵呵。   6、隐藏签名项(View- gt;Hide Signed Items)。在菜单中选中后对进程、模块列举、驱动、服务四栏有作用。要注意选中后刷新那四栏会很慢,要耐心等。运行过程中系统相关函数会主动连接外界以获取一些信息(比如去crl.microsoft.com获取证书吊销列表),一般来说,可以用防火墙禁之,所以选中后发现IS有连接也不必奇怪,M$的,呵呵。   7、其他就是内部核心功能的加强了,零零碎碎有挺多,就不细说了。使用时请观察下View- gt;Init State,有不是“OK”的说明初始化未完成,请report一下。   IceSword是一斩断黑手的利刃(所以取这土名,有点e,呵呵)。它适用于Windows 2000/XP/2003/Vista操作系统,用于查探系统中的幕后黑手(木马后门)并作出处理,当然使用它需要用户有一些操作系统的知识。
基础的重要性(程序员之路) 学习编程有几年了,感觉走了不少弯路,而不少的学弟学妹又在重蹈我当初的覆辙,不免有些痛心。最近在网 上也看了许多前辈们的经验建议,再结合自己的学习经历在这里谈谈基础的重要性,希望帮助大家少走些弯 路。 什么是基础呢?就是要把我们大学所学的离散数学,算法与数据结构,操作系统,计算机体系结构,编译原理 等课程学好,对计算机的体系,CPU本身,操作系统内核,系统平台,面向对象编程,程序的性能等要有深层次的掌握。 初学者可能体会不到这些基础的重要性,学习jsp,donet,mfc,vb的朋友甚至会对这些嗤之以鼻,但是一开始没学 好基础就去学jsp或donet会产生很坏的影响,而且陷入其中不能自拔。 我上大二的时候还对编程没什么概念,就上了门C++也不知道能干什么,老师说MFC也不知道是什么东西, 看别的同学在学asp.net就跟着学了,然后就了解到.net,j2ee,php是什么了,就觉得软件开发就是用这些了,而上 的那些专业课又与我们学的sqlserver啊,css啊,ajax啊,毫无关系,就感慨啊,还不如回家自学去就为一个文凭吗? 还不如去培训,浪费这么多钱.于是天天基本上没去上什么课,天天就在做网站,几个学期就做了三个网站。感觉做 这些网站就是学到些技巧,没什么进步,这些技巧就好比别人的名字,告诉你你就知道了,网上也都可以搜到。那时 候就觉得把.net学好就行了,j2ee的比较难,api编程就别想了,操作系统更是望尘莫及了。后来随着学习 的深入和看了网上许多前辈们的建议才对这些基础的重要性有所体会。 虽然.net或java的开发并不直接用到汇编,操作系统这些,但是不掌握这些基础是有很大问题的,因为你只知 其然不知其所有然,在mfc和.net里面控件一拖什么都做好了,很方便,但是出了问题可能就解决不了,有些在 网上搜都搜不到。这就是基础没打好,不知道它的原理就不知道出错的原因。在学.net的时候常会讨论那些控件 该不该用别人说尽量别用也不知道为什么?不让用是因为你在高层开发,你不知道它的原理出错了你可能解决不 了,但其实是应该用的,不然人家开发它干嘛,但要在了解它的原理后去用就会很方便。 要编写出优秀的代码同样要扎实的基础,如果数据结构和算法学的不好,怎么对程序的性能进行优化,怎样 从类库中选择合适的数据结构。如果不了解操作系统,怎样能了解这些开发工具的原理,它们都是基于操作系统 的。不了解汇编,编译原理,怎么知道程序运行时要多长时间要多少内存,就不能编出高效的代码。 如果没有学好基础一开始就去学.net,java这些越往后就会觉得越吃力,它们涉及的技术太多了,而且不但 在更新,对于三层啊,mvc,orm这些架构,你只会用也不明白为什么用,就感觉心里虚,感觉没学好。而你把 面向对象,软件工程,设计模式这些基础学好了再去看这些就可以一不变应万变。 大家不要被新名词、新技术所迷惑.NET、XML等等技术固然诱人,可是如果自己的基础不扎实,就像是在 云里雾里行走一样,只能看到眼前,不能看到更远的地方。这些新鲜的技术掩盖了许多底层的原理,要想真正 的学习技术还是走下云端,扎扎实实的把基础知识学好,有了这些基础,要掌握那些新技术也就很容易了。 开始编程应该先学C/C++,系统api编程,因为它们更接近底层,学习他们更能清楚原理。学好了c/C++ 编程和基础,再去学习mfc,.net这些就会比较轻松,而且很踏实。假设学习VB编程需要4个月,学习基础课程和 VC的程序设计需要1年。那么如果你先学VB,再来学习后者,时间不会减少,还是1年,而反过来,如果先学习 后者,再来学VB,也许你只需要1个星期就能学得非常熟练。 bbs.

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧