คำถามติดแท็ก reverse-engineering

วิศวกรรมย้อนกลับเป็นกระบวนการค้นหาหลักการทางเทคโนโลยีของอุปกรณ์วัตถุหรือระบบที่มนุษย์สร้างขึ้นผ่านการวิเคราะห์โครงสร้างหน้าที่และการทำงาน

30
จะหลีกเลี่ยงวิศวกรรมย้อนกลับของไฟล์ APK ได้อย่างไร
ฉันกำลังพัฒนาแอปประมวลผลการชำระเงินสำหรับ Android และฉันต้องการป้องกันไม่ให้แฮ็กเกอร์เข้าถึงทรัพยากรทรัพย์สินหรือซอร์สโค้ดจากไฟล์APK หากมีคนเปลี่ยนนามสกุล. apk ให้เป็น. zip พวกเขาสามารถคลายซิปและเข้าถึงทรัพยากรและทรัพย์สินทั้งหมดของแอปได้อย่างง่ายดายและใช้dex2jarและตัวถอดรหัสของ Java พวกเขายังสามารถเข้าถึงซอร์สโค้ดได้ มันง่ายมากที่จะทำวิศวกรรมย้อนกลับไฟล์ Android เอพีเค - สำหรับรายละเอียดเพิ่มเติมโปรดดูที่กองมากเกินคำถามวิศวกรรมย้อนกลับจากไฟล์ APK โครงการ ฉันใช้เครื่องมือ Proguard ที่มาพร้อมกับ Android SDK เมื่อฉันแปลงไฟล์ APK ที่สร้างโดยใช้ keystore ที่ลงนามแล้วและ Proguard ฉันจะได้รับรหัสที่สับสน อย่างไรก็ตามชื่อของส่วนประกอบ Android ยังคงไม่เปลี่ยนแปลงและบางรหัสเช่นรหัสคีย์ที่ใช้ในแอพยังคงไม่เปลี่ยนแปลง ตามเอกสารของ Proguard เครื่องมือไม่สามารถทำให้ส่วนประกอบสับสนที่กล่าวถึงในไฟล์มานิเฟสต์ ตอนนี้คำถามของฉันคือ: ฉันจะป้องกันวิศวกรรมย้อนกลับของ APK Android ได้อย่างสมบูรณ์ได้อย่างไร เป็นไปได้ไหม ฉันจะปกป้องทรัพยากรทรัพย์สินและซอร์สโค้ดทั้งหมดของแอปเพื่อให้แฮกเกอร์ไม่สามารถแฮ็คไฟล์ APK ในทางใดทางหนึ่งได้อย่างไร มีวิธีใดที่จะทำให้การแฮ็กยากขึ้นหรือเป็นไปไม่ได้ ฉันสามารถทำอะไรได้อีกเพื่อปกป้องซอร์สโค้ดในไฟล์ APK ของฉัน


30
ปกป้อง. รหัส NET จากวิศวกรรมย้อนกลับ?
การทำให้งงงวยเป็นวิธีหนึ่ง แต่ก็ไม่สามารถป้องกันจากการทำลายการรักษาความปลอดภัยการป้องกันการละเมิดลิขสิทธิ์ของแอปพลิเคชัน ฉันจะแน่ใจได้อย่างไรว่าแอปพลิเคชันไม่ได้ถูกดัดแปลงและฉันจะแน่ใจได้อย่างไรว่ากลไกการลงทะเบียนไม่สามารถทำการวิศวกรรมย้อนกลับได้? นอกจากนี้ยังเป็นไปได้ที่จะแปลงแอปพลิเคชัน C # เป็นโค้ดเนมและXenocodeมีราคาแพงเกินไป C # มีคุณสมบัติมากมายและเป็นภาษาที่เหมาะสำหรับรหัสของฉันดังนั้นการเขียน codebase ทั้งหมดอีกครั้งใน C ++ ไม่เป็นไปตามคำถาม ใบรับรองความปลอดภัยสามารถลบออกได้อย่างง่ายดายจากชุดประกอบที่ลงนามใน. NET


14
วิธีปฏิบัติที่ดีที่สุดสำหรับการจัดเก็บและปกป้องคีย์ API ส่วนตัวในแอปพลิเคชัน [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน9 เดือนที่ผ่านมา นักพัฒนาแอพส่วนใหญ่จะรวมห้องสมุดบุคคลที่สามเข้ากับแอพของพวกเขา ถ้าเป็นการเข้าถึงบริการเช่น Dropbox หรือ YouTube หรือการบันทึกการขัดข้อง จำนวนไลบรารีและบริการของบุคคลที่สามกำลังส่าย ไลบรารี่และบริการส่วนใหญ่นั้นได้รับการบูรณาการโดยการรับรองความถูกต้องกับบริการส่วนใหญ่แล้วเกิดขึ้นผ่านคีย์ API เพื่อวัตถุประสงค์ด้านความปลอดภัยบริการมักจะสร้างสาธารณะและเอกชนมักจะเรียกว่าเป็นความลับที่สำคัญ น่าเสียดายที่เพื่อเชื่อมต่อกับบริการคีย์ส่วนตัวนี้จะต้องใช้ในการตรวจสอบและด้วยเหตุนี้อาจเป็นส่วนหนึ่งของแอปพลิเคชัน ไม่จำเป็นต้องพูดเลยว่าสิ่งนี้กำลังเผชิญกับปัญหาด้านความปลอดภัยอันยิ่งใหญ่ คีย์ API สาธารณะและส่วนตัวสามารถดึงมาจาก APK ในเวลาไม่กี่นาทีและสามารถเป็นอัตโนมัติได้อย่างง่ายดาย สมมติว่าฉันมีบางสิ่งที่คล้ายกันนี้ฉันจะป้องกันรหัสลับได้อย่างไร: public class DropboxService { private final static String APP_KEY = "jk433g34hg3"; private final static String APP_SECRET = "987dwdqwdqw90"; private final static AccessType ACCESS_TYPE = AccessType.DROPBOX; …

29
รายการของดัชนี & ดัชนีคอลัมน์ทั้งหมดใน SQL Server DB
ฉันจะรับรายการคอลัมน์ดัชนี & ดัชนีทั้งหมดใน SQL Server 2005+ ได้อย่างไร สิ่งที่ฉันจะได้ใกล้ที่สุดคือ: select s.name, t.name, i.name, c.name from sys.tables t inner join sys.schemas s on t.schema_id = s.schema_id inner join sys.indexes i on i.object_id = t.object_id inner join sys.index_columns ic on ic.object_id = t.object_id inner join sys.columns c on c.object_id = t.object_id and ic.column_id …

7
ฉันจะถอดรหัส. NET EXE ให้เป็นซอร์สโค้ด C # ที่อ่านได้ได้อย่างไร
ฉันเขียนแอปพลิเคชัน C # สำหรับลูกค้าเมื่อสองสามปีก่อน แต่ฉันไม่มีซอร์สโค้ดอีกต่อไป ทั้งหมดที่ฉันมีคือ EXE ที่ฉันปรับใช้บนพีซีของลูกค้า มีวิธีที่ฉันสามารถสร้างซอร์สโค้ด C # จาก EXE หรือไม่

4
สร้างแผนภาพคลาส UML จากโครงการ Java [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มีเครื่องมือที่ดีที่สามารถช่วยในการย้อนกลับวิศวกร Java คลาสกับ UML ที่จะแสดงภาพรวมของวิธีการที่ชั้นเรียนของฉันมีความสัมพันธ์กัน? ไม่จำเป็นต้องแปลจากไฟล์ JAR เพราะฉันมีที่มา ฉันรู้ว่ามีไม่กี่ที่นั่น แต่ส่วนใหญ่สามารถสร้างชั้นเรียนเฉพาะบุคคล ฉันหวังว่าจะมีเครื่องมือที่สามารถสร้างคลาสไดอะแกรมที่แสดงภาพรวมว่าคลาสและแพ็กเกจปัจจุบันทั้งหมดของฉันทำงานร่วมกันได้อย่างไรเพื่อให้ฉันสามารถวิเคราะห์การออกแบบสถาปัตยกรรมปัจจุบันของฉันได้ แน่นอนการวิเคราะห์เป็นสิ่งหนึ่ง ส่วนอื่น ๆ มีไว้เพื่อวัตถุประสงค์ด้านเอกสาร ฉันรู้ไม่กี่จนถึง แต่พวกเขาไม่สามารถทำแผนภาพคลาสภาพรวมได้ นี่คือรายการเครื่องมือ Java UML ที่ฉันได้ลองและสามารถทำ reverse engine ได้ แต่ไม่สามารถทำไดอะแกรมคลาสภาพรวมของโครงการทั้งหมดของฉัน: StarUML ( เครื่องมือOpensource UML ดีจริง ๆแต่ไม่สามารถสร้างไดอะแกรมคลาสภาพรวมไม่ได้) ArgoUML (ช้าและอืดและยังคงพังอยู่) UModel (เป็นซอฟต์แวร์เชิงพาณิชย์ฉันใช้มาก่อนหน้านี้แล้ว แต่มันยากที่จะใช้) MS Visio (ไม่รองรับวิศวกร Java …

18
คุณทราบได้อย่างไรว่าเว็บไซต์ใดสร้างขึ้นบนเทคโนโลยี [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน5 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ บ่อยครั้งที่ฉันเจอเว็บไซต์ที่ดูดีหรือใช้งานได้ดีและสงสัยว่าเทคโนโลยีใดที่ใช้สร้างมัน มีเทคนิคใดบ้างที่ใช้ในการพิจารณาว่าเว็บไซต์ใดที่สร้างขึ้นด้วย? ดูเหมือนว่ากรอบงานบางส่วนจะรวมเมตาแท็กของเครื่องมือสร้างใด ๆ เช่นตัวแก้ไขเว็บ มีสัญญาณบอกเล่าเรื่องราวของภาษาและ / หรือกรอบงานเฉพาะหรือไม่? สรุปคำตอบ URL ของไซต์อาจหักหลังกรอบงานและ / หรือภาษาการเขียนโปรแกรม แต่ไม่สามารถพึ่งพาได้ (เช่นนามสกุลไฟล์เช่น. asp) ส่วนหัวการตอบสนอง HTTP, คุกกี้, สไตล์ชีตและความคิดเห็นของแหล่งที่มาอาจให้เบาะแส เครื่องมือที่ดีสำหรับการสอบถามรายละเอียดเว็บไซต์ (ไม่ต้องสงสัยเลยว่ามีอีกมากมาย): BuiltWith DomainTools NetCraft W3Techs SimilarTech ส่วนเสริมของ Firefox: Wappalyzer - CMS, กรอบงาน / ห้องสมุด, อีคอมเมิร์ซ, กระดานข้อความ ฯลฯ รายละเอียดโดเมน - รายละเอียด …

6
โปรไฟล์ iBeacon Bluetooth คืออะไร
ฉันต้องการสร้าง iBeacon ของตัวเองด้วยชุดอุปกรณ์บลูทู ธ พลังงานต่ำบางตัว Apple ยังไม่ได้เปิดตัวสเปคสำหรับ iBeacons แต่นักพัฒนาฮาร์ดแวร์บางคนกลับทำการออกแบบ iBeacon จากโค้ดตัวอย่าง AirLocate และเริ่มขายชุดอุปกรณ์ iBeacon ดังนั้นโปรไฟล์ iBeacon Bluetooth คืออะไร Bluetooth Low Energy ใช้ GATT เพื่อค้นหาบริการโปรไฟล์ LE ดังนั้นฉันคิดว่าเราจำเป็นต้องรู้ถึง Attribute Handle, Attribute Type, Attribute Value และบางทีสิทธิ์ Attribute ของแอตทริบิวต์ iBeacon ดังนั้นสำหรับ iBeacon ที่มี UUID ของ E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 ค่าหลัก 1 และค่ารอง 1 บริการโปรไฟล์ GATT Bluetooth จะเป็นอย่างไร …

5
มีตัวถอดรหัส C ++ หรือไม่? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีโปรแกรมที่ฉันทำซอร์สโค้ด C ++ หาย มีตัวถอดรหัส C ++ ที่ดีหรือไม่? ฉันวิ่งข้ามบูมเมอแรงแล้ว

1
จุดประสงค์ของ [1] นี้ในตอนท้ายของการประกาศโครงสร้างคืออะไร?
ฉันกำลังสอดแนมไฟล์ส่วนหัวของไมโครคอนโทรลเลอร์ MSP430 ของฉันและฉันพบสิ่งนี้ใน<setjmp.h>: /* r3 does not have to be saved */ typedef struct { uint32_t __j_pc; /* return address */ uint32_t __j_sp; /* r1 stack pointer */ uint32_t __j_sr; /* r2 status register */ uint32_t __j_r4; uint32_t __j_r5; uint32_t __j_r6; uint32_t __j_r7; uint32_t __j_r8; uint32_t __j_r9; uint32_t __j_r10; uint32_t …

10
ฉันจะค้นหาโครงสร้างข้อมูลที่แสดงถึงเลย์เอาต์ของ Minesweeper ในหน่วยความจำได้อย่างไร
ฉันกำลังพยายามเรียนรู้เกี่ยวกับวิศวกรรมย้อนกลับโดยใช้ Minesweeper เป็นแอปพลิเคชันตัวอย่าง ฉันพบบทความ MSDNเกี่ยวกับคำสั่ง WinDbg ง่ายๆที่เปิดเผยการขุดทั้งหมด แต่เก่าแล้วไม่มีการอธิบายรายละเอียดใด ๆ และไม่ใช่สิ่งที่ฉันกำลังมองหา ฉันมีIDA Pro disassemblerและตัวแก้จุดบกพร่อง WinDbgและฉันได้โหลด winmine.exe ลงในทั้งสองตัว ใครสามารถให้คำแนะนำที่เป็นประโยชน์สำหรับโปรแกรมเหล่านี้ในแง่ของการค้นหาตำแหน่งของโครงสร้างข้อมูลที่แสดงถึงเขตข้อมูลของฉัน ใน WinDbg ฉันสามารถตั้งค่าเบรกพอยต์ได้ แต่มันยากสำหรับฉันที่จะจินตนาการว่าจุดใดที่จะตั้งเบรกพอยต์และตำแหน่งหน่วยความจำใด ในทำนองเดียวกันเมื่อฉันดูรหัสคงที่ใน IDA Pro ฉันไม่แน่ใจว่าจะเริ่มหาฟังก์ชันหรือโครงสร้างข้อมูลที่แสดงถึงเขตข้อมูลของฉันได้ที่ไหน มี Reverse Engineers บน Stackoverflow ที่สามารถชี้ฉันไปในทิศทางที่ถูกต้องหรือไม่?

11
ปุ่ม Imageless ของ Google
เมื่อเร็ว ๆ นี้มีบทความบางส่วนเกี่ยวกับปุ่มไร้ภาพใหม่ของ Google: http://stopdesign.com/archive/2009/02/04/recreating-the-button.html http://stopdesign.com/eg/buttons/3.0/code.html http://stopdesign.com/eg/buttons/3.1/code.html http://gmailblog.blogspot.com/2009/02/new-ways-to-label-with-move-to-and-auto.html ฉันชอบการทำงานของปุ่มใหม่เหล่านี้ใน Gmail มาก ฉันจะใช้ปุ่มเหล่านี้หรือปุ่มที่คล้ายกันบนไซต์ของฉันได้อย่างไร มีโครงการโอเพ่นซอร์สที่มีรูปลักษณ์และความรู้สึกคล้ายกันหรือไม่? หากฉันต้องการม้วนแพ็กเกจปุ่มของตัวเองแบบนี้โดยใช้ JQuery / XHTML / CSS ฉันจะใช้องค์ประกอบใดได้บ้าง ความคิดเริ่มต้นของฉันคือ: มาตรฐาน<input type="button">กับ css เพื่อปรับปรุงรูปลักษณ์ (บทความการออกแบบส่วนใหญ่พูดถึง css / imges เกี่ยวข้อง) jquery javascript เพื่อเปิดกล่องโต้ตอบแบบกำหนดเองที่รูทไปยังปุ่มบนเหตุการณ์ "onclick" ซึ่งจะมี<a>แท็กอยู่ในนั้นและแถบค้นหาสำหรับการกรอง เค้าโครงตารางสำหรับป๊อปอัปนั้นจะมีเหตุผลหรือไม่? ฉันแย่มากในการทำวิศวกรรมย้อนกลับบนเว็บมีเครื่องมืออะไรบ้างที่ฉันสามารถใช้เพื่อช่วยทำวิศวกรรมย้อนกลับปุ่มเหล่านี้ได้ การใช้แถบเครื่องมือนักพัฒนาเว็บของ Firefox ฉันมองไม่เห็น css หรือ javascript (แม้ว่าจะถูกย่อขนาด) ที่ใช้ในกล่องโต้ตอบป๊อปอัปของปุ่ม ฉันสามารถใช้เครื่องมือเบราว์เซอร์ใดหรือวิธีการอื่นใดเพื่อดูและรับแนวคิดบางอย่าง ฉันไม่ต้องการขโมย IP ใด ๆ …

6
ฉันจะป้องกันชื่อผู้ใช้และรหัสผ่าน MySQL จากการถอดรหัสได้อย่างไร
.classไฟล์Java สามารถถอดรหัสได้ค่อนข้างง่าย ฉันจะป้องกันฐานข้อมูลของฉันได้อย่างไรหากต้องใช้ข้อมูลล็อกอินในรหัส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.