|
[求助]汇编调试问题
试试: 1.权限。调试时,进程会继承调试器的高权限,而直接运行时,是默认权限。如果释放的目录有访问限制,就要先执行一段提权的代码。 2.待释放的EXE文件在内存中的定位问题。因为你的代码是添加到一个EXE文件中的,而添加的位置随文件变化。所以内存的位置需要用一些自身定位的代码来实现。 |
|
[求助]问个关于ZwClose的问题
你GetLastError检测一下错误码,看是为什么失败。 |
|
|
|
[求助]masm32、MASMplus可以将asm编译成exe,请问它们能不能将exe反编译成asm?
NASM与NDASM 不过NASM的语法是自自己定义的,在一定程序上可以兼容INTEL汇编语法,但不是完全兼容。 |
|
[求助]关于破解RAR密码
这个问题,论坛搜索一下就知道了。 结论是:除了暴力破解外目前全世界都没有其它解密方法。我不懂密码学,但听说当被加密文件长度小于某个值时(4个字节还是几个字节,记不清了)有算法解密,不具有实用价值。 不明白的,如果想知道原理,自己搜索论坛,如果就是想找破解方法,那么可以死心了。 |
|
[求助]怎样修改PE头后面节表里的一些节信息才能使程序不损坏还能正常运行?
节表中的项是用来描述文件的节的属性的。 如果对应的节发生了变化,那么节表中的项自然需要作出相应的变化。 而如果文件中的节没有变化,而却修改了节表中的项,此时节表中的项就描述了错误的节属性。那么程序就不正确了。 节表的变化是要与文件中的节相对应的。节的内容怎么变,节表就怎么变。 反之,节表怎么变,节本身也应该怎么变。 比如,把.text节的文件偏移地址从0x100移动到0x200,那你就要在.text节前面插入0x100个字节,使它的偏移确实是0x200。否则,节中表指向的0x200就不是正确的.text节了。 |
|
[求助]DConsole运行时间包编译的是什么,该怎么样处理
bp CreateProcessA 或 CreateProcessW |
|
|
|
[求助]非windows API的断点思路
可以用IDA来分析函数,参照流程图和函数交叉引用来寻找。 不过我不明白你说的无法用API断点的事。程序对系统服务的调用,通常是调用API函数。虽然理论上可以直接使用内核的系统调用接口来编程,但对于实际的应用程序,这几乎是不可能的。 最难弄的也就是API调用的变形调用了,比如抽取函数开头的代码等。但只要采取适当的措施,还是可以在程序调用特定的API时断下来的。 |
|
[求助]初学win32汇编,or 指令的一个匪夷所思的问题
我想问题不是出在没有正确设置flag,而是出在你.endif后面的jz指令上了。 因为or指令会改变标志位,而ZF标志影响下面的JZ执行。 中间加上一些“无关紧要”的函数调用,虽然不对flag这个变量操作,但是会改变CPU的标志位的。 你去掉invoke,在jz _Loop这一行下断点,调试一下就知道了。 |
|
[求助]关于实现程序自删除的问题,高手进
这要看你想要的“自删除”的定义是什么了。 你给的那个代码是很经典的一个代码,这里的自删除的定义就是简单的“程序删除自身的可执行文件”。 如果你想要实现的“自删除”,除了删除文件外,还想要代码继续执行,那就需要其它一些技巧。有一款by shell,有这样的功能。我只知道早期版本使用的基本原理是将自身的代码注入到其它进程,比如explorer进程,在宿主进程里完成真正的功能,而本进程剩下的工作就是“自删除”了。至于新版本,不清楚。 |
|
[已解决]lock cmpxchg8b qword ptr [ebp]
cmpxchg8b指令的解释: if(EDX:EAX == DEST) { ZF <- 1; DEST <- ECX:EBX; } ELSE { ZF <- 0; EDX:EAX <- DEST; } |
|
[求助]DConsole运行时间包编译的是什么,该怎么样处理
不是“跑飞”了,是“产崽”了。 |
|
[求助]一个C语言语法的问题,用DDK编译时出错,不解为什么
编译器消息很明确,AddressOfNewISR的type是PVOID,而不是你说的int。 只将类型cast到int即可。即: InterruptGate->HighOffset=(unsigned short)( (int)(AddressOfNewISR)>>16); |
|
[求助]linux下类似于OD的调试修改工具用什么?
try IDA for Linux |
|
|
|
[求助]百思不的其解··
不要返回栈上的变量,这是基本常识。 你用消息框能弹出正确结果是碰巧没有破坏栈上的数据而已,并不表示你的方法就正确。 从堆上申请空间,返回堆空间,但用完了要记得释放,否则就是一处内存泄漏了。 |
|
[求助]学汇编真的是天下无敌吗?
说什么“无敌”之类的话的人,其实大多是新人,因为他了解的不够。 不管学什么,包括编程、逆向,学得越多,就有越多不懂的。所谓“越学越不会”,每个人在学习到一定程度时,都会有这种感觉的。 所以,忘记什么“天下无敌”,忘记什么“速成”、“秘技”、“绝招”的鬼东西。一点一点地学,让自己不懂的东西越来越多,这才是学习,这才是真正的进步。 |
|
|
|
[求助]问个反汇编的小问题
你确定单步时可以走到这里吗?如果确实单步走到这里出错,那么你说的情况是一种可能原因,毕竟intel每一次升级产品,都一定会有新的变化的,而反汇编器的作者有可能没有更上。 不过另一种可能性更大,这里的非法指令是一个seh陷阱。 你设置OD不要忽略非法及特权指令异常,然后运行,如果OD提示发生异常,并提示shift+F7/F8/F9,那就是这里的一处seh陷阱。 还有,你确定这里不是自修改代码吗? |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值